def setUpClass(cls):
     HeadlessRunnerTest.setUpClass()
     cls.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(cls.driver)
     login_page.login_with(DATA_SENDER_CREDENTIALS)
     cls.driver.wait_for_element(UI_TEST_TIMEOUT, by_css("span.welcome"),
                                 True)
 def go_to_analysis_page(self, account):
     self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(self.driver)
     global_navigation = login_page.do_successful_login_with(account)
     all_data_page = global_navigation.navigate_to_all_data_page()
     analysis_page = all_data_page.navigate_to_data_analysis_page(PROJECT_NAME)
     return analysis_page
Exemple #3
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)))
Exemple #4
0
 def test_login_with_deactivated_account(self):
     self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(self.driver)
     login_page.login_with(DEACTIVATED_ACCOUNT_CREDENTIALS)
     self.assertEqual(
         login_page.get_error_message(),
         fetch_(ERROR_MESSAGE, from_(DEACTIVATED_ACCOUNT_CREDENTIALS)))
Exemple #5
0
    def test_successful_subject_registration(self):
        """
        Function to test the successful addition of a subject from "My Subjects" page
        with given details e.g. First Name, Last Name, Location, GPS, Mobile Number
        """

        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(self.driver)
        login_page.do_successful_login_with(VALID_CREDENTIALS)
        dashboard_page = DashboardPage(self.driver)

        # going on setup project page
        create_project_page = dashboard_page.navigate_to_create_project_page()
        create_project_page.create_project_with(VALID_PROJECT_DATA)
        create_project_page.continue_create_project()
        project_overview_page = create_project_page.save_and_create_project_successfully(
        )
        self.driver.wait_for_page_with_title(
            15, fetch_(PAGE_TITLE, from_(VALID_PROJECT_DATA)))
        self.assertEqual(self.driver.get_title(),
                         fetch_(PAGE_TITLE, from_(VALID_PROJECT_DATA)))
        project_subject_page = project_overview_page.navigate_to_subjects_page(
        )
        project_subject_registration_page = project_subject_page.click_register_subject(
        )
        project_subject_registration_page.add_subject_with(
            VALID_SUBJECT_REGISTRATION_DATA)
        project_subject_registration_page.submit_subject()
        success_message = project_subject_registration_page.get_flash_message()
        self.assertRegexpMatches(
            success_message,
            fetch_(SUCCESS_MSG, from_(VALID_SUBJECT_REGISTRATION_DATA)))
Exemple #6
0
def do_login(driver, email, password):
    driver.go_to(DATA_WINNER_LOGIN_PAGE)
    login_page = LoginPage(driver)
    return login_page.do_successful_login_with({
        USERNAME: email,
        PASSWORD: password
    })
Exemple #7
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)))
Exemple #8
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)))
Exemple #9
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)))
Exemple #10
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)))
Exemple #11
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)))
Exemple #12
0
 def prerequisites_of_register_subject(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 RegisterSubjectPage(self.driver)
    def setUpClass(cls):
        cls.driver = setup_driver()

        cls.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(cls.driver)
        cls.global_navigation = login_page.do_successful_login_with(
            VALID_CREDENTIALS)
Exemple #14
0
 def setUpClass(cls):
     cls.driver = setup_driver()
     cls.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(cls.driver)
     cls.dashboard = login_page.do_successful_login_with(VALID_CREDENTIALS)
     cls.reporting_period_project_name = None
     cls.URL = None
Exemple #15
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)))
Exemple #16
0
 def setUpClass(cls):
     cls.driver = setup_driver()
     cls.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(cls.driver)
     cls.global_navigation = login_page.do_successful_login_with(
         VALID_CREDENTIALS)
     cls.add_subjects_url = DATA_WINNER_ADD_SUBJECT + "clinic/?web_view=True"
 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)
Exemple #18
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)))
 def go_to_registered_datasenders_page(self, project_name=CLINIC_PROJECT1_NAME):
     self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(self.driver)
     self.global_navigation = login_page.do_successful_login_with(VALID_CREDENTIALS)
     all_project_page = self.global_navigation.navigate_to_view_all_project_page()
     project_overview_page = all_project_page.navigate_to_project_overview_page(project_name)
     return project_overview_page.navigate_to_datasenders_page()
    def test_create_and_activate_datasender(self):
        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(self.driver)
        global_navigation_page = login_page.do_successful_login_with(
            VALID_CREDENTIALS)
        add_datasender_page = global_navigation_page.navigate_to_all_data_sender_page(
        ).navigate_to_add_a_data_sender_page()
        email = generate_random_email_id()
        add_datasender_page.enter_data_sender_details_from(VALID_DATASENDER,
                                                           email=email)
        success_message = add_datasender_page.get_success_message()
        self.assertIn(VALID_DATASENDER[SUCCESS_MSG], success_message)
        rep_id = add_datasender_page.get_rep_id_from_success_message(
            success_message)
        add_datasender_page.close_add_datasender_dialog()
        all_datasender_page = global_navigation_page.navigate_to_all_data_sender_page(
        )
        all_datasender_page.associate_datasender_to_projects(
            rep_id, ["clinic test project1"])
        self.driver.go_to(LOGOUT)

        user = User.objects.get(username=email)
        token = default_token_generator.make_token(user)
        self.driver.go_to(
            url(DS_ACTIVATION_URL % (int_to_base36(user.id), token)))
        activation_page = ResetPasswordPage(self.driver)
        activation_page.type_same_password(NEW_PASSWORD)
        activation_page.click_submit()
        self.driver.wait_for_page_with_title(UI_TEST_TIMEOUT,
                                             "Data Submission")
        self.assertEqual(self.driver.get_title(), "Data Submission")
 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)
Exemple #22
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)))
Exemple #23
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)))
Exemple #24
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)))
Exemple #25
0
    def test_should_check_if_deleted_questionnaires_and_poll_not_be_in_questionnaires_list(
            self):
        self.driver.go_to(LOGOUT)
        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(self.driver)
        login_page.do_successful_login_with(USER_RASITEFA_CREDENTIALS)
        self.driver.go_to(DATA_WINNER_DASHBOARD_PAGE)
        dashboard_page = DashboardPage(self.driver)
        self.assertEqual(len(dashboard_page.get_projects_list()), 3)
        create_questionnaire_options_page = dashboard_page.navigate_to_create_project_page(
        )

        create_questionnaire_page = create_questionnaire_options_page.select_blank_questionnaire_creation_option(
        )
        create_questionnaire_page.create_questionnaire_with(
            NEW_PROJECT, QUESTIONNAIRE_DATA)
        global_navigation = GlobalNavigationPage(self.driver)
        project_overview_page = create_questionnaire_page.save_and_create_project_successfully(
        )
        project_name = project_overview_page.get_project_title()
        all_projects_page = global_navigation.navigate_to_view_all_project_page(
        )
        all_projects_page.delete_project(project_name)
        self.driver.go_to(DATA_WINNER_DASHBOARD_PAGE)
        dashboard_page = DashboardPage(self.driver)
        all_projects_page = ProjectsPage(self.driver)
        self.assertEqual(len(dashboard_page.get_projects_list()), 3)
        self.assertFalse(all_projects_page.is_project_present(project_name))
        self.global_navigation.sign_out()
Exemple #26
0
 def test_should_show_help_element_just_once(self):
     self.assertTrue(self.dashboard_page.is_help_element_present())
     self.dashboard_page.close_help_element()
     self.driver.go_to(LOGOUT)
     self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(self.driver)
     dashboard_page = login_page.do_successful_login_with(VALID_CREDENTIALS)
     self.assertFalse(self.dashboard_page.is_help_element_present())
Exemple #27
0
 def setUp(self):
     self.test_data = os.path.join(DIR, 'testdata')
     self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(self.driver)
     login_page.do_successful_login_with(VALID_CREDENTIALS)
     self.client = Client()
     self.client.login(username=DEFAULT_TEST_USER,
                       password=DEFAULT_TEST_PASSWORD)
 def setUpClass(cls):
     cls.driver = setup_driver()
     cls.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(cls.driver)
     cls.user = User.objects.get(username=fetch_(USERNAME, from_(TRIAL_CREDENTIALS_VALIDATES)))
     cls.user.groups.add(1)
     cls.dashboard = login_page.do_successful_login_with(TRIAL_CREDENTIALS_VALIDATES)
     cls.driver.go_to(UPGRADE_PAGE)
class LoginTests(unittest.TestCase):
    @pytest.fixture(autouse=True)
    def objectSetup(self):
        self.lp = LoginPage(self.driver)

    # @pytest.mark.run(order=2)
    def test_t1validLogin(self):
        self.lp.login("*****@*****.**", "password")
Exemple #30
0
 def go_to_analysis_page(self, credentials):
     self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(self.driver)
     global_navigation = login_page.do_successful_login_with(credentials)
     all_data_page = global_navigation.navigate_to_all_data_page()
     analysis_page = all_data_page.navigate_to_data_analysis_page(PROJECT_NAME)
     analysis_page.wait_for_table_data_to_load()
     return analysis_page
 def _navigate_to_send_message_page(cls, project_name="clinic test project1", credential=VALID_CREDENTIALS):
     cls.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(cls.driver)
     global_navigation = login_page.do_successful_login_with(credential)
     all_project_page = global_navigation.navigate_to_view_all_project_page()
     project_overview_page = all_project_page.navigate_to_project_overview_page(project_name)
     send_message_page = project_overview_page.navigate_send_message_tab()
     return send_message_page
Exemple #32
0
 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.global_navigation_page = GlobalNavigationPage(cls.driver)
     cls.project_title = cls.create_new_project()
     cls.email = None
    def prerequisites_of_create_project(self):
        # doing successful login with valid credentials
        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(self.driver)
        dashboard_page = login_page.do_successful_login_with(VALID_CREDENTIALS)

        # going on setup project page
        return dashboard_page.navigate_to_create_project_page()
Exemple #34
0
    def prerequisites_of_edit_project(self):
        # doing successful login with valid credentials
        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(self.driver)
        global_navigation = login_page.do_successful_login_with(VALID_CREDENTIALS)

        # going on all project page
        return global_navigation.navigate_to_view_all_project_page()
Exemple #35
0
 def prerequisites_of_add_subject(self, subject_data):
     # 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)
     entity_type = fetch_(ENTITY_TYPE, from_(subject_data))
     self.driver.go_to(DATA_WINNER_ADD_SUBJECT + entity_type)
     return AddSubjectPage(self.driver)
 def setUpClass(cls):
     HeadlessRunnerTest.setUpClass()
     cls.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(cls.driver)
     cls.global_navigation = login_page.do_successful_login_with(
         VALID_CREDENTIALS)
     cls.project_name, cls.questionnaire_code = cls._create_project(
         EDIT_PROJECT_DATA, EDIT_PROJECT_QUESTIONNAIRE_DATA)
    def prerequisites_of_register_reporter(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)

        # doing reporter registration
        self.driver.go_to(DATA_WINNER_CREATE_DATA_SENDERS)
        return ReporterRegistrationPage(self.driver)
 def prerequisites_of_edit_subject_registration_form(self):
     self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(self.driver)
     global_navigation = login_page.do_successful_login_with(
         VALID_CREDENTIALS)
     all_project_page = global_navigation.navigate_to_view_all_project_page(
     )
     self.project_overview_page = all_project_page.navigate_to_project_overview_page(
         "Clinic5 Test Project")
 def prerequisites_of_create_questionnaire(self):
     # doing successful login with valid credentials
     self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
     login_page = LoginPage(self.driver)
     dashboard_page = login_page.do_successful_login_with(VALID_CREDENTIALS)
     # going on setup project page
     create_project_page = dashboard_page.navigate_to_create_project_page()
     #Navigating to Create Questionnaire Page by successfully creating a Project
     create_subject_questionnaire_page = create_project_page.successfully_create_project_with(VALID_DATA2)
     create_questionnaire_page = create_subject_questionnaire_page.successfully_create_subject_questionnaire_with(None)
     return create_questionnaire_page
 def prerequisites_of_submission_log(self, sms_data):
     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)))
     self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE)
     sms_tester_page = SMSTesterPage(self.driver)
     sms_tester_page.send_sms_with(sms_data)
     self.assertEqual(sms_tester_page.get_response_message(), fetch_(MESSAGE, from_(sms_data)))
     self.driver.go_to(DATA_WINNER_DASHBOARD_PAGE)
     time.sleep(5)
     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(PROJECT_NAME)
     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()
     return submission_log_page
Exemple #41
0
    def test_register_link_functionality(self):

        self.driver.go_to(DATA_WINNER_LOGIN_PAGE)
        login_page = LoginPage(self.driver)
        register_page = login_page.navigate_to_registration_page()
        self.assertEqual(register_page.get_title(), "Register")
    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)))