From 7bb4a6cfc1346277eb1918e7d57ed0d13abb0b54 Mon Sep 17 00:00:00 2001 From: Aarni Halinen Date: Tue, 26 Mar 2019 17:10:25 +0200 Subject: [PATCH] Fix webapp tests --- webapp/tests.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/webapp/tests.py b/webapp/tests.py index 7879e70..067ea45 100644 --- a/webapp/tests.py +++ b/webapp/tests.py @@ -30,6 +30,19 @@ class TagsTestCase(APITestCase): tag1 = Tag.objects.get(slug="Party") self.assertEqual(sliced_response, {'id': tag1.id, 'slug': 'Party', 'name': 'Bileet'}) + def test_get_single_tag_serializer(self): + response = self.client.get('/api/tags/', format='json') + self.assertTrue(status.is_success(response.status_code)) + + tags = Tag.objects.all() + serializer = TagSerializer(tags, many=True) + # Icon on serializer is returned without protocol and domain + # Assert these individually + resp_icon = response.data['results'][0].pop('icon') + serial_icon = serializer.data[0].pop('icon') + self.assertEqual(response.data['results'], serializer.data) + self.assertEqual(resp_icon, "http://testserver" + serial_icon) + def test_get_multiple_tags(self): self.assertEqual(Tag.objects.count(), 1) Tag.objects.create(slug='Freshmen', name='Fuksit', icon=self.icon) @@ -88,6 +101,11 @@ class FeedTestCase(APITestCase): feeds = Feed.objects.all() serializer = FeedSerializer(feeds, many=True) + # DRF extends path given by serializer with the protocol and domain for icon + # Ignore tag on serializer and response. This is tested on TagTestCase. + # Note that we assume the length here to be 1 + response.data['results'][0].pop('tags') + serializer.data[0].pop('tags') self.assertEqual(response.data['results'], serializer.data) def test_post_feed(self):