Przeglądaj źródła

Update TaggedItemTest

Jeremy Stretch 5 lat temu
rodzic
commit
ef978b2ebf
1 zmienionych plików z 25 dodań i 14 usunięć
  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"])
+        )