def test_text_response_is_invalid_if_response_text_and_not_nr(self): form_data = self.form_data.copy() form_data['response'] = 'MR' answer_form = NumericalAnswerForm(form_data, initial=self.initial) self.assertFalse(answer_form.is_valid()) message = 'Enter a number or Either NR or ND if this question is irrelevant' self.assertEqual(message, answer_form.errors['response'])
def test_text_response_is_invalid(self): form_data = self.form_data.copy() form_data['response'] = 'some text which is not number' answer_form = NumericalAnswerForm(form_data, initial=self.initial) self.assertFalse(answer_form.is_valid()) message = 'Enter a number.' self.assertEqual([message], answer_form.errors['response'])
def test_integer_response_is_valid_if_question_answer_subtype_is_decimal(self): question = QuestionFactory(answer_type=AnswerTypes.NUMBER, answer_sub_type=AnswerTypes.DECIMAL) form_data = self.form_data.copy() form_data['response'] = '33.3' initial = self.initial.copy() initial['question'] = question answer_form = NumericalAnswerForm(form_data, initial=initial) self.assertTrue(answer_form.is_valid())
def test_decimal_response_is_invalid_if_question_answer_subtype_is_integer(self): form_data = self.form_data.copy() form_data['response'] = '33.4' answer_form = NumericalAnswerForm(form_data, initial=self.initial) self.assertFalse(answer_form.is_valid()) message = 'Response should be a whole number.' self.assertEqual(message, answer_form.errors['response'])
def test_required_question_shows_field_required_error_when_no_data_is_posted_and_no_initial_passed_in(self): self.question.is_required = True self.question.save() answer_form_without_data = NumericalAnswerForm(initial=self.initial) answer_form_without_data.show_is_required_errors() self.assertEqual(['This field is required.'], answer_form_without_data.errors['response']) answer_form_with_data = NumericalAnswerForm(data={'response': 1},initial=self.initial) answer_form_with_data.show_is_required_errors() self.assertEqual({}, answer_form_with_data.errors) _initial=self.initial.copy() _initial['response'] = '1' answer_form_with_initial = NumericalAnswerForm(initial=_initial) answer_form_with_initial.show_is_required_errors() self.assertEqual({}, answer_form_with_initial.errors)
def test_valid(self): answer_form = NumericalAnswerForm(self.form_data, initial=self.initial) self.assertTrue(answer_form.is_valid())
def test_valid_if_response_is_zero(self): form_data = self.form_data.copy() form_data['response'] = '0' answer_form = NumericalAnswerForm(form_data, initial=self.initial) self.assertTrue(answer_form.is_valid())
def test_required_question_shows_field_required_error_when_no_data_is_posted_and_no_initial_passed_in( self): self.question.is_required = True self.question.save() answer_form_without_data = NumericalAnswerForm(initial=self.initial) answer_form_without_data.show_is_required_errors() self.assertEqual(['This field is required.'], answer_form_without_data.errors['response']) answer_form_with_data = NumericalAnswerForm(data={'response': 1}, initial=self.initial) answer_form_with_data.show_is_required_errors() self.assertEqual({}, answer_form_with_data.errors) _initial = self.initial.copy() _initial['response'] = '1' answer_form_with_initial = NumericalAnswerForm(initial=_initial) answer_form_with_initial.show_is_required_errors() self.assertEqual({}, answer_form_with_initial.errors)