def test_date_fields_are_hidden_when_switch_enabled(self, is_switch_enabled): with override_switch(PUBLISHER_ENABLE_READ_ONLY_FIELDS, active=is_switch_enabled): run_form = CourseRunForm( hide_start_date_field=is_switch_enabled, hide_end_date_field=is_switch_enabled ) self.assertEqual(run_form.fields['start'].widget.is_hidden, is_switch_enabled) self.assertEqual(run_form.fields['end'].widget.is_hidden, is_switch_enabled)
def test_course_run_dates(self): """ Verify that 'clean' raises 'ValidationError' if the Start date is in the past Or if the Start date is after the End date """ run_form = CourseRunForm() current_datetime = datetime.now(timezone('US/Central')) run_form.cleaned_data = {'start': current_datetime + timedelta(days=3), 'end': current_datetime + timedelta(days=1)} with self.assertRaises(ValidationError): run_form.clean() run_form.cleaned_data['start'] = current_datetime + timedelta(days=1) run_form.cleaned_data['end'] = current_datetime + timedelta(days=3) self.assertEqual(run_form.clean(), run_form.cleaned_data)
def test_course_run_xseries(self): """ Verify that 'clean' raises 'ValidationError' if the is_xseries is checked but no xseries_name has been entered """ run_form = CourseRunForm() run_form.cleaned_data = {'is_xseries': True, 'xseries_name': ''} with self.assertRaises(ValidationError): run_form.clean() run_form.cleaned_data['xseries_name'] = "Test Name" self.assertEqual(run_form.clean(), run_form.cleaned_data)
def test_minimum_effort(self): """ Verify that 'clean' raises 'ValidationError' error if Minimum effort is greater than Maximum effort. """ run_form = CourseRunForm() run_form.cleaned_data = {'min_effort': 4, 'max_effort': 2} with self.assertRaises(ValidationError): run_form.clean() run_form.cleaned_data['min_effort'] = 1 self.assertEqual(run_form.clean(), run_form.cleaned_data)
def test_course_run_professional_certificate(self): """ Verify that 'clean' raises 'ValidationError' if the is_professional_certificate is checked but no professional_certificate_name has been entered """ run_form = CourseRunForm() run_form.cleaned_data = {'is_professional_certificate': True, 'professional_certificate_name': ''} with self.assertRaises(ValidationError): run_form.clean() run_form.cleaned_data['professional_certificate_name'] = "Test Name" self.assertEqual(run_form.clean(), run_form.cleaned_data)
def test_minimum__effort_is_not_empty(self): """ Verify that 'clean' raises 'ValidationError' error if Maximum effort is empty. """ run_form = CourseRunForm() run_form.cleaned_data = {'min_effort': 4} with self.assertRaises(ValidationError) as err: run_form.clean() self.assertEqual(str(err.exception), "{'max_effort': ['Maximum effort can not be empty']}") run_form.cleaned_data['max_effort'] = 5 self.assertEqual(run_form.clean(), run_form.cleaned_data)
def test_minimum_maximum_effort_equality(self): """ Verify that 'clean' raises 'ValidationError' error if Minimum effort and Maximum effort are equal. """ run_form = CourseRunForm() run_form.cleaned_data = {'min_effort': 4, 'max_effort': 4} with self.assertRaises(ValidationError) as err: run_form.clean() self.assertEqual(str(err.exception), "{'min_effort': ['Minimum effort and Maximum effort can not be same']}") run_form.cleaned_data['min_effort'] = 2 self.assertEqual(run_form.clean(), run_form.cleaned_data)