Пример #1
0
 def test_should_show_reports(self):
     self.driver.maximize_window()
     self.project_name = random_string()
     self.report_name = random_string()
     file_name = 'test_questionnaire.xlsx'
     template_file_name = os.path.join(self.testdata, 'index.html')
     response = create_advance_questionnaire(self.project_name,
                                             self.testdata, file_name,
                                             VALID_CREDENTIALS)
     self.assertEquals(response.status_code, 200)
     self.assertNotEqual(response._container[0].find('project_name'), -1)
     response = json.loads(response._container[0])
     self.project_id = response.get('project_id')
     self.form_code = response['form_code']
     self.submission_ids = self._do_web_submissions()
     self.report = self._create_report_config(self.report_name,
                                              self.project_id,
                                              template_file_name)
     self._create_views(self.report)
     report_page = self.global_navigation_page.navigate_to_reports_page()
     report_page.navigate_to_report(self.report_name)
     time.sleep(300)  # This waiting is for ajax calls on report page
     self.assertEquals(len(self.submission_ids),
                       report_page.get_number_of_records())
     delete_submissions(self.project_id, self.submission_ids[:1],
                        VALID_CREDENTIALS)
     report_page.navigate_to_report(self.report_name)
     time.sleep(300)  # This waiting is for ajax calls on report page
     self.assertEquals(
         len(self.submission_ids) - 1, report_page.get_number_of_records())
Пример #2
0
    def test_should_create_project_when_xlsform_is_uploaded(self):
        project_name = random_string()
        client = Client()
        client.login(username='******', password='******')

        r = client.post(path='/xlsform/upload/?pname='+project_name+'&qqfile=text_and_integer.xls',
                        data=open(os.path.join(self.test_data, 'text_and_integer.xls'), 'r').read(),
                                  content_type='application/octet-stream')

        self.assertEquals(r.status_code, 200)
        self.assertNotEqual(r._container[0].find('project_name'), -1)
Пример #3
0
def _create_registration_form(manager, entity_name, no_of_questions):
    entity_type = [entity_name]
    code_generator = question_code_generator()
    form_code = random_string()
    questions = []
    for a in range(no_of_questions - 2):
        code = code_generator.next()
        question = TextField(name=code,
                             code=code,
                             label=random_string(15),
                             defaultValue="some default value",
                             instruction="Enter a %(entity_type)s first name" %
                             {'entity_type': entity_name})
        questions.append(question)

    question = TextField(name=NAME_FIELD,
                         code=code_generator.next(),
                         label=random_string(15),
                         defaultValue="some default value",
                         instruction="Enter a %(entity_type)s first name" %
                         {'entity_type': entity_name})
    questions.append(question)

    question = ShortCodeField(
        name=SHORT_CODE_FIELD,
        code=code_generator.next(),
        label="What is the %(entity_type)s's Unique ID Number?" %
        {'entity_type': entity_name},
        defaultValue="some default value",
        instruction=unicode("Enter an id, or allow us to generate it"),
        required=False)
    questions.append(question)

    form_model = EntityFormModel(manager,
                                 name=entity_name,
                                 form_code=form_code,
                                 fields=questions,
                                 is_registration_model=True,
                                 entity_type=entity_type)
    return form_model
Пример #4
0
    def test_should_make_entry_in_postgres_when_message_sent_to_others(self):
        random_message = random_string(10)
        response = self.client.post(path='/project/broadcast_message/' +
                                    self.project_id + '/',
                                    data={
                                        'others': '141231241, 121242141',
                                        'text': random_message,
                                        'to': 'Additional'
                                    })
        self.assertIn(
            'SMS sent to telephone company. Upon receipt of delivery confirmation, DataWinners will update the counter on the',
            response.content)

        response = self.admin_client.post(
            path=
            '/admin-apis/sendamessage/check_if_message_present_in_postgres/',
            data={'message': random_message})
        self.assertEqual(response.content, '{"found": true}')
Пример #5
0
 def setUp(self):
     self.test_data = os.path.join(DIR, 'testdata')
     self.client = Client()
     self.project_name = random_string()
Пример #6
0
                         label=random_string(15),
                         defaultValue="some default value",
                         instruction="Enter a %(entity_type)s first name" %
                         {'entity_type': entity_name})
    questions.append(question)

    question = ShortCodeField(
        name=SHORT_CODE_FIELD,
        code=code_generator.next(),
        label="What is the %(entity_type)s's Unique ID Number?" %
        {'entity_type': entity_name},
        defaultValue="some default value",
        instruction=unicode("Enter an id, or allow us to generate it"),
        required=False)
    questions.append(question)

    form_model = EntityFormModel(manager,
                                 name=entity_name,
                                 form_code=form_code,
                                 fields=questions,
                                 is_registration_model=True,
                                 entity_type=entity_type)
    return form_model


if __name__ == "__main__":
    args = sys.argv
    entity_type = args[1].lower() if len(args) > 1 else random_string(3)
    no_of_questions = int(args[2]) if len(args) > 2 else 5
    create_identification_number_type('hni_testorg_slx364903', entity_type,
                                      no_of_questions)