예제 #1
0
 def testShouldThrowTimeoutExceptionOnWrongCredentials(self):
     loginPage = LoginPage(self.driver)
     try:
         loginPage.loginToCourse(CourseName.APLUS, 'fake', 'password')
     except Exception:
         return
     self.fail("There should have been an exception")
예제 #2
0
 def testShouldThrowTimeoutExceptionOnWrongCredentials(self):
     loginPage = LoginPage(self.driver)
     try:
         loginPage.loginToCourse(CourseName.APLUS, 'fake', 'password')
     except Exception:
         return
     self.fail("There should have been an exception")
def test_login_page(browser, base_url):
    """"Checking to available web elements on product card."""
    login_page = LoginPage(browser)
    login_page.open()
    assert login_page.get_placeholder_username() == "E-Mail Address"
    assert login_page.get_placeholder_password() == "Password"
    assert login_page.get_count_rows_of_right_menu() == 13
    assert login_page.get_subtitle_text_on_description() == "Register Account"
    assert login_page.show_top_navbar()
예제 #4
0
 def redaction(self):
     tools = Tools()
     entry_page = EntryPage(self.driver, base_url=self.base_url)
     entry_page.open_page()
     entry_page.setup_case()
     entry_page.open_redactor()
     login_page = LoginPage(self.driver)
     login_page.login_if_required()
     redaction_page = RedactionPage(self.driver)
     redaction_page.load_file(self.data_dir +
                              '/privkit31A-synthetic-REDACTED.json')
     redaction_page.check_start_date_is('1-Mar-2020 1:00pm GMT')
     redaction_page.check_end_date_is('19-Mar-2020 10:00pm GMT')
     redaction_page.check_duration_is('18 days 9 hrs')
     redaction_page.save_file()
예제 #5
0
 def testShouldHaveStudentsPermissions(self):
     LoginPage(self.driver).loginAsStudent()
     basePage = BasePage(self.driver)
     self.assertFalse(
         basePage.isElementVisible(BasePageLocators.TEACHERS_VIEW_LINK))
     self.assertFalse(
         basePage.isElementVisible(StaffPageLocators.SUBMISSION_LINKS))
예제 #6
0
 def testLoginToTestCourseInstance(self):
     LoginPage(self.driver).loginToCourse(CourseName.APLUS)
     homePage = HomePage(self.driver, CourseName.APLUS)
     self.assertEqual(homePage.getCourseBanner(),
                      'aplus-001 My test course')
     self.assertTrue(
         LoginPage.defaultUsername in homePage.getLoggedInText())
예제 #7
0
 def testLoginToExampleHookCourseInstance(self):
     LoginPage(self.driver).loginToCourse(CourseName.HOOK)
     homePage = HomePage(self.driver, CourseName.HOOK)
     self.assertEqual(homePage.getCourseBanner(),
                      'aplus-001 My test course')
     self.assertTrue(
         LoginPage.defaultFullname in homePage.getLoggedInText())
예제 #8
0
def test_login_user_github(browser):
    allure.attach.file('C:\\Users\\qaubr\\image.png',
                       attachment_type=allure.attachment_type.PNG)
    LoginPage(browser) \
        .login_user_github(email='*****@*****.**', password='******') \
        .go_to_app() \
        .check_custom_text_widget()
예제 #9
0
def test_login_user(browser, execution_number):
    LoginPage(browser) \
        .login_user(email='*****@*****.**', password='******') \
        .go_to_app() \
        .check_custom_text_widget()
    """"saving cookies in the file 'cookies.pkl' for further authorization"""
    pickle.dump(browser.get_cookies(), open('cookies.pkl', 'wb'))
예제 #10
0
 def testShouldHaveStudentsPermissions(self):
     LoginPage(self.driver).loginAsStudent()
     self.assertEqual(self.baseUrl, str(self.driver.current_url))
     basePage = BasePage(self.driver)
     self.assertFalse(
         basePage.isElementPresent(BasePageLocators.TEACHERS_VIEW_LINK))
     self.assertFalse(
         basePage.isElementPresent(StaffPageLocators.SUBMISSION_LINKS))
 def testShouldHaveTeachersPermissions(self):
     LoginPage(self.driver).loginAsTeacher()
     self.assertEqual(self.baseUrl, str(self.driver.current_url))
     basePage = BasePage(self.driver)
     self.assertTrue(basePage.isElementPresent(BasePageLocators.TEACHERS_VIEW_LINK))
     self.assertTrue(basePage.isElementPresent(StaffPageLocators.SUBMISSION_LINKS))
     basePage.clickTeachersViewLink()
     self.assertEqual(self.baseUrl + 'teachers/', str(self.driver.current_url))
예제 #12
0
 def test_redaction(self):
     tools = Tools()
     entry_page = EntryPage(self.driver)
     entry_page.open_page()
     entry_page.open_redactor()
     login_page = LoginPage(self.driver)
     login_page.login_if_required()
     redaction_page = RedactionPage(self.driver)
     redaction_page.load_file(
         self.home_dir + '/tests/data/privkit31A-synthetic-REDACTED.json')
     redaction_page.check_start_date_is('1-Mar-2020 1:00pm GMT')
     redaction_page.check_end_date_is('19-Mar-2020 10:00pm GMT')
     redaction_page.check_duration_is('18 days 9 hrs')
     redaction_page.save_file()
     tools.compare_files(
         '/tmp/privkit31A-synthetic-REDACTED-REDACTED.json', self.home_dir +
         '/tests/data/expected_results/privkit31A-synthetic-REDACTED-REDACTED.json'
     )
예제 #13
0
 def setup_class(cls):
     cls.utils = Utils()
     cls.steps = TestSteps()
     cls.asserts = Assertions()
     cls.login_page = LoginPage.LoginPage()
     cls.home_page = HomePage.HomePage()
     cls.config_data = cls.utils.get_config_data()
     cls.login_data = cls.utils.get_test_data("login")
     cls.driver = cls.utils.set_webdriver("chromedriver")
예제 #14
0
    def testStudentShouldGetFeedbackWithNotification(self) -> None:
        ASSISTANT_FEEDBACK_TEXT = "ASSISTANT_FEEDBACK"
        FEEDBACK_TEXT = "FEEDBACK"
        EXERCISE_NUMBER = "2"
        SUBMISSION_NUMBER = 1
        POINTS = "50"

        # Submit exercise
        LoginPage(self.driver).loginAsStudent()
        fileUploadGrader = FileUploadGrader(self.driver)
        fileUploadGrader.submit()
        fileUploadGrader.logout()

        # Check submissions
        LoginPage(self.driver).loginAsAssistant()
        submissionPage = SubmissionPage(self.driver,
                                        exerciseId=EXERCISE_NUMBER)
        self.assertEqual(submissionPage.getSubmissionCount(), 1)

        # Assess exercise
        inspectionPage = InspectionPage(self.driver,
                                        exerciseId=EXERCISE_NUMBER,
                                        submissionNumber=SUBMISSION_NUMBER)
        inspectionPage.clickAssessmentButton()
        inspectionPage.setAssistantFeedback(ASSISTANT_FEEDBACK_TEXT)
        inspectionPage.clickGraderFeedbackToggle()
        inspectionPage.setFeedback(FEEDBACK_TEXT)
        inspectionPage.setPoints(POINTS)
        inspectionPage.submit()
        inspectionPage.logout()

        # Check that student receives the correct assessment and a notification of it
        LoginPage(self.driver).loginAsStudent()
        homePage = HomePage(self.driver)
        self.assertTrue(homePage.hasNewNotifications())

        studentFeedbackPage = StudentFeedbackPage(
            self.driver,
            exerciseId=EXERCISE_NUMBER,
            submissionNumber=SUBMISSION_NUMBER)
        self.assertEqual(studentFeedbackPage.getAssistantFeedbackText(),
                         ASSISTANT_FEEDBACK_TEXT)
        self.assertEqual(studentFeedbackPage.getFeedbackText(), FEEDBACK_TEXT)
        self.assertEqual(FileUploadGrader(self.driver).getPoints(), POINTS)
예제 #15
0
 def settings(self):
     login_page = LoginPage(self.driver)
     login_page.login_if_required()
     entry_page = EntryPage(self.driver, base_url=self.base_url)
     entry_page.open_page()
     entry_page.open_settings()
     settings_page = SettingsPage(self.driver)
     settings_page.set_health_authority_name('Test Health Authority')
     settings_page.set_information_website_URL('https://cdc.gov')
     settings_page.set_reference_website_URL('https://cdc.gov')
     settings_page.set_api_endpoint(
         'https://s3.aws.com/bucket_name/safepaths.json')
     settings_page.set_privacy_policy_URL(
         'https://www.cdc.gov/other/privacy.html')
     # set retention policy slider to 50% of the way across, which would be 15 days
     # commented out until we find how to get ActionChains working
     # settings_page.set_retention_policy('50')
     settings_page.reset_gps_coordinates
     settings_page.save_and_continue
예제 #16
0
 def setup_class(cls):
     cls.steps = TestSteps()
     cls.utils = Utils()
     cls.asserts = Assertions()
     cls.driver = cls.utils.set_webdriver("chromedriver")
     cls.config_data = cls.utils.get_config_data()
     cls.checkout_data = cls.utils.get_test_data("checkout")
     cls.home_page = HomePage.HomePage()
     cls.cart_page = CartPage.CartPage()
     cls.login_page = LoginPage.LoginPage()
     cls.product_page = ProductPage.ProductPage()
예제 #17
0
 def contact_trace(self):
     tools = Tools()
     entry_page = EntryPage(self.driver, base_url=self.base_url)
     entry_page.open_page()
     login_page = LoginPage(self.driver)
     login_page.login_if_required()
     entry_page.open_trace()
     contact_trace_page = ContactTracePage(self.driver)
     contact_trace_page.add_new_record()
     add_record_page = AddNewRecordPage(self.driver)
     add_record_page.create_manually()
     contact_trace_page.more()
     contact_trace_page.add_data_point()
     # start to add a point and cancel editing the point
     # if the test works this far, we can expand it later
     point_editor_page = AddDataToRecordPage(self.driver)
     point_editor_page.enter_location(
         '-122.19732036472264, 37.718665250290684')
     point_editor_page.enter_date('06/08/2020 07:00')
     point_editor_page.close()
     entry_page.open_settings()
     settings_page = SettingsPage(self.driver)
     settings_page.logout
예제 #18
0
    def testTableHasCorrectData(self) -> None:
        LoginPage(self.driver).loginAsSuperuser()

        list_data = [
                ['Teacher User', '', 'aplus-001 My test course: A+ Test Course Instance', '2020-09-27 09:00:00+00:00', '2023-09-27 09:00:00+00:00'],
                ['Teacher User', '', 'aplus-001 My test course: Hook Example', '2020-09-27 09:00:00+00:00', '2023-09-27 09:00:00+00:00'],
            ]
        list_data_with_assistants = [
                ['Teacher User', '', 'aplus-001 My test course: A+ Test Course Instance', '2020-09-27 09:00:00+00:00', '2023-09-27 09:00:00+00:00'],
                ['Assistant User', '', 'aplus-001 My test course: A+ Test Course Instance', '2020-09-27 09:00:00+00:00', '2023-09-27 09:00:00+00:00'],
                ['Teacher User', '', 'aplus-001 My test course: Hook Example', '2020-09-27 09:00:00+00:00', '2023-09-27 09:00:00+00:00'],
            ]

        ending_time = date.fromisoformat("2023-09-27")
        starting_time = date.fromisoformat("2020-09-27")

        early = starting_time - timedelta(days=1)
        middle_early = starting_time + timedelta(days=1)
        middle_late = ending_time - timedelta(days=1)
        late = ending_time + timedelta(days=1)

        data = TeacherListPage(self.driver, starting_time, starting_time).get_table_data()
        self.assertEqual(data, list_data)

        data = TeacherListPage(self.driver, ending_time, ending_time).get_table_data()
        self.assertEqual(data, list_data)

        data = TeacherListPage(self.driver, early, early).get_table_data()
        self.assertEqual(data, [])

        data = TeacherListPage(self.driver, late, late).get_table_data()
        self.assertEqual(data, [])

        data = TeacherListPage(self.driver, middle_late, late).get_table_data()
        self.assertEqual(data, list_data)

        data = TeacherListPage(self.driver, early, middle_early).get_table_data()
        self.assertEqual(data, list_data)

        data = TeacherListPage(self.driver, early, middle_early, True).get_table_data()
        self.assertEqual(data, list_data_with_assistants)
예제 #19
0
 def setUp(self):
     testHelper = TestInitializer()
     testHelper.recreateDatabase()
     self.driver = testHelper.getDefaultDriver()
     LoginPage(self.driver).loginAsStudent()
예제 #20
0
 def setUp(self):
     self.driver = TestInitializer().getDefaultDriver(headless=True)
     TestInitializer().recreateDatabase()
     LoginPage(self.driver).loginAsTeacher()
예제 #21
0
 def setUp(self):
     self.driver = TestInitializer().getDefaultDriver(headless=True)
     LoginPage(self.driver).loginAsAssistant()
예제 #22
0
 def setUp(self):
     self.driver = TestInitializer().getFirefoxDriverWithLoggingEnabled()
     LoginPage(self.driver).loginAsTeacher()
예제 #23
0
 def setUp(self):
     testHelper = TestInitializer()
     testHelper.recreateDatabase()
     self.driver = testHelper.getFirefoxDriverWithLoggingEnabled()
     LoginPage(self.driver).loginAsStudent()
예제 #24
0
def test_login_user_gitlab(browser):
    LoginPage(browser) \
        .login_user_gitlab(email='*****@*****.**', password='******') \
        .check_custom_text_widget()
예제 #25
0
 def setUp(self):
     self.driver = TestInitializer().getFirefoxDriverWithLoggingEnabled()
     TestInitializer().recreateDatabase()
     LoginPage(self.driver).loginAsAssistant()
예제 #26
0
 def setUp(self):
     self.driver = TestInitializer().getDefaultDriver()
     LoginPage(self.driver).loginAsTeacher()
예제 #27
0
 def testStudentsCantAccess(self) -> None:
     LoginPage(self.driver).loginAsStudent()
     self.assertTrue(TeacherListPage(self.driver).isElementPresent(CommonLocators.FORBIDDEN_PAGE))
예제 #28
0
 def testSuperusersCanAccess(self) -> None:
     LoginPage(self.driver).loginAsSuperuser()
     self.assertFalse(TeacherListPage(self.driver).isElementPresent(CommonLocators.FORBIDDEN_PAGE))
예제 #29
0
 def setUp(self):
     self.driver = TestInitializer().getDefaultDriver()
     TestInitializer().recreateDatabase()
     LoginPage(self.driver).loginAsStudent()