def test_go_back_to_project_list_directly_when_user_cancel_submission_without_fill_out_form( self): data_sender_page = self.go_to_data_sender_page() web_submission_page = data_sender_page.send_in_data() web_submission_page.cancel_submission() data_sender_page = DataSenderPage(self.driver) self.assertIsNotNone(data_sender_page.get_project_list())
def test_go_back_to_project_list_from_data_submission_page(self): web_submission_page = self.data_sender_page.send_in_data() self.driver.wait_for_page_with_title(5, web_submission_page.get_title()) web_submission_page.go_back_to_project_list() data_sender_page = DataSenderPage(self.driver) self.assertIsNotNone(data_sender_page.get_project_list())
def test_navigation_via_navigate_bar(self): data_sender_page = self.go_to_data_sender_page() web_submission_page = data_sender_page.send_in_data() web_submission_page.navigate_to_project_list() data_sender_page = DataSenderPage(self.driver) self.assertIsNotNone(data_sender_page.get_project_list()) smart_phone_instruction_page = data_sender_page.navigate_to_smart_phone_instruction( ) self.assertIsNotNone( smart_phone_instruction_page.get_smart_phone_instruction()) smart_phone_instruction_page.navigate_to_project_list() self.assertIsNotNone(data_sender_page.get_project_list()) web_submission_page = data_sender_page.send_in_data() smart_phone_instruction_page = web_submission_page.navigate_to_smart_phone_instruction( ) self.assertIsNotNone( smart_phone_instruction_page.get_smart_phone_instruction()) smart_phone_instruction_page.navigate_to_project_list() data_sender_page = DataSenderPage(self.driver) add_subject_page = data_sender_page.register_subject() smart_phone_instruction_page = add_subject_page.navigate_to_smart_phone_instruction( ) self.assertIsNotNone( smart_phone_instruction_page.get_smart_phone_instruction())
def test_cancel_link_in_data_submission(self): web_submission_page = self.data_sender_page.send_in_data() self.driver.wait_for_page_with_title(5, web_submission_page.get_title()) web_submission_page.fill_questionnaire_with(VALID_ANSWERS) warning_dialog = web_submission_page.cancel_submission() warning_dialog.cancel() web_submission_page = WebSubmissionPage(self.driver) self.assertEquals(web_submission_page.get_project_name(), fetch_(PROJECT_NAME, from_(DEFAULT_ORG_DATA))) warning_dialog = web_submission_page.cancel_submission() warning_dialog.confirm() data_sender_page = DataSenderPage(self.driver) self.assertIsNotNone(data_sender_page.get_project_list())
def test_should_create_project_when_xlsform_is_uploaded(self): self.setUpFirefox() self.project_name = random_string() file_name = 'ft_advanced_questionnaire.xls' form_code = self._verify_questionnaire_creation( self.project_name, file_name) project_temp_name, web_submission_page = navigate_and_verify_web_submission_page_is_loaded( self.driver, self.global_navigation_page, self.project_name) self._verify_datawinners_university() web_submission_page.navigate_to_datasenders_page() self._verify_datawinners_university() datasender_page = ProjectDataSendersPage(self.driver) datasender_page.search_with("1234123413").\ select_a_data_sender_by_mobile_number("1234123413").perform_datasender_action(by_css(".remove")) datasender_page.refresh() datasender_page.navigate_to_analysis_page() self._verify_datawinners_university() DataAnalysisPage(self.driver).navigate_to_web_submission_tab() web_submission_page = AdvancedWebSubmissionPage(self.driver) self._do_web_submission('submission_data.xml', project_temp_name, form_code, self.admin_email_id, 'tester150411') self._verify_submission_log_page(web_submission_page) datasender_rep_id, ds_email = self._register_datasender() self._verify_datawinners_university() self.driver.wait_for_page_with_title(UI_TEST_TIMEOUT, "Data Submission") datasender_page = DataSenderPage(self.driver) datasender_page.send_in_data() verify_advanced_web_submission_page_is_loaded(self.driver) self._verify_datawinners_university() self._do_web_submission('submission_data.xml', project_temp_name, form_code, ds_email, NEW_PASSWORD) self.global_navigation_page.sign_out() self.global_navigation_page = login(self.driver, VALID_CREDENTIALS) submission_log_page = self.global_navigation_page.navigate_to_all_data_page( ).navigate_to_submission_log_page( self.project_name).wait_for_table_data_to_load() self._verify_datawinners_university() self.assertEqual(submission_log_page.get_total_number_of_records(), 2) self._verify_date_filters(submission_log_page) submission_log_page.search(datasender_rep_id) submission_log_page.check_submission_by_row_number( 1).click_action_button().choose_on_dropdown_action(EDIT_BUTTON) verify_advanced_web_submission_page_is_loaded(self.driver) self._edit_and_verify_submission(datasender_rep_id, project_temp_name, True) self._verify_edit_of_questionnaire(file_name) self._verify_datawinners_university()
def verify_submission_via_web(self, ds_email): self.driver.go_to(LOGOUT) user = User.objects.get(username=ds_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") self.driver.go_to(LOGOUT) self.driver.go_to(DATA_WINNER_LOGIN_PAGE) login_page = LoginPage(self.driver) login_page.login_with({USERNAME: ds_email, PASSWORD: NEW_PASSWORD}) data_sender_page = DataSenderPage(self.driver) submission_page = data_sender_page.send_in_data() submission_page.fill_and_submit_answer(WEB_ANSWERS) self.driver.go_to(LOGOUT) self.do_login() self.verify_submission(WEB_ANSWER_LOG, self.project_name)
def test_navigation_via_navigate_bar(self): web_submission_page = self.data_sender_page.send_in_data() self.driver.wait_for_page_with_title(5, web_submission_page.get_title()) web_submission_page.navigate_to_project_list() data_sender_page = DataSenderPage(self.driver) self.assertIsNotNone(data_sender_page.get_project_list()) web_submission_page = self.data_sender_page.send_in_data() smart_phone_instruction_page = data_sender_page.navigate_to_smart_phone_instruction() self.assertIsNotNone(smart_phone_instruction_page.get_smart_phone_instruction()) smart_phone_instruction_page.navigate_to_project_list() self.assertIsNotNone(data_sender_page.get_project_list()) web_submission_page = data_sender_page.send_in_data() smart_phone_instruction_page = web_submission_page.navigate_to_smart_phone_instruction() self.assertIsNotNone(smart_phone_instruction_page.get_smart_phone_instruction())
def test_go_back_to_project_list_from_register_subject_page(self): data_sender_page = self.go_to_data_sender_page() add_subject_page = data_sender_page.register_subject() add_subject_page.go_back_to_project_list() data_sender_page = DataSenderPage(self.driver) self.assertIsNotNone(data_sender_page.get_project_list())
def test_go_back_to_project_list_from_data_submission_page(self): data_sender_page = self.go_to_data_sender_page() web_submission_page = data_sender_page.send_in_data() web_submission_page.go_back_to_project_list() data_sender_page = DataSenderPage(self.driver) self.assertIsNotNone(data_sender_page.get_project_list())
def go_to_data_sender_page(self): self.driver.go_to(DATA_WINNER_LOGIN_PAGE) login_page = LoginPage(self.driver) login_page.login_with(DATA_SENDER_CREDENTIALS) data_sender_page = DataSenderPage(self.driver) return data_sender_page
def setUp(self): self.driver.go_to(ALL_DATA_PAGE) self.data_sender_page = DataSenderPage(self.driver)
class DataSenderTest(unittest.TestCase): @classmethod def setUpClass(cls): cls.driver = setup_driver() cls.driver.go_to(DATA_WINNER_LOGIN_PAGE) login_page = LoginPage(cls.driver) login_page.login_with(DATA_SENDER_CREDENTIALS) def setUp(self): self.driver.go_to(ALL_DATA_PAGE) self.data_sender_page = DataSenderPage(self.driver) @classmethod def tearDownClass(cls): teardown_driver(cls.driver) @attr("functional_test") def test_go_back_to_project_list_from_data_submission_page(self): web_submission_page = self.data_sender_page.send_in_data() self.driver.wait_for_page_with_title(5, web_submission_page.get_title()) web_submission_page.go_back_to_project_list() data_sender_page = DataSenderPage(self.driver) self.assertIsNotNone(data_sender_page.get_project_list()) @attr("functional_test") def test_cancel_link_in_data_submission(self): web_submission_page = self.data_sender_page.send_in_data() self.driver.wait_for_page_with_title(5, web_submission_page.get_title()) web_submission_page.fill_questionnaire_with(VALID_ANSWERS) warning_dialog = web_submission_page.cancel_submission() warning_dialog.cancel() web_submission_page = WebSubmissionPage(self.driver) self.assertEquals(web_submission_page.get_project_name(), fetch_(PROJECT_NAME, from_(DEFAULT_ORG_DATA))) warning_dialog = web_submission_page.cancel_submission() warning_dialog.confirm() data_sender_page = DataSenderPage(self.driver) self.assertIsNotNone(data_sender_page.get_project_list()) @attr("functional_test") def test_register_subject(self): add_subject_page = self.data_sender_page.register_subject() self.assertEquals(add_subject_page.get_title(), PAGE_TITLE) self.assertEquals(add_subject_page.get_section_title(), SECTION_TITLE) self.assertEquals(add_subject_page.get_subject_type(), SUBJECT_TYPE) add_subject_page.add_subject_with(VALID_DATA) add_subject_page.submit_subject() message = fetch_(SUCCESS_MSG, from_(VALID_DATA)) self.assertIn(message, add_subject_page.get_flash_message()) @attr("functional_test") def test_go_back_to_project_list_from_register_subject_page(self): add_subject_page = self.data_sender_page.register_subject() add_subject_page.go_back_to_project_list() data_sender_page = DataSenderPage(self.driver) self.assertIsNotNone(data_sender_page.get_project_list()) @attr("functional_test") def test_navigation_via_navigate_bar(self): web_submission_page = self.data_sender_page.send_in_data() self.driver.wait_for_page_with_title(5, web_submission_page.get_title()) web_submission_page.navigate_to_project_list() data_sender_page = DataSenderPage(self.driver) self.assertIsNotNone(data_sender_page.get_project_list()) web_submission_page = self.data_sender_page.send_in_data() smart_phone_instruction_page = data_sender_page.navigate_to_smart_phone_instruction( ) self.assertIsNotNone( smart_phone_instruction_page.get_smart_phone_instruction()) smart_phone_instruction_page.navigate_to_project_list() self.assertIsNotNone(data_sender_page.get_project_list()) web_submission_page = data_sender_page.send_in_data() smart_phone_instruction_page = web_submission_page.navigate_to_smart_phone_instruction( ) self.assertIsNotNone( smart_phone_instruction_page.get_smart_phone_instruction()) smart_phone_instruction_page.navigate_to_project_list() data_sender_page = DataSenderPage(self.driver) add_subject_page = data_sender_page.register_subject() smart_phone_instruction_page = add_subject_page.navigate_to_smart_phone_instruction( ) self.assertIsNotNone( smart_phone_instruction_page.get_smart_phone_instruction()) @attr("functional_test") def test_go_back_to_project_list_directly_when_user_cancel_submission_without_fill_out_form( self): web_submission_page = self.data_sender_page.send_in_data() web_submission_page.cancel_submission() data_sender_page = DataSenderPage(self.driver) self.assertIsNotNone(data_sender_page.get_project_list())