示例#1
0
 def verify_submission2(self, global_navigation, sms_log):
     view_all_data_page = global_navigation.navigate_to_all_data_page()
     submission_log_page = view_all_data_page.navigate_to_submission_log_page(
         fetch_(PROJECT_NAME, VALID_DATA_FOR_PROJECT).lower())
     self.assertRegexpMatches(submission_log_page.get_submission_message(sms_log),
                              fetch_(SMS_SUBMISSION, from_(sms_log)))
     self.assertEqual(self.driver.get_title(), "Submission Log")
示例#2
0
    def test_should_update_submission_log_when_subject_info_is_edited(self):
        self.driver.go_to(url("/entity/subject/create/clinic/?web_view=True&"))
        add_subject_page = AddSubjectPage(self.driver)
        add_subject_page.add_subject_with(VALID_DATA_FOR_SUBJECT)
        add_subject_page.submit_subject()
        message = fetch_(SUCCESS_MESSAGE, from_(VALID_DATA_FOR_SUBJECT))

        flash_message = add_subject_page.get_flash_message()
        subject_short_code = get_subject_short_code(flash_message)
        message = message % subject_short_code
        self.assertIn(message, flash_message)

        VALID_SMS_FOR_EDIT_SUBJECT[SMS] = VALID_SMS_FOR_EDIT_SUBJECT[
            SMS].replace('short_code', subject_short_code, 1)
        send_valid_sms_with(VALID_SMS_FOR_EDIT_SUBJECT)

        submission_log_page = self.get_first_project_submission_log_page()
        submission_log_page.search(subject_short_code)
        self.assertIn(fetch_(SUB_LAST_NAME, VALID_DATA_FOR_SUBJECT),
                      submission_log_page.get_cell_value(1, 5))

        self.driver.go_to(url("/entity/subjects/clinic/"))
        subject_list_page = AllSubjectsListPage(self.driver)
        self.driver.wait_for_page_load()
        subject_list_page.select_subject_by_id(subject_short_code)
        edit_subject_page = subject_list_page.click_edit_action_button()
        edit_subject_page.add_subject_with(VALID_DATA_FOR_EDIT)
        edit_subject_page.submit_subject()

        submission_log_page = self.get_first_project_submission_log_page()
        submission_log_page.search(subject_short_code)
        self.assertIn(fetch_(SUB_LAST_NAME, VALID_DATA_FOR_EDIT),
                      submission_log_page.get_cell_value(1, 5))
示例#3
0
    def test_should_filter_by_name_and_id_of_datasender_and_subject(self):

        self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
        send_valid_sms_with(SMS_REGISTER_SUBJECT)
        send_valid_sms_with(SMS_WEB_SUBMISSION)

        submission_log_page = self.go_to_submission_log_page()
        submission_log_page.wait_for_table_data_to_load()

        datasender_name = 'Tester'
        submission_log_page.filter_by_datasender(datasender_name)
        submission_log_page.wait_for_table_data_to_load()
        self._verify_filtered_records_by_datasender_name_or_id(
            datasender_name, submission_log_page)

        project_name = fetch_("last_name", from_(SUBJECT_DATA))
        submission_log_page.filter_by_subject(project_name)
        submission_log_page.wait_for_table_data_to_load()
        self._verify_filtered_records_by_subject_name_or_id(
            project_name, submission_log_page)

        datasender_id = 'rep276'
        submission_log_page.refresh()
        submission_log_page.filter_by_datasender(datasender_id)
        submission_log_page.wait_for_table_data_to_load()
        self._verify_filtered_records_by_datasender_name_or_id(
            datasender_id, submission_log_page)

        project_short_code = fetch_("short_code", from_(SUBJECT_DATA))
        submission_log_page.refresh()
        submission_log_page.filter_by_subject(project_short_code)
        submission_log_page.wait_for_table_data_to_load()
        self._verify_filtered_records_by_subject_name_or_id(
            project_short_code, submission_log_page)
示例#4
0
 def associate(self, all_data_sender_page):
     all_data_sender_page.select_a_data_sender_by_id(
         fetch_(UID, from_(ASSOCIATE_DATA_SENDER)))
     all_data_sender_page.associate_data_sender()
     all_data_sender_page.select_project(
         fetch_(PROJECT_NAME, from_(ASSOCIATE_DATA_SENDER)))
     all_data_sender_page.click_confirm(wait=True)
示例#5
0
 def test_successful_association_of_data_sender(self):
     all_data_sender_page = self.page
     self.associate(all_data_sender_page)
     self.assertEqual(
         all_data_sender_page.get_project_names(
             fetch_(UID, from_(ASSOCIATE_DATA_SENDER))),
         fetch_(PROJECT_NAME, from_(ASSOCIATE_DATA_SENDER)))
    def configure_list_of_choices_type_question(self, question_data):
        """
        Function to select list of choices option and add the choices on the questionnaire page

        Args:
        question_data is to add the choices on the page

        return self
        """
        self.driver.find_drop_down(ANSWER_TYPE_DROPDOWN).set_selected(
            LIST_OF_CHOICES_OPTION)
        self.driver.find_element_by_id("choice_text0").clear()
        index = 1
        choices = fetch_(CHOICE, from_(question_data))
        for choice in choices:
            if index > 1:
                self.driver.find(ADD_CHOICE_LINK).click()
                box = self.driver.find_text_box(
                    by_id("choice_text%d" % (index - 1)))
                box.send_keys(choice)
            index += 1
        box = self.driver.find_text_box(
            by_xpath(CHOICE_XPATH_LOCATOR + "[1]" + CHOICE_TB_XPATH_LOCATOR))
        box.send_keys(choices[0])
        choice_type = fetch_(ALLOWED_CHOICE, from_(question_data))
        if ONLY_ONE_ANSWER == choice_type:
            self.driver.find_radio_button(ONLY_ONE_ANSWER_RB).click()
        elif MULTIPLE_ANSWERS == choice_type:
            self.driver.find_radio_button(MULTIPLE_ANSWER_RB).click()
        return self
示例#7
0
    def test_delete_data_sender_and_re_register(self):
        all_data_sender_page = self.page
        self.delete_ds(all_data_sender_page)
        self.assertEqual(all_data_sender_page.get_delete_success_message(),
                         DELETE_SUCCESS_TEXT)
        global_navigation = GlobalNavigationPage(self.driver)
        global_navigation.sign_out()

        sms_tester_page = SMSTesterPage(self.driver)
        self.send_sms(VALID_SMS, sms_tester_page)
        self.assertEqual(sms_tester_page.get_response_message(),
                         SMS_ERROR_MESSAGE)

        self.login()
        self.driver.go_to(DATA_WINNER_CREATE_DATA_SENDERS)
        add_data_sender_page = AddDataSenderPage(self.driver)
        add_data_sender_page.enter_data_sender_details_from(VALID_DATA)
        message = add_data_sender_page.get_success_message()
        self.assertRegexpMatches(message, fetch_(SUCCESS_MSG,
                                                 from_(VALID_DATA)))
        self.assertNotEqual(message.split()[-1],
                            fetch_(UID, from_(DELETE_DATA_SENDER)))
        self.driver.wait_until_modal_dismissed(10)
        global_navigation.sign_out()

        self.send_sms(VALID_SMS, sms_tester_page)
        self.assertEqual(sms_tester_page.get_response_message(),
                         fetch_(SUCCESS_MESSAGE, from_(VALID_SMS)))
        self.login()
示例#8
0
 def edit_questionnaire(self, edit_questionnaire_page):
     questions = fetch_(QUESTIONS, from_(NEW_QUESTIONNAIRE_DATA))
     edit_questionnaire_page.select_question_link(3)
     edit_questionnaire_page.configure_number_type_question(questions[0])
     edit_questionnaire_page.add_question(questions[1])
     self.assertEquals(edit_questionnaire_page.get_remaining_character_count(),
                       fetch_(CHARACTER_REMAINING, from_(NEW_QUESTIONNAIRE_DATA)))
     edit_questionnaire_page.save_and_create_project_successfully()
示例#9
0
 def verify_submission1(self, global_navigation, sms_log):
     view_all_project_page = global_navigation.navigate_to_view_all_project_page()
     project_overview_project = view_all_project_page.navigate_to_project_overview_page(
         fetch_(PROJECT_NAME, VALID_DATA_FOR_PROJECT).lower())
     data_page = project_overview_project.navigate_to_data_page()
     submission_log_page = data_page.navigate_to_all_data_record_page()
     self.assertRegexpMatches(submission_log_page.get_submission_message(sms_log),
                              fetch_(SMS_SUBMISSION, from_(sms_log)))
示例#10
0
 def test_dissociate_ds_without_selecting_project(self):
     all_data_sender_page = self.page
     all_data_sender_page.select_a_data_sender_by_id(
         fetch_(UID, from_(DISSOCIATE_DS_WITHOUT_SELECTING_PROJECT)))
     all_data_sender_page.dissociate_data_sender()
     all_data_sender_page.click_confirm()
     self.assertEqual(
         all_data_sender_page.get_error_message(),
         fetch_(ERROR_MSG, from_(DISSOCIATE_DS_WITHOUT_SELECTING_PROJECT)))
 def type_project_name(self, project_data):
     project_name = fetch_(PROJECT_NAME, from_(project_data))
     try:
         gen_random = fetch_(GEN_RANDOM, from_(project_data))
     except KeyError:
         gen_random = False
     if gen_random:
         project_name += generateId()
     self.driver.find_text_box(PROJECT_NAME_TB).enter_text(project_name)
     return project_name
示例#12
0
 def test_successful_review_of_project(self):
     review_page = self.prerequisites_of_create_project()
     self.assertEqual(fetch_(PROJECT_PROFILE, from_(VALID_DATA)),
                      review_page.get_project_profile_details())
     review_page.open_subject_accordion()
     self.assertEqual(fetch_(SUBJECT_DETAILS, from_(VALID_DATA)),
                      review_page.get_subject_details())
     review_page.open_questionnaire_accordion()
     self.assertEqual(fetch_(QUESTIONNAIRE, from_(VALID_DATA)),
                      review_page.get_questionnaire())
示例#13
0
 def create_questionnaire(self, create_questionnaire_page):
     create_questionnaire_page.create_questionnaire_with(QUESTIONNAIRE_DATA)
     index = 3
     for question in fetch_(QUESTIONS, from_(QUESTIONNAIRE_DATA)):
         question_link_text = fetch_(QUESTION, from_(question))
         self.assertEquals(create_questionnaire_page.get_question_link_text(index), question_link_text)
         index += 1
     self.assertEquals(create_questionnaire_page.get_remaining_character_count(),
                       fetch_(CHARACTER_REMAINING, from_(QUESTIONNAIRE_DATA)))
     project_overview_page = create_questionnaire_page.save_and_create_project_successfully()
     return project_overview_page
示例#14
0
    def review_project_summary(self, review_page):
        self.assertEqual(fetch_(PROJECT_PROFILE, from_(VALID_DATA_REVIEW_AND_TEST)),
                         review_page.get_project_profile_details())
        review_page.open_subject_accordion()
        self.assertEqual(fetch_(SUBJECT_DETAILS, from_(VALID_DATA_REVIEW_AND_TEST)), review_page.get_subject_details())
        # unreliable in firefox in CI, works fine locally
#        review_page.open_data_sender_accordion()
#        self.assertEqual(fetch_(DATA_SENDER_COUNT, from_(VALID_DATA_REVIEW_AND_TEST)),
#                         review_page.get_data_sender_count())
        review_page.open_questionnaire_accordion()
        self.assertEqual(fetch_(QUESTIONNAIRE, from_(VALID_DATA_REVIEW_AND_TEST)), review_page.get_questionnaire())
示例#15
0
    def test_end_to_end(self):
        """todo: failed randomly when run ft"""
        self.email = None
        self.do_org_registartion()

        organization_sms_tel_number = self.set_organization_number()
        self.activate_account()
        global_navigation = self.do_login()

        dashboard_page = global_navigation.navigate_to_dashboard_page()
        create_project_page = dashboard_page.navigate_to_create_project_page()
        create_project_page.select_report_type(VALID_DATA_FOR_PROJECT)
        self.add_subject_type(create_project_page, VALID_SUBJECT_TYPE2[ENTITY_TYPE])
        self.add_subject_type(create_project_page, VALID_SUBJECT_TYPE1[ENTITY_TYPE])
        create_questionnaire_page = self.create_project(create_project_page)
        self.create_questionnaire(create_questionnaire_page)

        global_navigation.navigate_to_all_subject_page()
        add_subject_page = AddSubjectPage(self.driver)
        self.driver.go_to("http://localhost:8000/entity/subject/create/waterpoint/")
        self.add_a_subject(add_subject_page)

        all_data_senders_page = global_navigation.navigate_to_all_data_sender_page()
        add_data_sender_page = all_data_senders_page.navigate_to_add_a_data_sender_page()
        self.add_a_data_sender(add_data_sender_page)

        self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
        self.send_sms(organization_sms_tel_number, VALID_DATA_FOR_SMS)

        self.driver.go_to(DATA_WINNER_DASHBOARD_PAGE)
        self.verify_submission1(global_navigation, SMS_DATA_LOG)

        all_projects_page = global_navigation.navigate_to_view_all_project_page()
        project_overview_page = all_projects_page.navigate_to_project_overview_page(
            fetch_(PROJECT_NAME, from_(VALID_DATA_FOR_PROJECT)))
        edit_project_page = project_overview_page.navigate_to_edit_project_page()
        edit_project_page.continue_create_project()
        edit_questionnaire_page = create_questionnaire_page
        self.verify_questionnaire(edit_questionnaire_page)
        self.edit_questionnaire(edit_questionnaire_page)

        all_projects_page = global_navigation.navigate_to_view_all_project_page()
        project_name = fetch_(PROJECT_NAME, from_(VALID_DATA_FOR_PROJECT))
        activate_project_light_box = all_projects_page.open_activate_project_light_box(project_name)
        self.assertEqual(activate_project_light_box.get_title_of_light_box(), "Activate this Project?")
        project_overview_page = activate_project_light_box.activate_project()
        self.assertEqual(project_overview_page.get_status_of_the_project(), "Active")

        self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
        self.send_sms(organization_sms_tel_number, NEW_VALID_DATA_FOR_SMS)

        self.driver.go_to(DATA_WINNER_DASHBOARD_PAGE)
        self.verify_submission2(global_navigation, NEW_SMS_DATA_LOG)
    def test_successful_addition_editing_of_data_sender(self):
        add_data_sender_page = self.current_page
        add_data_sender_page.enter_data_sender_details_from(VALID_DATA)

        self.assertRegexpMatches(add_data_sender_page.get_success_message(),
                                 fetch_(SUCCESS_MSG, from_(VALID_DATA)))
        self.driver.go_to(DATA_WINNER_ALL_DATA_SENDERS_PAGE)
        all_data_senders_page = AllDataSendersPage(self.driver)
        all_data_senders_page.select_a_data_sender_by_mobile(VALID_DATA[MOBILE_NUMBER_WITHOUT_HYPHENS])
        all_data_senders_page.select_edit_action()
        self.current_page.enter_data_sender_details_from(VALID_EDIT_DATA)
        self.assertRegexpMatches(self.current_page.get_success_message(),
            fetch_(SUCCESS_MSG, from_(VALID_EDIT_DATA)))
示例#17
0
    def configure_number_type_question(self, question_data):
        """
        Function to select number option and fill the details (min or max) on the questionnaire page

        Args:
        question_data is data to fill in the min and max fields

        return self
        """
        self.driver.find_drop_down(ANSWER_TYPE_DROPDOWN).set_selected(NUMBER_OPTION)
        self.driver.find_text_box(NUMBER_MIN_LENGTH_TB).enter_text(fetch_(MIN, from_(question_data)))
        self.driver.find_text_box(NUMBER_MAX_LENGTH_TB).enter_text(fetch_(MAX, from_(question_data)))
        return self
示例#18
0
 def assert_fields_are_populated_properly_in_edit_page(
         self, valid_registration_data):
     self.assertEquals(
         fetch_(NAME, from_(valid_registration_data)),
         self.driver.find_text_box(NAME_TB).get_attribute('value'))
     self.assertEquals(
         fetch_(MOBILE_NUMBER, from_(valid_registration_data)),
         self.driver.find_text_box(MOBILE_NUMBER_TB).get_attribute('value'))
     self.assertEqual(
         fetch_(COMMUNE, from_(valid_registration_data)),
         self.driver.find_text_box(COMMUNE_TB).get_attribute('value'))
     self.assertEqual(
         fetch_(GPS, from_(valid_registration_data)),
         self.driver.find_text_box(GPS_TB).get_attribute('value'))
 def test_successful_addition_and_editing_of_data_sender(self):
     add_data_sender_page = self.current_page
     add_data_sender_page.enter_data_sender_details_from(VALID_DATA)
     success_msg = add_data_sender_page.get_success_message()
     self.assertIn(fetch_(SUCCESS_MSG, from_(VALID_DATA)), success_msg)
     rep_id = self._parse(success_msg)
     all_data_senders_page = AllDataSendersPage(self.driver)
     all_data_senders_page.load()
     all_data_senders_page.search_with(rep_id)
     all_data_senders_page.select_a_data_sender_by_id(rep_id)
     all_data_senders_page.select_edit_action()
     self.current_page.enter_data_sender_details_from(VALID_EDIT_DATA)
     self.assertRegexpMatches(self.current_page.get_success_message(),
                              fetch_(SUCCESS_MSG, from_(VALID_EDIT_DATA)))
示例#20
0
 def test_successful_dissociation_of_data_sender(self):
     all_data_sender_page = self.page
     if all_data_sender_page.get_project_names(
             fetch_(UID, from_(ASSOCIATE_DATA_SENDER))) == "--":
         self.associate(all_data_sender_page)
     all_data_sender_page.select_a_data_sender_by_id(
         fetch_(UID, from_(DISSOCIATE_DATA_SENDER)))
     all_data_sender_page.dissociate_data_sender()
     all_data_sender_page.select_project(
         fetch_(PROJECT_NAME, from_(DISSOCIATE_DATA_SENDER)))
     all_data_sender_page.click_confirm(wait=True)
     self.assertEqual(
         all_data_sender_page.get_project_names(
             fetch_(UID, from_(DISSOCIATE_DATA_SENDER))), "--")
    def test_successful_questionnaire_creation(self):
        create_project_page = self.goto_dashboard().navigate_to_create_project_page()
        create_project_page.create_project_with(CLINIC_PROJECT_DATA)
        create_project_page.continue_create_project()
        create_questionnaire_page = CreateQuestionnairePage(self.driver)
        create_questionnaire_page.create_questionnaire_with(QUESTIONNAIRE_DATA_WITH_MANY_MC_QUSTIONS)

        index = 3
        for question in fetch_(QUESTIONS, from_(QUESTIONNAIRE_DATA_WITH_MANY_MC_QUSTIONS)):
            question_link_text = fetch_(QUESTION, from_(question))
            self.assertEquals(create_questionnaire_page.get_question_link_text(index), question_link_text)
            index += 1
        overview_page = create_questionnaire_page.save_and_create_project_successfully()
        project_name = overview_page.get_project_title()
        self.assertTrue(fetch_(PROJECT_NAME, from_(CLINIC_PROJECT_DATA)) in project_name)
 def prerequisites_of_activate_account(self):
     self.driver.go_to(DATA_WINNER_REGISTER_PAGE)
     registration_page = RegistrationPage(self.driver)
     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)))
     return self.email
示例#23
0
 def test_register_ngo_with_existing_email_address(self):
     self.driver.go_to(DATA_WINNER_REGISTER_PAGE)
     registration_page = RegistrationPage(self.driver)
     registration_page.register_with(EXISTING_EMAIL_ADDRESS)
     time.sleep(5)
     self.assertEquals(registration_page.get_error_message(), fetch_(ERROR_MESSAGE,
                from_(EXISTING_EMAIL_ADDRESS)))
示例#24
0
 def test_register_ngo_with_invalid_email_address(self):
     self.driver.go_to(DATA_WINNER_REGISTER_PAGE)
     registration_page = RegistrationPage(self.driver)
     registration_page.register_with(INVALID_EMAIL_FORMAT)
     time.sleep(5)
     self.assertEquals(registration_page.get_error_message(),
                       fetch_(ERROR_MESSAGE, from_(INVALID_EMAIL_FORMAT)))
示例#25
0
 def test_register_ngo_with_unmatched_passwords(self):
     self.driver.go_to(DATA_WINNER_REGISTER_PAGE)
     registration_page = RegistrationPage(self.driver)
     registration_page.register_with(UNMATCHED_PASSWORD)
     time.sleep(5)
     self.assertEquals(registration_page.get_error_message(),
                       fetch_(ERROR_MESSAGE, from_(UNMATCHED_PASSWORD)))
示例#26
0
    def test_login_without_entering_email_and_password(self):

        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(self.driver)
        login_page.login_with(BLANK_CREDENTIALS)
        self.assertEqual(login_page.get_error_message(), fetch_(ERROR_MESSAGE,
                                                from_(BLANK_CREDENTIALS)))
示例#27
0
    def test_login_without_entering_email_address(self):

        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(self.driver)
        login_page.login_with(BLANK_EMAIL_ADDRESS)
        self.assertEqual(login_page.get_error_message(),
                         fetch_(ERROR_MESSAGE, from_(BLANK_EMAIL_ADDRESS)))
示例#28
0
    def test_login_with_invalid_format_email_address(self):

        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(self.driver)
        login_page.login_with(INVALID_EMAIL_ID_FORMAT)
        self.assertEqual(login_page.get_error_message(),
                         fetch_(ERROR_MESSAGE, from_(INVALID_EMAIL_ID_FORMAT)))
示例#29
0
 def test_login_with_unactivated_account_credentials(self):
     self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(self.driver)
     login_page.login_with(UNACTIVATED_ACCOUNT_CREDENTIALS)
     self.assertEqual(login_page.get_error_message(),
                      fetch_(ERROR_MESSAGE,
                             from_(UNACTIVATED_ACCOUNT_CREDENTIALS)))
示例#30
0
    def test_login_with_valid_credentials(self):
        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(self.driver)

        dashboard_page = login_page.do_successful_login_with(VALID_CREDENTIALS)
        self.assertEqual(dashboard_page.welcome_message(),
            fetch_(WELCOME_MESSAGE, from_(VALID_CREDENTIALS)))
示例#31
0
 def test_register_ngo_without_entering_data(self):
     self.driver.go_to(DATA_WINNER_REGISTER_PAGE)
     registration_page = RegistrationPage(self.driver)
     registration_page.register_with(WITHOUT_ENTERING_REQUIRED_FIELDS)
     time.sleep(5)
     self.assertEquals(registration_page.get_error_message(),
                       fetch_(ERROR_MESSAGE, from_(WITHOUT_ENTERING_REQUIRED_FIELDS)))
示例#32
0
 def test_register_ngo_with_invalid_web_url(self):
     self.driver.go_to(DATA_WINNER_REGISTER_PAGE)
     registration_page = RegistrationPage(self.driver)
     registration_page.register_with(INVALID_WEBSITE_URL)
     time.sleep(5)
     self.assertEquals(registration_page.get_error_message(),
                       fetch_(ERROR_MESSAGE, from_(INVALID_WEBSITE_URL)))
示例#33
0
    def test_login_with_invalid_password_credential(self):

        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(self.driver)
        login_page.login_with(INVALID_PASSWORD)
        self.assertEqual(login_page.get_error_message(),
                         fetch_(ERROR_MESSAGE, from_(INVALID_PASSWORD)))
 def test_registration_of_reporter_with_invalid_gps_with_comma(self):
     """
     Function to test the registration of reporter with invalid GPS
     """
     register_reporter_page = self.prerequisites_of_register_reporter()
     register_reporter_page.register_with(INVALID_GPS_WITH_COMMA)
     self.assertRegexpMatches(register_reporter_page.get_error_message(),
                              fetch_(ERROR_MSG, from_(INVALID_GPS_WITH_COMMA)))
 def test_registration_of_reporter_with_unicode_in_gps(self):
     """
     Function to test the registration of reporter with invalid GPS
     """
     register_reporter_page = self.prerequisites_of_register_reporter()
     register_reporter_page.register_with(WITH_UNICODE_IN_GPS)
     self.assertRegexpMatches(register_reporter_page.get_error_message(),
                              fetch_(ERROR_MSG, from_(WITH_UNICODE_IN_GPS)))
示例#36
0
    def test_successful_registration(self):

        self.driver.go_to(DATA_WINNER_REGISTER_PAGE)
        registration_page = RegistrationPage(self.driver)
        registration_confirmation_page, 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)))
示例#37
0
 def test_sms_player_for_registration_of_existing_subject_short_code(self):
     """
     Function to test the registration of the existing subject short code using sms submission with registered number
     """
     self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
     sms_tester_page = SMSTesterPage(self.driver)
     sms_tester_page.send_sms_with(REGISTER_EXISTING_SUBJECT_SHORT_CODE)
     self.assertEqual(sms_tester_page.get_response_message(), fetch_(ERROR_MSG, from_(REGISTER_EXISTING_SUBJECT_SHORT_CODE)))
 def test_successful_questionnaire_creation(self):
     """
     Function to test the successful Creation of a Questionnaire with given details
     """
     create_questionnaire_page = self.prerequisites_of_create_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(), "Data Senders")
示例#39
0
 def test_sms_player_for_registration_of_reporter_from_unknown_number(self):
     """
     Function to test the registration of the reporter using sms submission with unregistered number
     """
     self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
     sms_tester_page = SMSTesterPage(self.driver)
     sms_tester_page.send_sms_with(REGISTER_REPORTER_FROM_UNKNOWN_NUMBER)
     self.assertEqual(sms_tester_page.get_response_message(), fetch_(ERROR_MSG, from_(REGISTER_REPORTER_FROM_UNKNOWN_NUMBER)))
示例#40
0
 def test_sms_player_for_registration_of_new_subject(self):
     """
     Function to test the registration of the new subject using sms submission with registered number
     """
     self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
     sms_tester_page = SMSTesterPage(self.driver)
     sms_tester_page.send_sms_with(REGISTER_NEW_SUBJECT)
     self.assertEqual(sms_tester_page.get_response_message(), fetch_(SUCCESS_MESSAGE, from_(REGISTER_NEW_SUBJECT)))
示例#41
0
 def test_sms_player_for_unregistered_from_number(self):
     """
     Function to test the error message on the sms submission page for unregistered number in from field
     """
     self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
     sms_tester_page = SMSTesterPage(self.driver)
     sms_tester_page.send_sms_with(UNREGISTERED_FROM_NUMBER)
     self.assertEqual(sms_tester_page.get_response_message(), fetch_(ERROR_MSG, from_(UNREGISTERED_FROM_NUMBER)))
示例#42
0
 def test_sms_player_for_registration_of_reporter(self):
     """
     Function to test the registration of the reporter using sms submission with registered number
     """
     self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
     sms_tester_page = SMSTesterPage(self.driver)
     sms_tester_page.send_sms_with(REGISTER_REPORTER)
     self.assertRegexpMatches(sms_tester_page.get_response_message(), fetch_(SUCCESS_MESSAGE, from_(REGISTER_REPORTER)))
示例#43
0
 def test_sms_player_for_exceeding_word_length(self):
     """
     Function to test the error message on the sms submission page for exceeding word limit for word type question
     """
     self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
     sms_tester_page = SMSTesterPage(self.driver)
     sms_tester_page.send_sms_with(EXCEED_NAME_LENGTH)
     self.assertEqual(sms_tester_page.get_response_message(), fetch_(ERROR_MSG, from_(EXCEED_NAME_LENGTH)))
示例#44
0
 def test_sms_player_for_plus_in_the_beginning(self):
     """
     Function to test the error message on the sms submission page for plus sign in the beginning of SMS
     """
     self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
     sms_tester_page = SMSTesterPage(self.driver)
     sms_tester_page.send_sms_with(PLUS_IN_THE_BEGINNING)
     self.assertEqual(sms_tester_page.get_response_message(), fetch_(ERROR_MSG, from_(PLUS_IN_THE_BEGINNING)))
示例#45
0
 def test_successful_sms_submission(self):
     """
     Function to test the successful SMS submission
     """
     self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
     sms_tester_page = SMSTesterPage(self.driver)
     sms_tester_page.send_sms_with(VALID_DATA)
     self.assertEqual(sms_tester_page.get_response_message(), fetch_(SUCCESS_MESSAGE, from_(VALID_DATA)))
示例#46
0
 def test_sms_player_without_entering_data(self):
     """
     Function to test the error message on the sms submission page for blank field
     """
     self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
     sms_tester_page = SMSTesterPage(self.driver)
     sms_tester_page.send_sms_with(BLANK_FIELDS)
     self.assertEqual(sms_tester_page.get_error_message(), fetch_(ERROR_MSG, from_(BLANK_FIELDS)))
示例#47
0
 def test_sms_player_for_registration_with_invalid_geo_code(self):
     """
     Function to test the registration of the new subject with invalid geo code using sms submission with registered number
     """
     self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
     sms_tester_page = SMSTesterPage(self.driver)
     sms_tester_page.send_sms_with(REGISTER_INVALID_GEO_CODE)
     self.assertEqual(sms_tester_page.get_response_message(), fetch_(ERROR_MSG, from_(REGISTER_INVALID_GEO_CODE)))
 def test_registration_of_reporter_with_invalid_latitude_gps(self):
     """
     Function to test the registration of reporter with invalid GPS
     """
     register_reporter_page = self.prerequisites_of_register_reporter()
     register_reporter_page.register_with(INVALID_LATITUDE_GPS)
     self.assertRegexpMatches(register_reporter_page.get_error_message(),
                              fetch_(ERROR_MSG, from_(INVALID_LATITUDE_GPS)))
 def test_registration_of_reporter_without_gps(self):
     """
     Function to test the registration of reporter with invalid GPS
     """
     register_reporter_page = self.prerequisites_of_register_reporter()
     register_reporter_page.register_with(WITHOUT_GPS)
     self.assertRegexpMatches(register_reporter_page.get_success_message(),
                              fetch_(SUCCESS_MSG, from_(WITHOUT_GPS)))
 def test_registration_of_reporter_without_location_name(self):
     """
     Function to test the registration of reporter without giving location name
     """
     register_reporter_page = self.prerequisites_of_register_reporter()
     register_reporter_page.register_with(WITHOUT_LOCATION_NAME)
     self.assertRegexpMatches(register_reporter_page.get_success_message(),
                              fetch_(SUCCESS_MSG, from_(WITHOUT_LOCATION_NAME)))
 def test_registration_of_reporter_without_entering_data(self):
     """
     Function to test the registration of reporter without giving any data
     """
     register_reporter_page = self.prerequisites_of_register_reporter()
     register_reporter_page.register_with(BLANK_FIELDS)
     time.sleep(5)
     self.assertEqual(register_reporter_page.get_error_message(),
                              fetch_(ERROR_MSG, from_(BLANK_FIELDS)))