def test_collected_date_after_program_end(self): minimal_data = { 'date_collected': '2017-1-1', 'achieved': '30', 'indicator': self.indicator.id, 'program': self.program.id, } form = ResultForm(minimal_data, **self.form_kwargs) self.assertFalse(form.is_valid()) self.assertIn('date_collected', form.errors)
def test_adding_record_without_url_fails_validation(self): bad_data = { 'date_collected': '2016-03-31', 'achieved': '30', 'indicator': self.indicator.id, 'program': self.program.id, 'record_name': 'new record', } form = ResultForm(bad_data, **self.form_kwargs) self.assertFalse(form.is_valid()) self.assertIn('evidence_url', form.errors)
def test_adding_record_without_name_passes_validation(self): bad_data = { 'date_collected': '2016-03-31', 'achieved': '30', 'indicator': self.indicator.id, 'program': self.program.id, 'evidence_url': 'http://google.com', 'rationale': 'this is a rationale' } form = ResultForm(bad_data, **self.form_kwargs) self.assertTrue(form.is_valid())
def test_good_data_validates(self): minimal_data = { 'date_collected': '2016-01-01', 'achieved': '30', 'indicator': self.indicator.id, 'program': self.program.id, 'rationale': 'this is a rationale' } form = ResultForm(minimal_data, **self.form_kwargs) self.assertTrue(form.is_valid(), "errors {0}".format(form.errors)) new_result = form.save() self.assertIsNotNone(new_result.id) db_result = Result.objects.get(pk=new_result.id) self.assertEqual(db_result.date_collected, datetime.date(2016, 1, 1)) self.assertEqual(db_result.achieved, 30)
def test_good_data_with_evidence_validates(self): minimal_data = { 'date_collected': '2016-03-31', 'achieved': '30', 'indicator': self.indicator.id, 'program': self.program.id, 'record_name': 'new record', 'evidence_url': 'http://google.com', 'rationale': 'this is a rationale' } form = ResultForm(minimal_data, **self.form_kwargs) self.assertTrue(form.is_valid(), "errors {0}".format(form.errors)) new_result = form.save() self.assertIsNotNone(new_result.id) db_result = Result.objects.get(pk=new_result.id) self.assertEqual(db_result.record_name, 'new record')
def test_create_form_initial_values(self): form = ResultForm(user=self.user, indicator=self.indicator, program=self.program, request=self.request) self.assertEqual(form['indicator'].value(), self.indicator.id) self.assertEqual(form['program'].value(), self.program.id) self.assertEqual(form['achieved'].value(), None) self.assertEqual(form['record_name'].value(), None) self.assertEqual(form['evidence_url'].value(), None)
def test_initial_values_no_evidence(self): form = ResultForm(user=self.user, indicator=self.indicator, program=self.program, instance=self.blank_result, request=self.request) self.assertEqual(form['achieved'].value(), self.result.achieved) self.assertEqual(form['target_frequency'].value(), Indicator.ANNUAL) self.assertEqual(form['indicator'].value(), self.indicator.id) self.assertEqual(form['record_name'].value(), None) self.assertEqual(form['evidence_url'].value(), None)
def test_initial_values(self): form = ResultForm(user=self.user, indicator=self.indicator, program=self.program, instance=self.result, request=self.request) self.assertEqual(form['achieved'].value(), self.result.achieved) self.assertEqual(form['target_frequency'].value(), Indicator.ANNUAL) self.assertEqual(form['indicator'].value(), self.indicator.id) self.assertEqual(form['date_collected'].value(), self.result.date_collected) self.assertEqual(form['record_name'].value(), 'record name') self.assertEqual(form['evidence_url'].value(), 'evidence url')