Esempio n. 1
0
 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();
        }
Esempio n. 10
0
 public EmailSteps(EmailServerDriver emailServerDriver)
 {
     this.emailServerDriver = emailServerDriver ?? throw new ArgumentNullException(nameof(emailServerDriver));
 }
Esempio n. 11
0
 public OrderStatusSteps(Request request, Settings settings, EmailServerDriver emailServerDriver)
 {
     this.request           = request;
     this.settings          = settings;
     this.emailServerDriver = emailServerDriver;
 }