Add tests for dynamic choices

This commit is contained in:
Jeremy Stretch 2020-01-14 16:38:14 -05:00
parent 857e04e90b
commit 8df53eac91
2 changed files with 13 additions and 3 deletions

View File

@ -30,8 +30,12 @@ class ChoicesTest(APITestCase):
# Cable # Cable
self.assertEqual(choices_to_dict(response.data.get('cable:length_unit')), CableLengthUnitChoices.as_dict()) self.assertEqual(choices_to_dict(response.data.get('cable:length_unit')), CableLengthUnitChoices.as_dict())
self.assertEqual(choices_to_dict(response.data.get('cable:status')), CableStatusChoices.as_dict()) self.assertEqual(choices_to_dict(response.data.get('cable:status')), CableStatusChoices.as_dict())
# self.assertEqual(choices_to_dict(response.data.get('cable:termination_a_type')), ) content_types = ContentType.objects.filter(model__in=CABLE_TERMINATION_TYPES)
# self.assertEqual(choices_to_dict(response.data.get('cable:termination_b_type')), ) cable_termination_choices = {
"{}.{}".format(ct.app_label, ct.model): ct.name for ct in content_types
}
self.assertEqual(choices_to_dict(response.data.get('cable:termination_a_type')), cable_termination_choices)
self.assertEqual(choices_to_dict(response.data.get('cable:termination_b_type')), cable_termination_choices)
self.assertEqual(choices_to_dict(response.data.get('cable:type')), CableTypeChoices.as_dict()) self.assertEqual(choices_to_dict(response.data.get('cable:type')), CableTypeChoices.as_dict())
# Console ports # Console ports

View File

@ -8,10 +8,12 @@ from rest_framework import status
from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Platform, Rack, RackGroup, RackRole, Region, Site from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Platform, Rack, RackGroup, RackRole, Region, Site
from extras.api.views import ScriptViewSet from extras.api.views import ScriptViewSet
from extras.choices import * from extras.choices import *
from extras.constants import GRAPH_MODELS
from extras.models import ConfigContext, Graph, ExportTemplate, Tag from extras.models import ConfigContext, Graph, ExportTemplate, Tag
from extras.scripts import BooleanVar, IntegerVar, Script, StringVar from extras.scripts import BooleanVar, IntegerVar, Script, StringVar
from tenancy.models import Tenant, TenantGroup from tenancy.models import Tenant, TenantGroup
from utilities.testing import APITestCase, choices_to_dict from utilities.testing import APITestCase, choices_to_dict
from utilities.utils import model_names_to_filter_dict
class ChoicesTest(APITestCase): class ChoicesTest(APITestCase):
@ -27,7 +29,11 @@ class ChoicesTest(APITestCase):
self.assertEqual(choices_to_dict(response.data.get('export-template:template_language')), ExportTemplateLanguageChoices.as_dict()) self.assertEqual(choices_to_dict(response.data.get('export-template:template_language')), ExportTemplateLanguageChoices.as_dict())
# Graph # Graph
# self.assertEqual(choices_to_dict(response.data.get('graph:type')), ) content_types = ContentType.objects.filter(**model_names_to_filter_dict(GRAPH_MODELS))
graph_type_choices = {
"{}.{}".format(ct.app_label, ct.model): ct.name for ct in content_types
}
self.assertEqual(choices_to_dict(response.data.get('graph:type')), graph_type_choices)
self.assertEqual(choices_to_dict(response.data.get('graph:template_language')), ExportTemplateLanguageChoices.as_dict()) self.assertEqual(choices_to_dict(response.data.get('graph:template_language')), ExportTemplateLanguageChoices.as_dict())
# ObjectChange # ObjectChange