32 lines
1 KiB
C#
32 lines
1 KiB
C#
|
|
using LightBDD.Framework;
|
||
|
|
using LightBDD.Framework.Scenarios;
|
||
|
|
using LightBDD.MsTest3;
|
||
|
|
namespace PlanTempus.X.BDD.Scenarios;
|
||
|
|
|
||
|
|
[TestClass]
|
||
|
|
public partial class AccountRegistrationSpecs : FeatureFixtures.AccountRegistrationSpecs
|
||
|
|
{
|
||
|
|
[Scenario]
|
||
|
|
[TestMethod]
|
||
|
|
public async Task Successful_account_registration_with_valid_email()
|
||
|
|
{
|
||
|
|
await Runner.RunScenarioAsync(
|
||
|
|
_ => Given_no_account_exists_with_email("test@example.com"),
|
||
|
|
_ => When_I_submit_registration_with_email_and_password("test@example.com", "TestPassword123!"),
|
||
|
|
_ => Then_a_new_account_should_be_created_with_email_and_confirmation_status("test@example.com", false),
|
||
|
|
_ => Then_a_confirmation_email_should_be_sent()
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
[Scenario]
|
||
|
|
[TestMethod]
|
||
|
|
public async Task Reject_duplicate_email_registration()
|
||
|
|
{
|
||
|
|
await Runner.RunScenarioAsync(
|
||
|
|
_ => Given_an_account_already_exists_with_email("existing@example.com"),
|
||
|
|
_ => When_I_submit_registration_with_email("existing@example.com"),
|
||
|
|
_ => Then_registration_should_fail_with_error("Email already exists")
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|