浏览代码

Update TaggedItemTest

Jeremy Stretch 5 年之前
父节点
当前提交
ef978b2ebf
共有 1 个文件被更改,包括 25 次插入14 次删除
  1. 25 14
      netbox/extras/tests/test_tags.py

+ 25 - 14
netbox/extras/tests/test_tags.py

@@ -9,42 +9,53 @@ class TaggedItemTest(APITestCase):
     """
     """
     Test the application of Tags to and item (a Site, for example) upon creation (POST) and modification (PATCH).
     Test the application of Tags to and item (a Site, for example) upon creation (POST) and modification (PATCH).
     """
     """
-
-    def setUp(self):
-
-        super().setUp()
-
     def test_create_tagged_item(self):
     def test_create_tagged_item(self):
+        tags = self.create_tags("Foo", "Bar", "Baz")
         data = {
         data = {
             'name': 'Test Site',
             'name': 'Test Site',
             'slug': 'test-site',
             'slug': 'test-site',
-            'tags': ['Foo', 'Bar', 'Baz']
+            'tags': [t.pk for t in tags]
         }
         }
         url = reverse('dcim-api:site-list')
         url = reverse('dcim-api:site-list')
         self.add_permissions('dcim.add_site')
         self.add_permissions('dcim.add_site')
 
 
         response = self.client.post(url, data, format='json', **self.header)
         response = self.client.post(url, data, format='json', **self.header)
         self.assertHttpStatus(response, status.HTTP_201_CREATED)
         self.assertHttpStatus(response, status.HTTP_201_CREATED)
-        self.assertEqual(sorted(response.data['tags']), sorted(data['tags']))
+        self.assertListEqual(
+            sorted([t['id'] for t in response.data['tags']]),
+            sorted(data['tags'])
+        )
         site = Site.objects.get(pk=response.data['id'])
         site = Site.objects.get(pk=response.data['id'])
-        tags = [tag.name for tag in site.tags.all()]
-        self.assertEqual(sorted(tags), sorted(data['tags']))
+        self.assertListEqual(
+            sorted([t.name for t in site.tags.all()]),
+            sorted(["Foo", "Bar", "Baz"])
+        )
 
 
     def test_update_tagged_item(self):
     def test_update_tagged_item(self):
         site = Site.objects.create(
         site = Site.objects.create(
             name='Test Site',
             name='Test Site',
             slug='test-site'
             slug='test-site'
         )
         )
-        site.tags.add('Foo', 'Bar', 'Baz')
+        site.tags.add("Foo", "Bar", "Baz")
+        self.create_tags("New Tag")
         data = {
         data = {
-            'tags': ['Foo', 'Bar', 'New Tag']
+            'tags': [
+                {"name": "Foo"},
+                {"name": "Bar"},
+                {"name": "New Tag"},
+            ]
         }
         }
         self.add_permissions('dcim.change_site')
         self.add_permissions('dcim.change_site')
         url = reverse('dcim-api:site-detail', kwargs={'pk': site.pk})
         url = reverse('dcim-api:site-detail', kwargs={'pk': site.pk})
 
 
         response = self.client.patch(url, data, format='json', **self.header)
         response = self.client.patch(url, data, format='json', **self.header)
         self.assertHttpStatus(response, status.HTTP_200_OK)
         self.assertHttpStatus(response, status.HTTP_200_OK)
-        self.assertEqual(sorted(response.data['tags']), sorted(data['tags']))
+        self.assertListEqual(
+            sorted([t['name'] for t in response.data['tags']]),
+            sorted([t['name'] for t in data['tags']])
+        )
         site = Site.objects.get(pk=response.data['id'])
         site = Site.objects.get(pk=response.data['id'])
-        tags = [tag.name for tag in site.tags.all()]
-        self.assertEqual(sorted(tags), sorted(data['tags']))
+        self.assertListEqual(
+            sorted([t.name for t in site.tags.all()]),
+            sorted(["Foo", "Bar", "New Tag"])
+        )