Browse Source

Convert extras view tests to StandardTestCases

Jeremy Stretch 6 năm trước cách đây
mục cha
commit
ab7b921641
1 tập tin đã thay đổi với 36 bổ sung34 xóa
  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 extras.choices import ObjectChangeActionChoices
 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
     def setUpTestData(cls):
 
-        Tag.objects.bulk_create([
+        Tag.objects.bulk_create((
             Tag(name='Tag 1', slug='tag-1'),
             Tag(name='Tag 2', slug='tag-2'),
             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
     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
         for i in range(1, 4):
@@ -55,22 +58,21 @@ class ConfigContextTestCase(TestCase):
             configcontext.save()
             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):
     user_permissions = (