diff --git a/tests/attributes.py b/tests/attributes.py index b1c5e9e..d1b06d7 100644 --- a/tests/attributes.py +++ b/tests/attributes.py @@ -14,6 +14,7 @@ if sys.version_info[0] > 2: else: from .metaclass_models2 import RegisterTestModel + class Attributes(TestCase): def setUp(self): class EncounterEavConfig(EavConfig): diff --git a/tests/forms.py b/tests/forms.py index 097781e..e1ae486 100644 --- a/tests/forms.py +++ b/tests/forms.py @@ -59,6 +59,18 @@ class Forms(TestCase): eav.register(Patient) Attribute.objects.create(name='weight', datatype=Attribute.TYPE_FLOAT) Attribute.objects.create(name='color', datatype=Attribute.TYPE_TEXT) + + self.female = EnumValue.objects.create(value='Female') + self.male = EnumValue.objects.create(value='Male') + gender_group = EnumGroup.objects.create(name='Gender') + gender_group.values.add(self.female, self.male) + + Attribute.objects.create( + name='gender', + datatype=Attribute.TYPE_ENUM, + enum_group=gender_group + ) + self.instance = Patient.objects.create(name='Jim Morrison') self.site = AdminSite() @@ -81,12 +93,17 @@ class Forms(TestCase): self.assertEqual(jim.eav.color, 'Blue') - def test_invalid_submit(self): form = PatientForm(dict(color='Blue'), instance=self.instance) with self.assertRaises(ValueError): jim = form.save() + def test_valid_enums(self): + self.instance.eav.gender = self.female + form = PatientForm(self.instance.__dict__, instance=self.instance) + rose = form.save() + + self.assertEqual(rose.eav.gender, self.female) def test_m2m(self): m2mmodel = M2MModel.objects.create(name='name')