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'))
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)
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'))