Skip to content
Snippets Groups Projects
test_study_forms.py 1.82 KiB
Newer Older
from django.test import TestCase
from django.forms import ValidationError
from web.tests.functions import get_test_study, create_study_subject
from web.forms.study_forms import StudyEditForm
from web.models.study import Study
from web.models.study_subject import StudySubject

class StudyFormTests(TestCase):

    def test_study_default_regex(self):
        # this will add a studysubject with a NDnumber
        StudySubject.objects.all().delete()
        create_study_subject(nd_number='ND0001')
        form = StudyEditForm()
        # set default regex
        nd_number_study_subject_regex_default = Study._meta.get_field(
            'nd_number_study_subject_regex').get_default()
        form.cleaned_data = {
            'nd_number_study_subject_regex': nd_number_study_subject_regex_default}
Carlos Vega's avatar
Carlos Vega committed

        self.assertTrue(form.clean()['nd_number_study_subject_regex'] == nd_number_study_subject_regex_default)
        # test wrong regex
        form = StudyEditForm()
        nd_number_study_subject_regex_default = r'^nd\d{5}$'
        form.cleaned_data = {
            'nd_number_study_subject_regex': nd_number_study_subject_regex_default}
Carlos Vega's avatar
Carlos Vega committed
        self.assertFalse(form.is_valid())

    def test_study_other_regex(self):
        StudySubject.objects.all().delete()
        # this will add a studysubject with a NDnumber
        create_study_subject(nd_number='nd00001')
        form = StudyEditForm()
        # test new regex
        nd_number_study_subject_regex_default = r'^nd\d{5}$'
        form.cleaned_data = {
            'nd_number_study_subject_regex': nd_number_study_subject_regex_default}
Carlos Vega's avatar
Carlos Vega committed
        self.assertTrue(form.clean()['nd_number_study_subject_regex']
                        == nd_number_study_subject_regex_default)