Преглед изворни кода

Convert extras view tests to StandardTestCases

Jeremy Stretch пре 6 година
родитељ
комит
ab7b921641
1 измењених фајлова са 36 додато и 34 уклоњено
  1. 36 34
      netbox/extras/tests/test_views.py

+ 36 - 34
netbox/extras/tests/test_views.py

@@ -7,44 +7,47 @@ from django.urls import reverse
 from dcim.models import Site
 from dcim.models import Site
 from extras.choices import ObjectChangeActionChoices
 from extras.choices import ObjectChangeActionChoices
 from extras.models import ConfigContext, ObjectChange, Tag
 from extras.models import ConfigContext, ObjectChange, Tag
-from utilities.testing import TestCase
+from utilities.testing import StandardTestCases, TestCase
 
 
 
 
-class TagTestCase(TestCase):
-    user_permissions = (
-        'extras.view_tag',
-    )
+class TagTestCase(StandardTestCases.Views):
+    model = Tag
+
+    # Disable inapplicable tests
+    test_create_object = None
+    test_import_objects = None
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
 
 
-        Tag.objects.bulk_create([
+        Tag.objects.bulk_create((
             Tag(name='Tag 1', slug='tag-1'),
             Tag(name='Tag 1', slug='tag-1'),
             Tag(name='Tag 2', slug='tag-2'),
             Tag(name='Tag 2', slug='tag-2'),
             Tag(name='Tag 3', slug='tag-3'),
             Tag(name='Tag 3', slug='tag-3'),
-        ])
+        ))
 
 
-    def test_tag_list(self):
-
-        url = reverse('extras:tag_list')
-        params = {
-            "q": "tag",
+        cls.form_data = {
+            'name': 'Tag X',
+            'slug': 'tag-x',
+            'color': 'c0c0c0',
+            'comments': 'Some comments',
         }
         }
 
 
-        response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params)))
-        self.assertHttpStatus(response, 200)
 
 
+class ConfigContextTestCase(StandardTestCases.Views):
+    model = ConfigContext
 
 
-class ConfigContextTestCase(TestCase):
-    user_permissions = (
-        'extras.view_configcontext',
-    )
+    # Disable inapplicable tests
+    test_import_objects = None
+
+    # TODO: Resolve model discrepancies when creating/editing ConfigContexts
+    test_create_object = None
+    test_edit_object = None
 
 
     @classmethod
     @classmethod
     def setUpTestData(cls):
     def setUpTestData(cls):
 
 
-        site = Site(name='Site 1', slug='site-1')
-        site.save()
+        site = Site.objects.create(name='Site 1', slug='site-1')
 
 
         # Create three ConfigContexts
         # Create three ConfigContexts
         for i in range(1, 4):
         for i in range(1, 4):
@@ -55,22 +58,21 @@ class ConfigContextTestCase(TestCase):
             configcontext.save()
             configcontext.save()
             configcontext.sites.add(site)
             configcontext.sites.add(site)
 
 
-    def test_configcontext_list(self):
-
-        url = reverse('extras:configcontext_list')
-        params = {
-            "q": "foo",
+        cls.form_data = {
+            'name': 'Config Context X',
+            'weight': 200,
+            'description': 'A new config context',
+            'is_active': True,
+            'regions': [],
+            'sites': [site.pk],
+            'roles': [],
+            'platforms': [],
+            'tenant_groups': [],
+            'tenants': [],
+            'tags': [],
+            'data': '{"foo": 123}',
         }
         }
 
 
-        response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params)))
-        self.assertHttpStatus(response, 200)
-
-    def test_configcontext(self):
-
-        configcontext = ConfigContext.objects.first()
-        response = self.client.get(configcontext.get_absolute_url())
-        self.assertHttpStatus(response, 200)
-
 
 
 class ObjectChangeTestCase(TestCase):
 class ObjectChangeTestCase(TestCase):
     user_permissions = (
     user_permissions = (