Ejemplo n.º 1
0
 def test_add_duplicate_subjectType(self):
     self.driver.go_to(url("/entity/subjects/"))
     subjects_page = AddSubjectTypePage(self.driver)
     subject_type_name = SUBJECT_TYPE + random_string(3)
     response = subjects_page.add_subject_type(subject_type_name)
     self.driver.go_to(url("/entity/subjects/"))
     self.validate_subject_type(subject_type_name)
     response = subjects_page.add_subject_type(subject_type_name)
     self.assertEqual(response['message'], subject_type_name+" already exists.")
 def setUpClass(cls):
     cls.driver = setup_driver()
     cls.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(cls.driver)
     login_page.do_successful_login_with(VALID_CREDENTIALS)
     cls.driver.go_to(DATA_WINNER_ALL_SUBJECT)
     cls.page = AddSubjectTypePage(cls.driver)
Ejemplo n.º 3
0
 def prerequisites_of_add_subject_type(self):
     # doing successful login with valid credentials
     self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(self.driver)
     login_page.do_successful_login_with(VALID_CREDENTIALS)
     self.driver.go_to(DATA_WINNER_ADD_SUBJECT)
     return AddSubjectTypePage(self.driver)
Ejemplo n.º 4
0
 def add_subject(self, subject_type, subject_data):
     global_navigation = GlobalNavigationPage(self.driver)
     global_navigation.navigate_to_all_subject_page()
     add_subject_page = AddSubjectTypePage(self.driver).add_subject_type(
         subject_type, username=self.email, password=REGISTRATION_PASSWORD)
     add_subject_page = AddSubjectPage(self.driver)
     add_subject_page.refresh()
     AllSubjectTypePage(self.driver).select_subject_type(
         subject_type).navigate_to_register_subject_page()
     add_subject_page.add_subject_with(subject_data)
     add_subject_page.submit_subject()
     flash_message = add_subject_page.get_flash_message()
     message = fetch_(
         SUCCESS_MESSAGE,
         from_(subject_data)) % get_subject_short_code(flash_message)
     self.assertIn(message, flash_message)
Ejemplo n.º 5
0
    def test_add_invalid_subjectType(self):
        self.driver.go_to(url("/entity/subjects/"))
        subjects_page = AddSubjectTypePage(self.driver)
        response = subjects_page.add_subject_type(SUBJECT_TYPE_WHITE_SPACES)
        self.assertEqual(response['message'], ERROR_MSG_INVALID_ENTRY)

        self.driver.go_to(url("/entity/subjects/"))
        subjects_page = AddSubjectTypePage(self.driver)
        response = subjects_page.add_subject_type(SUBJECT_TYPE_SPL_CHARS)
        self.assertEqual(response['message'], ERROR_MSG_INVALID_ENTRY)

        self.driver.go_to(url("/entity/subjects/"))
        subjects_page = AddSubjectTypePage(self.driver)
        response = subjects_page.add_subject_type(SUBJECT_TYPE_BLANK)
        self.assertEqual(response['message'], ERROR_MSG_EMPTY_ENTRY)
Ejemplo n.º 6
0
 def prepare_subject_type(cls):
     cls.driver.go_to(DATA_WINNER_ALL_SUBJECT)
     add_subject_type_page = AddSubjectTypePage(cls.driver)
     add_subject_type_page.click_on_accordian_link()
     cls.subject_type = SUBJECT_TYPE + generateId()
     cls.subject_type = cls.subject_type.strip()
     add_subject_type_page.add_entity_type_with(cls.subject_type)
Ejemplo n.º 7
0
    def test_should_add_question_successfully(self):
        login(self.driver)
        self.driver.go_to(url("/entity/subjects/"))
        add_subject_type_page = AddSubjectTypePage(self.driver)
        add_subject_type_page.click_on_accordian_link()
        entity_type = VALID_ENTITY[ENTITY_TYPE] + generateId()
        add_subject_type_page.successfully_add_entity_type_with(entity_type)
        self.driver.go_to(url("/entity/subject/create/" + entity_type))
        subjects_page = ProjectSubjectsPage(self.driver)
        subjects_page.click_edit_form_link_and_continue()
        subjects_page.click_add_question_link()

        self.assertEqual("Question", subjects_page.get_selected_question_label())

        subjects_page.click_submit_button()
        self.assertTrue(subjects_page.is_success_message_tip_show())
Ejemplo n.º 8
0
    def test_should_add_question_successfully(self):
        self.driver.go_to(url("/entity/subjects/"))
        add_subject_type_page = AddSubjectTypePage(self.driver)
        add_subject_type_page.click_on_accordian_link()
        entity_type = VALID_ENTITY[ENTITY_TYPE] + generateId()
        add_subject_type_page.successfully_add_entity_type_with(entity_type)
        self.driver.go_to(url("/entity/subject/create/" + entity_type))
        subjects_page = ProjectSubjectsPage(self.driver)
        subjects_page.click_edit_form_link_and_continue()
        subjects_page.click_add_question_link()
        subjects_page.type_question_name('New Question')
        subjects_page.choose_question_type('text')
        self.assertEqual("New Question",
                         subjects_page.get_selected_question_label())

        existing_question_count = subjects_page.get_existing_questions_count()

        subjects_page.click_submit_button()
        self.assertTrue(subjects_page.is_success_message_tip_show())
        subjects_page.refresh()
        self.assertEqual(subjects_page.get_existing_questions_count(),
                         existing_question_count,
                         "Newly added question should be persisted")
Ejemplo n.º 9
0
    def test_intregation_of_application(self):

        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(self.driver)
        registration_page = login_page.navigate_to_registration_page()
        self.assertEqual(registration_page.get_title(), "Register")

        registration_confirmation_page, self.email = registration_page.successful_registration_with(
            REGISTRATION_DATA_FOR_SUCCESSFUL_REGISTRATION)
        self.assertEquals(
            registration_confirmation_page.registration_success_message(),
            fetch_(SUCCESS_MESSAGE,
                   from_(REGISTRATION_DATA_FOR_SUCCESSFUL_REGISTRATION)))

        dbmanager = DatabaseManager()
        organization_sms_tel_number = get_epoch_last_ten_digit()
        dbmanager.set_sms_telephone_number(organization_sms_tel_number,
                                           self.email)

        account_activate_page = ActivateAccountPage(self.driver)
        dbmanager = DatabaseManager()
        activation_code = dbmanager.get_activation_code(self.email)
        account_activate_page.activate_account(activation_code)
        self.assertRegexpMatches(
            account_activate_page.get_message(),
            fetch_(SUCCESS_MESSAGE, from_(VALID_ACTIVATION_DETAILS)))

        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        VALID_LOGIN_CREDENTIALS = VALID_CREDENTIALS
        VALID_LOGIN_CREDENTIALS[USERNAME] = self.email
        dashboard_page = login_page.do_successful_login_with(
            VALID_LOGIN_CREDENTIALS)
        self.assertEqual(
            dashboard_page.welcome_message(),
            fetch_(WELCOME_MESSAGE, from_(VALID_LOGIN_CREDENTIALS)))

        register_reporter_page = dashboard_page.navigate_to_register_reporter_page(
        )
        register_reporter_page.register_with(VALID_DATA_FOR_REPORTER)
        self.assertRegexpMatches(
            register_reporter_page.get_success_message(),
            fetch_(SUCCESS_MESSAGE, from_(VALID_DATA_FOR_REPORTER)))

        self.driver.go_to(DATA_WINNER_ADD_SUBJECT)
        add_subject_type_page = AddSubjectTypePage(self.driver)
        add_subject_type_page.add_entity_type_with(VALID_SUBJECT_TYPE1)
        self.assertEqual(add_subject_type_page.get_flash_message(),
                         fetch_(SUCCESS_MESSAGE, from_(VALID_SUBJECT_TYPE1)))
        add_subject_type_page.add_entity_type_with(VALID_SUBJECT_TYPE2)
        self.assertEqual(add_subject_type_page.get_flash_message(),
                         fetch_(SUCCESS_MESSAGE, from_(VALID_SUBJECT_TYPE2)))

        self.driver.go_to(DATA_WINNER_HOME_PAGE)
        register_subject_page = dashboard_page.navigate_to_register_subject_page(
        )
        message = register_subject_page.successfully_register_subject_with(
            VALID_DATA_FOR_SUBJECT)
        self.assertRegexpMatches(register_subject_page.get_flash_message(),
                                 message)

        self.driver.go_to(DATA_WINNER_HOME_PAGE)
        create_project_page = dashboard_page.navigate_to_create_project_page()
        create_subject_questionnaire_page = create_project_page.successfully_create_project_with(
            VALID_DATA_FOR_PROJECT)
        self.assertRegexpMatches(
            create_subject_questionnaire_page.get_title(),
            fetch_(PAGE_TITLE, from_(VALID_DATA_FOR_PROJECT)))

        create_questionnaire_page = create_subject_questionnaire_page.successfully_create_subject_questionnaire_with(
            None)
        self.assertRegexpMatches(
            create_questionnaire_page.get_title(),
            fetch_(PAGE_TITLE, from_(VALID_DATA_FOR_SUBJECT_QUESTIONNAIRE)))

        create_questionnaire_page.create_questionnaire_with(QUESTIONNAIRE_DATA)
        index = 2
        for question in fetch_(QUESTIONS, from_(QUESTIONNAIRE_DATA)):
            question_link_text = fetch_(QUESTION,
                                        from_(question)) + " " + fetch_(
                                            CODE, from_(question))
            self.assertEquals(
                create_questionnaire_page.get_question_link_text(index),
                question_link_text)
            index += 1
        time.sleep(5)
        self.assertEquals(
            create_questionnaire_page.get_remaining_character_count(),
            fetch_(CHARACTER_REMAINING, from_(QUESTIONNAIRE_DATA)))
        create_questionnaire_page.save_questionnaire()
        time.sleep(3)
        self.assertEqual(create_questionnaire_page.get_title(),
                         "Finish & Test")
        self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
        sms_tester_page = SMSTesterPage(self.driver)
        sms_tester_data = VALID_DATA_FOR_SMS
        sms_tester_data[RECEIVER] = organization_sms_tel_number
        sms_tester_page.send_sms_with(sms_tester_data)
        self.assertEqual(sms_tester_page.get_response_message(),
                         fetch_(SUCCESS_MESSAGE, from_(sms_tester_data)))

        self.driver.go_to(DATA_WINNER_HOME_PAGE)
        view_all_project_page = dashboard_page.navigate_to_view_all_project_page(
        )
        time.sleep(3)
        project_overview_project = view_all_project_page.navigate_to_project_page(
            fetch_(PROJECT_NAME, VALID_DATA_FOR_PROJECT))
        time.sleep(3)
        data_page = project_overview_project.navigate_to_data_page()
        time.sleep(3)
        submission_log_page = data_page.navigate_to_all_data_record_page()
        time.sleep(3)
        self.assertRegexpMatches(
            submission_log_page.get_submission_message(SMS_DATA_LOG),
            fetch_(SMS_SUBMISSION, from_(SMS_DATA_LOG)))

        self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
        sms_tester_data = VALID_DATA_FOR_SMS
        sms_tester_data[RECEIVER] = organization_sms_tel_number
        sms_tester_page.send_sms_with(sms_tester_data)
        self.assertEqual(sms_tester_page.get_response_message(),
                         fetch_(SUCCESS_MESSAGE, from_(sms_tester_data)))
Ejemplo n.º 10
0
 def setUp(self):
     self.driver.go_to(DATA_WINNER_ALL_SUBJECT)
     self.page = AddSubjectTypePage(self.driver)
     self.driver.refresh()
Ejemplo n.º 11
0
 def add_subject_type(self, create_project_page, entity_type):
     add_subject_type_page = AddSubjectTypePage(self.driver)
     add_subject_type_page.click_on_accordian_link()
     add_subject_type_page.add_entity_type_with(entity_type)
     self.assertEqual(create_project_page.get_selected_subject(),
                      entity_type.lower())
 def add_subject_type(self, valid_subject_type):
     add_subject_type_page = AddSubjectTypePage(self.driver)
     add_subject_type_page.click_on_accordian_link()
     add_subject_type_page.add_entity_type_with(valid_subject_type)
Ejemplo n.º 13
0
    def test_intregation_of_application(self):

        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(self.driver)
        registration_page = login_page.navigate_to_registration_page()
        self.assertEqual(registration_page.get_title(), "Register")

        registration_confirmation_page, self.email = registration_page.successful_registration_with(REGISTRATION_DATA_FOR_SUCCESSFUL_REGISTRATION)
        self.assertEquals(registration_confirmation_page.registration_success_message(),
            fetch_(SUCCESS_MESSAGE, from_(REGISTRATION_DATA_FOR_SUCCESSFUL_REGISTRATION)))

        dbmanager = DatabaseManager()
        organization_sms_tel_number = get_epoch_last_ten_digit()
        dbmanager.set_sms_telephone_number(organization_sms_tel_number, self.email)

        account_activate_page = ActivateAccountPage(self.driver)
        dbmanager = DatabaseManager()
        activation_code = dbmanager.get_activation_code(self.email)
        account_activate_page.activate_account(activation_code)
        self.assertRegexpMatches(account_activate_page.get_message(), fetch_(SUCCESS_MESSAGE, from_(VALID_ACTIVATION_DETAILS)))

        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        VALID_LOGIN_CREDENTIALS = VALID_CREDENTIALS
        VALID_LOGIN_CREDENTIALS[USERNAME] = self.email
        dashboard_page = login_page.do_successful_login_with(VALID_LOGIN_CREDENTIALS)
        self.assertEqual(dashboard_page.welcome_message(), fetch_(WELCOME_MESSAGE, from_(VALID_LOGIN_CREDENTIALS)))

        register_reporter_page = dashboard_page.navigate_to_register_reporter_page()
        register_reporter_page.register_with(VALID_DATA_FOR_REPORTER)
        self.assertRegexpMatches(register_reporter_page.get_success_message(), fetch_(SUCCESS_MESSAGE, from_(VALID_DATA_FOR_REPORTER)))

        self.driver.go_to(DATA_WINNER_ADD_SUBJECT)
        add_subject_type_page = AddSubjectTypePage(self.driver)
        add_subject_type_page.add_entity_type_with(VALID_SUBJECT_TYPE1)
        self.assertEqual(add_subject_type_page.get_flash_message(), fetch_(SUCCESS_MESSAGE, from_(VALID_SUBJECT_TYPE1)))
        add_subject_type_page.add_entity_type_with(VALID_SUBJECT_TYPE2)
        self.assertEqual(add_subject_type_page.get_flash_message(), fetch_(SUCCESS_MESSAGE, from_(VALID_SUBJECT_TYPE2)))

        self.driver.go_to(DATA_WINNER_HOME_PAGE)
        register_subject_page = dashboard_page.navigate_to_register_subject_page()
        message = register_subject_page.successfully_register_subject_with(VALID_DATA_FOR_SUBJECT)
        self.assertRegexpMatches(register_subject_page.get_flash_message(), message)

        self.driver.go_to(DATA_WINNER_HOME_PAGE)
        create_project_page = dashboard_page.navigate_to_create_project_page()
        create_subject_questionnaire_page = create_project_page.successfully_create_project_with(VALID_DATA_FOR_PROJECT)
        self.assertRegexpMatches(create_subject_questionnaire_page.get_title(),
                                 fetch_(PAGE_TITLE, from_(VALID_DATA_FOR_PROJECT)))

        create_questionnaire_page = create_subject_questionnaire_page.successfully_create_subject_questionnaire_with(None)
        self.assertRegexpMatches(create_questionnaire_page.get_title(),
                                 fetch_(PAGE_TITLE, from_(VALID_DATA_FOR_SUBJECT_QUESTIONNAIRE)))

        create_questionnaire_page.create_questionnaire_with(QUESTIONNAIRE_DATA)
        index = 2
        for question in fetch_(QUESTIONS, from_(QUESTIONNAIRE_DATA)):
            question_link_text = fetch_(QUESTION, from_(question)) + " " + fetch_(CODE, from_(question))
            self.assertEquals(create_questionnaire_page.get_question_link_text(index), question_link_text)
            index += 1
        time.sleep(5)
        self.assertEquals(create_questionnaire_page.get_remaining_character_count(),
                          fetch_(CHARACTER_REMAINING, from_(QUESTIONNAIRE_DATA)))
        create_questionnaire_page.save_questionnaire()
        time.sleep(3)
        self.assertEqual(create_questionnaire_page.get_title(), "Finish & Test")
        self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
        sms_tester_page = SMSTesterPage(self.driver)
        sms_tester_data = VALID_DATA_FOR_SMS
        sms_tester_data[RECEIVER] = organization_sms_tel_number
        sms_tester_page.send_sms_with(sms_tester_data)
        self.assertEqual(sms_tester_page.get_response_message(), fetch_(SUCCESS_MESSAGE, from_(sms_tester_data)))

        self.driver.go_to(DATA_WINNER_HOME_PAGE)
        view_all_project_page = dashboard_page.navigate_to_view_all_project_page()
        time.sleep(3)
        project_overview_project = view_all_project_page.navigate_to_project_page(fetch_(PROJECT_NAME, VALID_DATA_FOR_PROJECT))
        time.sleep(3)
        data_page = project_overview_project.navigate_to_data_page()
        time.sleep(3)
        submission_log_page = data_page.navigate_to_all_data_record_page()
        time.sleep(3)
        self.assertRegexpMatches(submission_log_page.get_submission_message(SMS_DATA_LOG), fetch_(SMS_SUBMISSION, from_(SMS_DATA_LOG)))

        self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
        sms_tester_data = VALID_DATA_FOR_SMS
        sms_tester_data[RECEIVER] = organization_sms_tel_number
        sms_tester_page.send_sms_with(sms_tester_data)
        self.assertEqual(sms_tester_page.get_response_message(), fetch_(SUCCESS_MESSAGE, from_(sms_tester_data)))
Ejemplo n.º 14
0
 def setUpClass(cls):
     HeadlessRunnerTest.setUpClass()
     login(cls.driver)
     cls.driver.go_to(DATA_WINNER_ALL_SUBJECT)
     cls.page = AddSubjectTypePage(cls.driver)
Ejemplo n.º 15
0
 def test_should_delete_cache_after_edit_subject(self):
     self.driver.go_to(url("/entity/subjects/"))
     add_subject_type_page = AddSubjectTypePage(self.driver)
     add_subject_type_page.click_on_accordian_link()
     entity_type = "alia"
     add_subject_type_page.successfully_add_entity_type_with(entity_type)
     self.driver.go_to(url("/entity/subject/create/" + entity_type))
     subjects_page = ProjectSubjectsPage(self.driver)
     subjects_page.click_edit_form_link_and_continue()
     from framework.utils.common_utils import by_css
     self.driver.find_text_box(
         by_css("#questionnaire-code")).enter_text("als")
     subjects_page.click_submit_button()
     self.driver.go_to(url("/entity/subjects/"))
     add_subject_type_page = AddSubjectTypePage(self.driver)
     add_subject_type_page.click_on_accordian_link()
     new_entity_type = "alida"
     add_subject_type_page.successfully_add_entity_type_with(
         new_entity_type)