Add tests

This commit is contained in:
dansheps 2020-02-24 10:29:07 -06:00
parent a5853427d4
commit 8ed0d0400f

View File

@ -145,6 +145,30 @@ class ScriptVariablesTest(TestCase):
self.assertTrue(form.is_valid()) self.assertTrue(form.is_valid())
self.assertEqual(form.cleaned_data['var1'].pk, data['var1']) self.assertEqual(form.cleaned_data['var1'].pk, data['var1'])
def test_dynamicobjectvar(self):
"""
Test dynamic version of the objectvar
"""
class TestScript(Script):
var1 = DynamicObjectVar(
queryset=DeviceRole.objects.all()
)
# Populate some objects
for i in range(1, 6):
DeviceRole(
name='Device Role {}'.format(i),
slug='device-role-{}'.format(i)
).save()
# Validate valid data
data = {'var1': DeviceRole.objects.first().pk}
form = TestScript().as_form(data, None)
self.assertTrue(form.is_valid())
self.assertEqual(form.cleaned_data['var1'].pk, data['var1'])
def test_multiobjectvar(self): def test_multiobjectvar(self):
class TestScript(Script): class TestScript(Script):
@ -168,6 +192,32 @@ class ScriptVariablesTest(TestCase):
self.assertEqual(form.cleaned_data['var1'][1].pk, data['var1'][1]) self.assertEqual(form.cleaned_data['var1'][1].pk, data['var1'][1])
self.assertEqual(form.cleaned_data['var1'][2].pk, data['var1'][2]) self.assertEqual(form.cleaned_data['var1'][2].pk, data['var1'][2])
def test_dynamicmultiobjectvar(self):
"""
Test dynamic version of the multiobjectvar
"""
class TestScript(Script):
var1 = DynamicMultiObjectVar(
queryset=DeviceRole.objects.all()
)
# Populate some objects
for i in range(1, 6):
DeviceRole(
name='Device Role {}'.format(i),
slug='device-role-{}'.format(i)
).save()
# Validate valid data
data = {'var1': [role.pk for role in DeviceRole.objects.all()[:3]]}
form = TestScript().as_form(data, None)
self.assertTrue(form.is_valid())
self.assertEqual(form.cleaned_data['var1'][0].pk, data['var1'][0])
self.assertEqual(form.cleaned_data['var1'][1].pk, data['var1'][1])
self.assertEqual(form.cleaned_data['var1'][2].pk, data['var1'][2])
def test_filevar(self): def test_filevar(self):
class TestScript(Script): class TestScript(Script):