diff --git a/smash/web/forms/study_subject_forms.py b/smash/web/forms/study_subject_forms.py index 93debc5b236001b458f1cef28af722f5914d60ea..9efcf8096ebce96ed6a03323fdf1ec9090a38a0f 100644 --- a/smash/web/forms/study_subject_forms.py +++ b/smash/web/forms/study_subject_forms.py @@ -1,3 +1,4 @@ +import logging import re from django import forms @@ -7,6 +8,8 @@ from web.forms.forms import DATETIMEPICKER_DATE_ATTRS, get_worker_from_args from web.models import StudySubject, Study, StudyColumns from web.models.constants import SCREENING_NUMBER_PREFIXES_FOR_TYPE +logger = logging.getLogger(__name__) + class StudySubjectAddForm(ModelForm): datetime_contact_reminder = forms.DateTimeField(label="Contact on", diff --git a/smash/web/tests/forms/test_StudySubjectAddForm.py b/smash/web/tests/forms/test_StudySubjectAddForm.py index 2b71231dd637a4171325d50c10de614907b154d4..29b4a7b7715b80db243e0a3b30053f1a7f3ba7b7 100644 --- a/smash/web/tests/forms/test_StudySubjectAddForm.py +++ b/smash/web/tests/forms/test_StudySubjectAddForm.py @@ -30,9 +30,14 @@ class StudySubjectAddFormTests(LoggedInWithWorkerTestCase): def test_validation_for_study_without_columns(self): form = StudySubjectAddForm(data=self.sample_data, user=self.user, study=create_empty_study()) - form.is_valid() self.assertTrue(form.is_valid()) + def test_validate_nd_number(self): + self.sample_data['nd_number'] = 'invalid nd number' + form = StudySubjectAddForm(data=self.sample_data, user=self.user, study=self.study) + self.assertFalse(form.is_valid()) + self.assertTrue("nd_number" in form.errors) + def test_invalid(self): form_data = self.sample_data form_data['screening_number'] = "123"