Пример #1
0
        private void CreateSessionToCheckButtonsAvailability(bool logoff = false)
        {
            var startPage = new LandingPage(this.driver, true);
            var loginPage = new Login(this.driver);

            loginPage.LogIntoServie(Properties.Settings.Default.UserAteam1, Properties.Settings.Default.PasswordAteam1);
            var session = new AddSession(this.driver);

            session.SessionLink.Click();
            var sessionData = new SessionData();

            sessionData.IsSpacePerSession = true;
            session.Populate(sessionData);
            session.SaveSession.Click();
            var sessionId       = this.driver.Url.Substring(this.driver.Url.LastIndexOf("/") + 1);
            var sessionIdNumber = -1;

            Assert.IsTrue(!string.IsNullOrEmpty(sessionId) && int.TryParse(sessionId, NumberStyles.Integer, CultureInfo.InvariantCulture, out sessionIdNumber), "Session has not been created!");
            var sessionDetails = new Details(this.driver);

            sessionDetails.ActivateSession();
            Thread.Sleep(1000);
            var visibleText = this.driver.VisibleText();

            Assert.IsTrue(visibleText.Contains("Status\r\nOtwarta - potwierdzony"), string.Format("Session with ID {0} has not been activated", sessionIdNumber));
            sessionDetails.ExamsBtn.Click();
            var sessionExmas = new Exams(this.driver);
            var examsIds     = sessionExmas.GetExamsIds();

            this.driver.Navigate().GoToUrl(Properties.Settings.Default.StartUrl);

            if (logoff)
            {
                sessionDetails.UserMenu.Click();
                sessionDetails.Logoff.Click();
            }

            var registrationButton = this.driver.FindElement(By.CssSelector(string.Format("div[data-session='{0}']", sessionIdNumber)));

            Assert.IsTrue(registrationButton.Exists() && registrationButton.Displayed, string.Format("Group registration button for session with ID {0} is not displayed", sessionIdNumber));

            foreach (var examId in examsIds)
            {
                registrationButton = this.driver.FindElement(By.CssSelector(string.Format("td[data-productsessionid='{0}']", examId)));
                Assert.IsTrue(registrationButton.Exists() && registrationButton.Displayed, string.Format("Individual registration button for exam with ID {0} is not displayed", examId));
            }
        }
Пример #2
0
        public void RegisterUserToExamWithoutFreePlace()
        {
            var loginPage = new Login(this.driver);

            loginPage.LogIntoServie(Properties.Settings.Default.UserAteam1, Properties.Settings.Default.PasswordAteam1);
            var dashboard = new Dashboard(this.driver);

            dashboard.AddSessionButton.Click();
            var session = new AddSession(this.driver);

            session.SessionLink.Click();
            var sessionData = new SessionData();

            sessionData.PlaceForSession   = 5;
            sessionData.IsSpacePerSession = true;
            sessionData.LevelAdvanced     = false;
            sessionData.LevelExpert       = false;
            sessionData.LevelOther        = false;
            sessionData.IstqbAdvancedLevelTechnicalTestAnalystEnglishPolish = false;
            sessionData.IstqbAdvancedLevelTestAnalystEnglishPolish          = false;
            sessionData.IstqbAdvancedLevelTestManagerEnglishPolish          = false;
            sessionData.IstqbAgileTesterExtensionEnglishPolish = false;
            sessionData.IstqbImprovingTheTestProcessEnglish    = false;
            sessionData.ReqbFoundationLevelEnglishPolish       = false;
            sessionData.IstqbTestManagementEnglish             = false;
            session.Populate(sessionData);
            session.SaveSession.Click();
            var details = new Details(driver);

            details.ActivateSession();
            session.DashboardLink.Click();

            var landingPage = new LandingPage(this.driver);

            landingPage.PgsLogo.Click();
            Thread.Sleep(2000);
            var sessionId  = landingPage.GetExistingSessionIdWithFreePlacesAndManyExams(5, 1);
            var examButton = this.driver.FindElement(By.CssSelector(string.Format("div[data-session='{0}']", sessionId)));

            examButton.Click();

            var attendee     = new Attendee();
            var getAttendees = new GetAttendees(this.driver);
            int freePlaces   = getAttendees.GetFreePlaces();

            getAttendees.Email.WaitForElement(1000);
            getAttendees.Populate(attendee);
            Assert.IsTrue(getAttendees.AddUserToList.Displayed);
            getAttendees.AddUserToList.Click();

            var attendee2 = new Attendee();

            attendee2.SelectedProductId = 0;
            getAttendees.Email.WaitForElement(1000);
            getAttendees.Populate(attendee2);
            int freePlaces2 = getAttendees.GetFreePlaces();

            Assert.AreEqual(freePlaces - 1, freePlaces2);
            Assert.IsTrue(getAttendees.AddUserToList.Displayed);
            getAttendees.AddUserToList.Click();
            Assert.IsTrue(this.driver.VisibleText().Contains("Uczestnicy\r\n2"));

            var attendee3 = new Attendee();

            attendee3.SelectedProductId = 0;
            getAttendees.Email.WaitForElement(1000);
            getAttendees.Populate(attendee3);
            int freePlaces3 = getAttendees.GetFreePlaces();

            Assert.AreEqual(freePlaces2 - 1, freePlaces3);
            Assert.IsTrue(getAttendees.AddUserToList.Displayed);
            getAttendees.AddUserToList.Click();
            Assert.IsTrue(this.driver.VisibleText().Contains("Uczestnicy\r\n3"));

            var attendee4 = new Attendee();

            attendee4.SelectedProductId = 0;
            getAttendees.Email.WaitForElement(1000);
            int freePlaces4 = getAttendees.GetFreePlaces();

            Assert.AreEqual(freePlaces3 - 1, freePlaces4);
            getAttendees.Populate(attendee4);
            Assert.IsTrue(getAttendees.AddUserToList.Displayed);
            getAttendees.AddUserToList.Click();
            Assert.IsTrue(this.driver.VisibleText().Contains("Uczestnicy\r\n4"));

            var attendee5 = new Attendee();

            attendee5.SelectedProductId = 0;
            int freePlaces5 = getAttendees.GetFreePlaces();

            Assert.AreEqual(freePlaces4 - 1, freePlaces5);
            getAttendees.Email.WaitForElement(1000);
            getAttendees.Populate(attendee5);
            Assert.IsTrue(getAttendees.AddUserToList.Displayed);
            getAttendees.AddUserToList.Click();
            Assert.IsTrue(this.driver.VisibleText().Contains("Uczestnicy\r\n5"));

            var attendee6 = new Attendee();

            attendee6.SelectedProductId = 0;
            int freePlaces6 = getAttendees.GetFreePlaces();

            getAttendees.Email.WaitForElement(1000);
            getAttendees.Product[0].Click();
            string text = this.driver.SwitchTo().Alert().Text;

            Assert.IsTrue(text.Equals("Brak miejsc"));
        }
Пример #3
0
        public void RegisterExamWithoutLogin()
        {
            var startPage = new LandingPage(this.driver, true);
            var loginPage = new Login(this.driver);

            loginPage.LogIntoServie(Properties.Settings.Default.UserAteam1, Properties.Settings.Default.PasswordAteam1);
            var session     = new AddSession(this.driver);
            var sessionData = new SessionData();
            var dashboard   = new Dashboard(this.driver);

            dashboard.AddSessionButton.Click();
            sessionData.IsSpacePerSession = false;
            sessionData.LevelOther        = false;
            sessionData.LevelAdvanced     = false;
            sessionData.LevelExpert       = false;
            sessionData.IstqbAdvancedLevelTechnicalTestAnalystEnglishPolish = false;
            sessionData.IstqbAdvancedLevelTestAnalystEnglishPolish          = false;
            sessionData.IstqbAdvancedLevelTestManagerEnglishPolish          = false;
            sessionData.IstqbTestManagementEnglish             = false;
            sessionData.IstqbAgileTesterExtensionEnglishPolish = false;
            sessionData.IstqbImprovingTheTestProcessEnglish    = false;
            session.Populate(sessionData);
            session.SaveSession.Click();
            var sessionId      = this.driver.Url.Substring(this.driver.Url.LastIndexOf("/") + 1);
            var sessionDetails = new Details(this.driver);

            sessionDetails.ActivateSession();
            sessionDetails.UserMenu.Click();
            sessionDetails.Logoff.Click();
            var landingPage = new LandingPage(this.driver);

            var groupRegistration = landingPage.GroupRegistration.Where(x => x.GetAttribute("data-session").Equals(sessionId)).ToList();

            if (!groupRegistration.Any())
            {
                throw new Exception("Exam is not available for registration for logged off user");
            }

            groupRegistration.FirstOrDefault().Click();

            /*landingPage.PgsLogo.Click();
             * Thread.Sleep(500);
             * var sid = landingPage.GetExistingSessionIdWithFreePlacesAndManyExams(3, 2);
             * var examButton = this.driver.FindElement(By.CssSelector(string.Format("div[data-session='{0}']", sid)));
             * examButton.FocusAtElement(this.driver);
             * examButton.Click();*/

            var getAttendees = new GetAttendees(this.driver);
            var attendee     = new Attendee();

            getAttendees.Email.WaitForElement(1000);
            getAttendees.Populate(attendee);
            Assert.IsTrue(getAttendees.AddUserToList.Displayed);
            getAttendees.AddUserToList.Click();
            var attendee2 = new Attendee();

            getAttendees.Email.WaitForElement(1000);
            getAttendees.Populate(attendee2);
            Assert.IsTrue(getAttendees.AddUserToList.Displayed);
            getAttendees.AddUserToList.Click();
            Assert.IsTrue(this.driver.VisibleText().Contains("2"));
            getAttendees.Forward.Click();
            var getPersonData = new GetPersonData(this.driver);
            var personData    = new ContactData();

            getPersonData.Populate(personData);
            getPersonData.Forward.Click();
            var getAddress = new GetAddress(this.driver);

            getAddress.Populate(personData);
            getAddress.Forward.Click();
            Assert.IsTrue(this.driver.VisibleText().Contains("Dziękujemy za zapisanie się na egzamin"));
            Assert.IsTrue(this.driver.VisibleText().Contains(personData.PersonDataEmail));
            getAddress.PgsLogo.Click();
            startPage.LoginLink.Click();
            loginPage.LogIntoServie(Properties.Settings.Default.UserAteam1, Properties.Settings.Default.PasswordAteam1);
            dashboard.CompanyColumnHeader.WaitForElement(1000);
            Thread.Sleep(500);
            Assert.IsTrue(dashboard.CheckSessionExistsOnDate(sessionData.SessionDate, sessionData.City));
            dashboard.ClickSessionLink(sessionData.City);
            dashboard.SessionDetailsLink.WaitForElement(1000);
            Assert.AreEqual(8, dashboard.GetFreeSpaceCountFromSessionPopup());
        }