def navigate_to_clinic3_overview_page(self): # going on all project page self.driver.go_to(DATA_WINNER_ALL_PROJECTS_PAGE) self.driver.wait_for_element(UI_TEST_TIMEOUT, ALL_PROJECTS_TABLE_LINK, True) all_project_page = ProjectsPage(self.driver) return all_project_page.navigate_to_project_overview_page(PROJECT_NAME)
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()
def open_clinic5_project_and_send_msg_via_sms_questionnaire(self, message): self.driver.go_to(DATA_WINNER_ALL_PROJECTS_PAGE) all_project_page = ProjectsPage(self.driver) project_overview_page = all_project_page.navigate_to_project_overview_page( "clinic5 test project") sms_tester_page = project_overview_page.open_sms_tester_light_box() sms_tester_page.hit_clear_message_link() sms_tester_page.send_sms_with(message) self.wait_while_loading() return sms_tester_page
def test_editing_existing_questionnaire(self): self.global_navigation.navigate_to_view_all_project_page() ProjectsPage(self.driver).navigate_to_project_overview_page(TestProjectQuestionnaire.project_name)\ .navigate_to_questionnaire_tab() questionnaire_tab_page = self.questionnaire_tab_page self.assertEqual( questionnaire_tab_page.get_select_or_edit_question_message(), "Add or edit a question", "No question should be selected by default") self.assertIn(EDIT_PROJECT_DATA[PROJECT_NAME], lower(questionnaire_tab_page.get_questionnaire_title())) self.assertEqual(questionnaire_tab_page.get_existing_questions_count(), len(EDIT_PROJECT_QUESTIONNAIRE_DATA[QUESTIONS]), "Question count does not match") expected_existing_questions = [ question[QUESTION] for question in EDIT_PROJECT_QUESTIONNAIRE_DATA[QUESTIONS] ] self.assertEqual(questionnaire_tab_page.get_existing_question_list(), expected_existing_questions, "Mismatch in question list") questionnaire_tab_page.submit_questionnaire() self.assertEqual(questionnaire_tab_page.get_success_message(), SUCCESS_PROJECT_SAVE_MESSAGE, "Saving of unaltered questionnaire failed")
def click_on_save_change(self): """ Function to navigate to view all projects page of the website. Return view all projects page """ self.driver.find("#save_changes").click() return ProjectsPage(self.driver)
def navigate_to_view_all_project_page(self): """ Function to navigate to view all projects page of the website. Return view all projects page """ self.driver.find(PROJECT_LINK).click() return ProjectsPage(self.driver)
def test_should_show_warning_popup_when_exiting_a_modified_questionnaire(self): create_questionnaire_page = self.create_questionnaire_page modified_warning_dialog = QuestionnaireModifiedDialog(self.driver) project_name = create_questionnaire_page.type_project_name(DIALOG_PROJECT_DATA) self._verify_edit_dialog_cancel(modified_warning_dialog) self._verify_edit_dialog_ignore_changes(modified_warning_dialog, project_name) all_projects_page = ProjectsPage(self.driver) self._verify_edit_dialog_save_changes(all_projects_page, modified_warning_dialog)
def test_reply_messages_in_light_box_when_outgoing_reply_turned_on(self): self.driver.go_to(DATA_WINNER_ALL_PROJECTS_PAGE) automatic_reply_msg_page = ProjectsPage(self.driver).navigate_to_project_overview_page(self.project_name).navigate_send_message_tab().navigate_to_automatic_reply_sms_page() automatic_reply_msg_page.turn_on_reply_messages() self.assertTrue(automatic_reply_msg_page.is_language_selection_enabled()) self.assertEqual(automatic_reply_msg_page.get_success_message(), 'Your changes have been saved.') sms_tester_light_box = automatic_reply_msg_page.open_sms_tester_light_box() self.assertFalse(sms_tester_light_box.reply_turned_off_text_present()) sms_tester_light_box.send_sms_with(get_success_sms_data_with_questionnaire_code(self.questionnaire_code)) self.assertNotEquals("", sms_tester_light_box.get_response_message()) sms_tester_light_box.send_sms_with(get_error_sms_data_with_questionnaire_code(self.questionnaire_code)) self.assertNotEquals("", sms_tester_light_box.get_response_message()) sms_tester_light_box.send_sms_with(get_error_sms_data_with_incorrect_number_of_answers(self.questionnaire_code)) self.assertNotEquals("", sms_tester_light_box.get_response_message()) sms_tester_light_box.send_sms_with(get_error_sms_data_with_incorrect_unique_id(self.questionnaire_code)) self.assertNotEquals("", sms_tester_light_box.get_response_message()) sms_tester_light_box.send_sms_with(get_error_message_from_unauthorized_source(self.questionnaire_code)) self.assertNotEquals("", sms_tester_light_box.get_response_message())
def do_sms_submission(self, questionnaire_code, sms_data, project_title): self.driver.go_to(DATA_WINNER_SMS_TESTER_PAGE) sms_tester_page = SMSTesterPage(self.driver) sms_data[SMS] = sms_data[SMS] % questionnaire_code sms_tester_page.send_sms_with(sms_data) message = sms_tester_page.get_response_message() self.assertTrue( fetch_(SUCCESS_MESSAGE, sms_data) in message, "message:" + message) self.driver.go_to(DATA_WINNER_ALL_PROJECTS_PAGE) ProjectsPage(self.driver).navigate_to_project_overview_page(project_title)\ .navigate_to_questionnaire_tab()
def test_reply_messages_in_light_box_when_outgoing_reply_turned_off(self): self.driver.go_to(FAILED_SUBMISSIONS_PAGE) initial_failed_submission_count = FailedSubmissionsPage(self.driver).get_total_number_of_entries() self.driver.go_to(DATA_WINNER_ALL_PROJECTS_PAGE) automatic_reply_msg_page = ProjectsPage(self.driver).navigate_to_project_overview_page(self.project_name)\ .navigate_send_message_tab().navigate_to_automatic_reply_sms_page() automatic_reply_msg_page.turn_off_reply_messages() #time.sleep(10) self.assertFalse(automatic_reply_msg_page.is_language_selection_enabled()) self.assertEqual(automatic_reply_msg_page.get_success_message(), 'Your changes have been saved.') sms_tester_light_box = automatic_reply_msg_page.open_sms_tester_light_box() self.assertTrue(sms_tester_light_box.reply_turned_off_text_present()) sms_tester_light_box.send_sms_with(get_success_sms_data_with_questionnaire_code(self.questionnaire_code)) self.assertEquals("", sms_tester_light_box.get_response_message()) sms_tester_light_box.send_sms_with(get_error_sms_data_with_questionnaire_code(self.questionnaire_code)) self.assertEquals("", sms_tester_light_box.get_response_message()) sms_tester_light_box.send_sms_with(get_error_sms_data_with_incorrect_number_of_answers(self.questionnaire_code)) self.assertNotEquals("", sms_tester_light_box.get_response_message()) sms_tester_light_box.send_sms_with(get_error_sms_data_with_incorrect_unique_id(self.questionnaire_code)) self.assertEquals("", sms_tester_light_box.get_response_message()) sms_tester_light_box.send_sms_with(get_error_message_from_unauthorized_source(self.questionnaire_code)) self.assertEquals("", sms_tester_light_box.get_response_message()) #account wide messages should still go out. sms_tester_light_box.send_sms_with(get_success_sms_data_with_questionnaire_code('invalid_code')) self.assertNotEqual("", sms_tester_light_box.get_response_message()) success_subject_registration_data = {"from": "1234123413", "to": '919880734937', "sms": "peo fname lname location 4,4 898989898" } sms_tester_light_box.send_sms_with(success_subject_registration_data) self.assertNotEqual("", sms_tester_light_box.get_response_message()) success_subject_registration_data_with_existing_code = {"from": "1234123413", "to": '919880734937', "sms": "peo fname lname location 4,4 898989898 cid001" } sms_tester_light_box.send_sms_with(success_subject_registration_data_with_existing_code) self.assertNotEqual("", sms_tester_light_box.get_response_message()) sms_tester_light_box.close() self.driver.go_to(FAILED_SUBMISSIONS_PAGE) current_failed_submission_count = FailedSubmissionsPage(self.driver).get_total_number_of_entries() self.assertEqual(current_failed_submission_count, initial_failed_submission_count + 2)
def _verify_default_reminder_settings(self,project_name,default_reminder_message): self.assertEquals(default_reminder_message, ProjectsPage(self.driver).navigate_to_project_overview_page( project_name).navigate_to_reminder_page().get_example_text())
def navigate_to_clinic3_overview_page(self): # going on all project page self.driver.go_to(url("/project/")) all_project_page = ProjectsPage(self.driver) return all_project_page.navigate_to_project_overview_page(PROJECT_NAME)