1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Closes #3545: Add MultiObjectVar for custom scripts

This commit is contained in:
Jeremy Stretch
2019-10-09 15:06:00 -04:00
parent 738368a6a1
commit d402b6c3e5
3 changed files with 43 additions and 1 deletions

View File

@@ -120,6 +120,29 @@ class ScriptVariablesTest(TestCase):
self.assertTrue(form.is_valid())
self.assertEqual(form.cleaned_data['var1'].pk, data['var1'])
def test_multiobjectvar(self):
class TestScript(Script):
var1 = MultiObjectVar(
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):
class TestScript(Script):