public EmailSteps(EmailServerDriver emailServerDriver, Settings settings, SeleniumContext seleniumContext, ScenarioContext context) { this.emailServerDriver = emailServerDriver ?? throw new ArgumentNullException(nameof(emailServerDriver)); this.settings = settings ?? throw new ArgumentNullException(nameof(settings)); this.seleniumContext = seleniumContext; this.context = context; }
public static async Task EmailServerDriver_FindAllEmailsAsync_CallsFindsAllEmails() { var settings = new EmailServerDriverSettings(new Uri("http://email.com/")); var driver = new EmailServerDriver(settings); var email = EmailServerDriverResponseBuilder.Create() .WithSubject("Subject1") .Build(); var secondEmail = EmailServerDriverResponseBuilder.Create() .WithSubject("Subject2") .Build(); var responseList = new List <EmailResponse> { email, secondEmail }; using var httpTest = new HttpTest(); httpTest.RespondWithJson(responseList); var resultEmails = await driver.FindAllEmailsAsync(); httpTest.ShouldHaveCalled("http://email.com/email").WithVerb(HttpMethod.Get); resultEmails.Should().ContainSingle(e => e.Subject == email.Subject); resultEmails.Should().ContainSingle(e => e.Subject == secondEmail.Subject); }
public async Task ThenTheResetUrlIsNotSentToTheE_MailAddress() { var currentCount = await EmailServerDriver.GetEmailCountAsync(Test.Url, ((User)Context["CreatedUser"]).Email); var precount = (int)Context["EmailCount"]; currentCount.Should().Be(precount); }
public async Task WhenTheUserHasFollowedTheRequestAPasswordResetJourneyAndEnteredTheirE_MailAddress() { Test.Pages.Homepage.ClickLoginButton(); Test.Pages.Authorization.ClickForgotPassword(); Test.Pages.RequestPasswordReset.EnterEmail(((User)Context["CreatedUser"]).Email); var precount = await EmailServerDriver.GetEmailCountAsync(Test.Url, ((User)Context["CreatedUser"]).Email); Context.Add("EmailCount", precount); Test.Pages.RequestPasswordReset.Submit(); Test.Pages.RequestPasswordReset.ConfirmationDisplayed().Should().BeTrue(); }
public static async Task EmailServerDriver_ClearAllEmails_CallsDeleteAllEmails() { var settings = new EmailServerDriverSettings(new Uri("http://bjss.com/")); var driver = new EmailServerDriver(settings); using var httpTest = new HttpTest(); httpTest.RespondWithJson(new { }); await driver.ClearAllEmailsAsync(); httpTest.ShouldHaveCalled("http://bjss.com/email/all").WithVerb(HttpMethod.Delete); }
public async Task ThenTheResetUrlIsSentToTheE_MailAddress() { var user = (User)Context["CreatedUser"]; var currentCount = await EmailServerDriver.GetEmailCountAsync(Test.Url, user.Email); var precount = (int)Context["EmailCount"]; currentCount.Should().BeGreaterThan(precount); var email = (await EmailServerDriver.FindAllEmailsAsync(Test.Url, user.Email)).Last(); email.To.Should().BeEquivalentTo(user.Email); Context.Add("Email", email); }
public static async Task EmailServerDriver_FindAllEmailsAsync_FieldsAreTheSame() { var settings = new EmailServerDriverSettings(new Uri("http://email.com/")); var driver = new EmailServerDriver(settings); var email = EmailServerDriverResponseBuilder.Create() .WithSubject("Subject1") .Build(); var responseList = new List <EmailResponse> { email }; using var httpTest = new HttpTest(); httpTest.RespondWithJson(responseList); var resultEmail = (await driver.FindAllEmailsAsync()).Single();
public static async Task EmailServerDriver_GetEmailCountAsync_CallsGetAllEmails() { var settings = new EmailServerDriverSettings(new Uri("http://bjss.com/")); var driver = new EmailServerDriver(settings); var responseList = new List <EmailResponse> { EmailServerDriverResponseBuilder.Create().Build(), EmailServerDriverResponseBuilder.Create().Build(), }; using var httpTest = new HttpTest(); httpTest.RespondWithJson(responseList); var resultCount = await driver.GetEmailCountAsync(); resultCount.Should().Be(2); httpTest.ShouldHaveCalled("http://bjss.com/email").WithVerb(HttpMethod.Get); }
public async Task AfterScenario() { if (Context.ContainsKey("CreatedUser")) { await((User)Context["CreatedUser"]).Delete(Test.ConnectionString); } if (Context.ContainsKey("Email")) { await EmailServerDriver.ClearEmailAsync(Test.Url, ((Email)Context["Email"]).Id); } if (Context.ContainsKey("CreatedOrganisation")) { await((Organisation)Context["CreatedOrganisation"]).Delete(Test.ConnectionString); } if (Context.ContainsKey("DeletedOrganisation")) { await((Organisation)Context["DeletedOrganisation"]).Create(Test.ConnectionString); } Test.Driver.Quit(); }
public EmailSteps(EmailServerDriver emailServerDriver) { this.emailServerDriver = emailServerDriver ?? throw new ArgumentNullException(nameof(emailServerDriver)); }
public OrderStatusSteps(Request request, Settings settings, EmailServerDriver emailServerDriver) { this.request = request; this.settings = settings; this.emailServerDriver = emailServerDriver; }