Пример #1
0
        public void User_can_signup_to_permanently_save_page_setup()
        {
            var browser   = default(Browser);
            var homepage  = default(HomePage);
            var loginPage = default(LoginPage);

            var loginName = default(string);
            var password  = default(string);

            var removedWidgetTitle = default(string);

            "Given a new user who has some widgets".Context(() =>
            {
                BrowserHelper.ClearCookies();
                browser  = BrowserHelper.OpenNewBrowser(Urls.Homepage);
                homepage = browser.Page <HomePage>();
            });

            "When the user signs up after making some changes to the page".Do(() =>
            {
                removedWidgetTitle = homepage.Widgets.First().Title;
                homepage.Widgets.First().Close();
                Thread.Sleep(5000);
                browser.WaitForAsyncPostbackComplete(10000);


                browser.GoTo(Urls.LoginPage);
                loginPage = browser.Page <LoginPage>();

                loginName = Guid.NewGuid().ToString();
                loginPage.Email.TypeText(loginName);
                password = Guid.NewGuid().ToString();
                loginPage.Password.TypeText(password);
                loginPage.RegisterButton.Click();

                browser.WaitForComplete();
                homepage = browser.Page <HomePage>();
            });

            "It should save the changes against that user".Assert(() =>
            {
                using (browser)
                {
                    Assert.False(browser.ContainsText(removedWidgetTitle));
                }
            });

            "It should allow user to login to that account".Assert(() =>
            {
                using (browser)
                {
                    BrowserHelper.ClearCookies();
                    browser.GoTo(Urls.LoginPage);

                    loginPage = browser.Page <LoginPage>();
                    loginPage.Email.TypeText(loginName);
                    loginPage.Password.TypeText(password);
                    loginPage.LoginButton.Click();
                    browser.WaitForComplete();

                    Assert.False(browser.ContainsText(removedWidgetTitle));
                }
            });
        }