def test_generate_date_form_validates_single_date_period_with_bespoke_message(
            self):
        schema = load_schema_from_params('test', 'date_validation_single')
        error_messages = schema.error_messages
        answer = {
            'id': 'date-range-from',
            'mandatory': True,
            'label': 'Period from',
            'type': 'Date',
            'maximum': {
                'value': '2017-06-11',
                'offset_by': {
                    'days': 20
                }
            },
            'validation': {
                'messages': {
                    'SINGLE_DATE_PERIOD_TOO_LATE': 'Test Message'
                }
            }
        }

        with patch(
                'app.questionnaire.questionnaire_schema.QuestionnaireSchema.get_answers_by_id_for_block',
                return_value=[answer]), self.app_request_context('/'):
            form = get_date_form(AnswerStore(), {},
                                 answer,
                                 error_messages=error_messages)

            self.assertTrue(hasattr(form, 'day'))
            self.assertTrue(hasattr(form, 'month'))
            self.assertTrue(hasattr(form, 'year'))
예제 #2
0
def get_date_field(answer, label, guidance, error_messages):

    return FormField(
        get_date_form(answer, error_messages=error_messages),
        label=label,
        description=guidance,
    )
    def test_date_form_empty_data(self):
        schema = load_schema_from_params('test', 'dates')
        error_messages = schema.error_messages

        answers = schema.get_answers_by_id_for_block('date-block')

        with self.app_request_context('/'):
            form = get_date_form(AnswerStore(), {},
                                 answers['single-date-answer'],
                                 error_messages=error_messages)

        self.assertIsNone(form().data)
예제 #4
0
    def test_generate_date_form_creates_empty_form(self):
        survey = load_schema_file("test_dates.json")
        block_json = SchemaHelper.get_block(survey, 'date-block')
        error_messages = SchemaHelper.get_messages(survey)

        answers = SchemaHelper.get_answers_by_id_for_block(block_json)

        form = get_date_form(answers['single-date-answer'],
                             error_messages=error_messages)

        self.assertTrue(hasattr(form, 'day'))
        self.assertTrue(hasattr(form, 'month'))
        self.assertTrue(hasattr(form, 'year'))
    def test_generate_date_form_creates_empty_form(self):
        schema = load_schema_from_params('test', 'dates')
        error_messages = schema.error_messages

        answers = schema.get_answers_by_id_for_block('date-block')

        with self.app_request_context('/'):
            form = get_date_form(AnswerStore(), {},
                                 answers['single-date-answer'],
                                 error_messages=error_messages)

        self.assertTrue(hasattr(form, 'day'))
        self.assertTrue(hasattr(form, 'month'))
        self.assertTrue(hasattr(form, 'year'))
    def test_generate_date_form_validates_single_date_period(self):
        schema = load_schema_from_params('test', 'date_validation_single')
        error_messages = schema.error_messages
        test_metadata = {'ref_p_start_date': '2017-02-20'}

        answers = schema.get_answers_by_id_for_block('date-range-block')

        with self.app_request_context('/'):
            form = get_date_form(AnswerStore(),
                                 test_metadata,
                                 answers['date-range-from'],
                                 error_messages=error_messages)

        self.assertTrue(hasattr(form, 'day'))
        self.assertTrue(hasattr(form, 'month'))
        self.assertTrue(hasattr(form, 'year'))