diff --git a/netbox/extras/tests/test_tags.py b/netbox/extras/tests/test_tags.py index 8991c58e7..694cd77d9 100644 --- a/netbox/extras/tests/test_tags.py +++ b/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). """ - - def setUp(self): - - super().setUp() - def test_create_tagged_item(self): + tags = self.create_tags("Foo", "Bar", "Baz") data = { 'name': 'Test Site', 'slug': 'test-site', - 'tags': ['Foo', 'Bar', 'Baz'] + 'tags': [t.pk for t in tags] } url = reverse('dcim-api:site-list') self.add_permissions('dcim.add_site') response = self.client.post(url, data, format='json', **self.header) 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']) - 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): site = Site.objects.create( name='Test Site', slug='test-site' ) - site.tags.add('Foo', 'Bar', 'Baz') + site.tags.add("Foo", "Bar", "Baz") + self.create_tags("New Tag") data = { - 'tags': ['Foo', 'Bar', 'New Tag'] + 'tags': [ + {"name": "Foo"}, + {"name": "Bar"}, + {"name": "New Tag"}, + ] } self.add_permissions('dcim.change_site') url = reverse('dcim-api:site-detail', kwargs={'pk': site.pk}) response = self.client.patch(url, data, format='json', **self.header) 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']) - 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"]) + )