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', })
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)
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', })
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', })
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'])
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)
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)
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'])