Add form test involving enums

This commit is contained in:
Iwo Herka 2018-08-10 08:19:37 +00:00
parent fbe5f5ce3d
commit c033ee64a2
2 changed files with 19 additions and 1 deletions

View file

@ -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):

View file

@ -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')