Exemple #1
0
    def test_export(self):
        self.client.login(username='******',
                          password='******')
        self.global_navigation_page = login(self.driver, VALID_CREDENTIALS)
        questionnaire_code = self._verify_questionnaire_creation(
            self.project_name)
        temporary_project_name = navigate_and_verify_web_submission_page_is_loaded(
            self.driver, self.global_navigation_page, self.project_name)
        # Make 2 submissions
        self._do_web_submission(temporary_project_name, questionnaire_code,
                                '*****@*****.**', 'tester150411')
        self._do_web_submission(temporary_project_name, questionnaire_code,
                                '*****@*****.**', 'tester150411')

        resp = self.client.post(
            '/project/export/log?type=all', {
                'project_name': self.project_name,
                'search_filters':
                "{\"search_text\":\"\",\"dateQuestionFilters\":{}}",
                'questionnaire_code': questionnaire_code
            })

        xlfile_fd, xlfile_name = tempfile.mkstemp(".xlsx")
        os.write(xlfile_fd, resp.content)
        os.close(xlfile_fd)
        workbook = xlrd.open_workbook(xlfile_name)
        self.assertEquals(workbook.sheet_names(), [
            u'main', u'rep_group1', u'my_repeat1_group1', u'my_outer_repeat1'
        ])

        self._verify_main_sheet(workbook)
        self._verify_second_sheet(workbook)
        self._verify_third_sheet(workbook)
        self._verify_fourth_sheet(workbook)
    def test_export(self):
        self.setUpFirefox()
        self.project_name = random_string()
        client = Client()
        client.login(username=self.admin_email_id, password='******')

        form_code = self._verify_questionnaire_creation(
            self.project_name, 'image.xlsx')
        project_temp_name, web_submission_page = navigate_and_verify_web_submission_page_is_loaded(
            self.driver, self.global_navigation_page, self.project_name)
        self._do_web_submission('submission_data_image.xml',
                                project_temp_name,
                                form_code,
                                self.admin_email_id,
                                'tester150411',
                                image_upload=True)
        self.driver.find(by_id('submission_log_link')).click()
        self.driver.find_visible_element(by_id('ignore_changes')).click()
        self._verify_submission_log_page_images(web_submission_page)

        self._do_web_submission('submission_data_image.xml',
                                project_temp_name,
                                form_code,
                                self.admin_email_id,
                                'tester150411',
                                image_upload=True)
        self._verify_submission_log_page_image_2(web_submission_page)

        self._verify_without_media(form_code)
        self._verify_with_media(form_code)
    def test_edit_submisssion(self):
        self.project_name = random_string()
        self.setUpFirefox()

        form_code = self._verify_questionnaire_creation(
            self.project_name, 'multiple-choices.xlsx')
        project_temp_name, web_submission_page = navigate_and_verify_web_submission_page_is_loaded(
            self.driver, self.global_navigation_page, self.project_name)
        self._do_web_submission(
            'edit_submission_ft-check-multiple-choices.xml', project_temp_name,
            form_code, self.admin_email_id, 'tester150411')

        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.driver.create_screenshot("debug-ft-sub-log-edit-nth-sub")
        web_submission_page = submission_log_page.edit_nth_submission(1)
        sleep(5)
        data = self.driver.execute_script("return dataStrToEdit;")
        self.driver.create_screenshot("debug-ft-edit-sub-page")
        expected = "<idnr>food pet rhinitis</idnr><enfant><naissance_enfant>no</naissance_enfant><poids_enfant>16</poids_enfant><nom_enfant>John</nom_enfant><date_enfant>2016-12-01</date_enfant><text>Setra</text><select_enfant>trad other</select_enfant><age_enfant>3</age_enfant></enfant><form_code>%s</form_code>" % form_code
        self.assertIn(expected, data)
        self.driver.wait_for_page_load()

        self.driver.create_screenshot(
            "debug-ft-edit-adv-submission-before-change")
        text_answer_locator = by_css('input[name="/' + project_temp_name +
                                     '/enfant/nom_enfant"]')
        web_submission_page.update_text_input(text_answer_locator, "a")
        self.driver.create_screenshot(
            "debug-ft-edit-adv-submission-after-change")

        self.assertFalse(web_submission_page.is_warning_dialog_displayed())
        web_submission_page.navigate_to_submission_log()
        sleep(1)
        self.assertTrue(web_submission_page.is_warning_dialog_displayed())
        warning_dialog = WarningDialog(
            self.driver,
            cancel_link=by_css(
                'div.ui-dialog[style*="block"] > div.ui-dialog-content > div > a.dialog_cancel_link'
            ))
        warning_dialog.cancel(True)
        self.driver.create_screenshot(
            "debug-ft-edit-adv-submission-after-cancel-dialog")

        web_submission_page.submit(True)
        web_submission_page.wait_until_modal_dismissed()
        self.assertTrue(web_submission_page.is_success_message_tip_shown())

        web_submission_page.update_text_input(text_answer_locator, "b")
        sleep(5)
        web_submission_page.navigate_to_submission_log()
        sleep(1)
        self.assertTrue(web_submission_page.is_warning_dialog_displayed())

        warning_dialog.confirm()

        sleep(5)
        self.driver.wait_for_page_load()
        self.assertEqual(self.driver.get_title(), "Submission Log")
    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()