Пример #1
0
    def test_get_form_deserialises_month_year_dates(self):
        survey = load_schema_file("test_dates.json")

        block_json = SchemaHelper.get_block(survey, "date-block")
        location = SchemaHelper.get_first_location(survey)
        error_messages = SchemaHelper.get_messages(survey)

        form, _ = get_form_for_location(
            block_json, location,
            AnswerStore([{
                'answer_id': 'month-year-answer',
                'group_id': 'a23d36db-6b07-4ce0-94b2-a843369511e3',
                'group_instance': 0,
                'block_id': 'date-block',
                'value': '05/2015',
                'answer_instance': 0,
            }]), error_messages)

        self.assertTrue(hasattr(form, "month-year-answer"))

        month_year_field = getattr(form, "month-year-answer")

        self.assertEquals(month_year_field.data, {
            'month': '5',
            'year': '2015',
        })
Пример #2
0
    def test_get_form_for_block_location(self):

        survey = load_schema_file("1_0102.json")

        block_json = SchemaHelper.get_block(survey, "reporting-period")
        location = SchemaHelper.get_first_location(survey)
        error_messages = SchemaHelper.get_messages(survey)

        form, _ = get_form_for_location(block_json, location, AnswerStore(),
                                        error_messages)

        self.assertTrue(hasattr(form, "period-to"))
        self.assertTrue(hasattr(form, "period-from"))

        period_from_field = getattr(form, "period-from")
        period_to_field = getattr(form, "period-to")

        self.assertIsInstance(period_from_field.day.validators[0],
                              DateRequired)
        self.assertIsInstance(period_to_field.day.validators[0], DateRequired)
Пример #3
0
    def test_get_form_deserialises_dates(self):
        survey = load_schema_file("1_0102.json")

        block_json = SchemaHelper.get_block(survey, "reporting-period")
        location = SchemaHelper.get_first_location(survey)
        error_messages = SchemaHelper.get_messages(survey)

        form, _ = get_form_for_location(
            block_json, location,
            AnswerStore([{
                'answer_id': 'period-from',
                'group_id': 'rsi',
                'group_instance': 0,
                'block_id': 'reporting-period',
                'value': '01/05/2015',
                'answer_instance': 0,
            }, {
                'answer_id': 'period-to',
                'group_id': 'rsi',
                'group_instance': 0,
                'block_id': 'reporting-period',
                'value': '01/09/2017',
                'answer_instance': 0,
            }]), error_messages)

        self.assertTrue(hasattr(form, "period-to"))
        self.assertTrue(hasattr(form, "period-from"))

        period_to_field = getattr(form, "period-to")
        period_from_field = getattr(form, "period-from")

        self.assertEquals(period_from_field.data, {
            'day': '01',
            'month': '5',
            'year': '2015',
        })
        self.assertEquals(period_to_field.data, {
            'day': '01',
            'month': '9',
            'year': '2017',
        })
Пример #4
0
    def test_post_form_for_block_location(self):
        with self.test_request_context():
            survey = load_schema_file("1_0102.json")

            block_json = SchemaHelper.get_block(survey, "reporting-period")
            location = SchemaHelper.get_first_location(survey)
            error_messages = SchemaHelper.get_messages(survey)

            form, _ = post_form_for_location(
                block_json, location, AnswerStore(), {
                    'period-from-day': '1',
                    'period-from-month': '05',
                    'period-from-year': '2015',
                    'period-to-day': '1',
                    'period-to-month': '09',
                    'period-to-year': '2017',
                }, error_messages)

            self.assertTrue(hasattr(form, "period-to"))
            self.assertTrue(hasattr(form, "period-from"))

            period_to_field = getattr(form, "period-to")
            period_from_field = getattr(form, "period-from")

            self.assertIsInstance(period_from_field.month.validators[0],
                                  DateRequired)
            self.assertIsInstance(period_to_field.month.validators[0],
                                  DateRequired)

            self.assertEqual(period_from_field.data, {
                'day': '1',
                'month': '05',
                'year': '2015',
            })
            self.assertEqual(period_to_field.data, {
                'day': '1',
                'month': '09',
                'year': '2017',
            })
Пример #5
0
    def test_get_form_deserialises_lists(self):
        survey = load_schema_file("test_checkbox.json")

        block_json = SchemaHelper.get_block(survey, "block-1")
        location = SchemaHelper.get_first_location(survey)
        error_messages = SchemaHelper.get_messages(survey)

        form, _ = get_form_for_location(
            block_json, location,
            AnswerStore([{
                'answer_id': 'ca3ce3a3-ae44-4e30-8f85-5b6a7a2fb23c',
                'group_id': '14ba4707-321d-441d-8d21-b8367366e761',
                'group_instance': 0,
                'block_id': 'block-1',
                'value': ['Cheese', 'Ham'],
                'answer_instance': 0,
            }]), error_messages)

        self.assertTrue(hasattr(form, "ca3ce3a3-ae44-4e30-8f85-5b6a7a2fb23c"))

        checkbox_field = getattr(form, "ca3ce3a3-ae44-4e30-8f85-5b6a7a2fb23c")

        self.assertEquals(checkbox_field.data, ['Cheese', 'Ham'])
Пример #6
0
    def test_post_form_and_disable_mandatory(self):

        survey = load_schema_file("1_0102.json")

        block_json = SchemaHelper.get_block(survey, "reporting-period")
        location = SchemaHelper.get_first_location(survey)
        error_messages = SchemaHelper.get_messages(survey)

        form, _ = post_form_for_location(block_json,
                                         location,
                                         AnswerStore(), {},
                                         error_messages,
                                         disable_mandatory=True)

        self.assertTrue(hasattr(form, "period-from"))
        self.assertTrue(hasattr(form, "period-to"))

        period_from_field = getattr(form, "period-from")
        period_to_field = getattr(form, "period-to")

        self.assertIsInstance(period_from_field.day.validators[0],
                              validators.Optional)
        self.assertIsInstance(period_to_field.day.validators[0],
                              validators.Optional)
Пример #7
0
    def test_get_form_and_disable_mandatory_answers(self):
        with self.test_request_context():
            survey = load_schema_file("1_0102.json")

            block_json = SchemaHelper.get_block(survey, "reporting-period")
            location = SchemaHelper.get_first_location(survey)
            error_messages = SchemaHelper.get_messages(survey)

            form, _ = get_form_for_location(block_json,
                                            location,
                                            AnswerStore(),
                                            error_messages,
                                            disable_mandatory=True)

            self.assertTrue(hasattr(form, "period-from"))
            self.assertTrue(hasattr(form, "period-to"))

            period_from_field = getattr(form, "period-from")
            period_to_field = getattr(form, "period-to")

            self.assertIsInstance(period_from_field.month.validators[0],
                                  OptionalForm)
            self.assertIsInstance(period_to_field.month.validators[0],
                                  OptionalForm)
Пример #8
0
    def test_get_form_deserialises_lists(self):
        with self.test_request_context():
            survey = load_schema_file("test_checkbox.json")

            block_json = SchemaHelper.get_block(survey, "mandatory-checkbox")
            location = SchemaHelper.get_first_location(survey)
            error_messages = SchemaHelper.get_messages(survey)

            form, _ = get_form_for_location(
                block_json, location,
                AnswerStore([{
                    'answer_id': 'mandatory-checkbox-answer',
                    'group_id': 'checkboxes',
                    'group_instance': 0,
                    'block_id': 'mandatory-checkbox',
                    'value': ['Cheese', 'Ham'],
                    'answer_instance': 0,
                }]), error_messages)

            self.assertTrue(hasattr(form, "mandatory-checkbox-answer"))

            checkbox_field = getattr(form, "mandatory-checkbox-answer")

            self.assertEqual(checkbox_field.data, ['Cheese', 'Ham'])