diff --git a/webapp/tests/test_feed.py b/webapp/tests/test_feed.py index c329e22..82490ca 100644 --- a/webapp/tests/test_feed.py +++ b/webapp/tests/test_feed.py @@ -6,6 +6,8 @@ from webapp.models import Feed from webapp.serializers import FeedSerializer from webapp.tests.tag_fixture import tagBuilder +URL = "/api/feed/" + class FeedTestCase(APITestCase): @@ -19,11 +21,13 @@ class FeedTestCase(APITestCase): self.assertEqual(Feed.objects.count(), 1) self.assertEqual(Feed.objects.all()[0].tags.count(), 2) + self.feedId = feed.id + username, password = "test_admin", "password123" self.authClient = User.objects.create_superuser(username, "myemail@test.com", password) def test_get_feed(self): - response = self.client.get("/api/feed/", format="json") + response = self.client.get(URL, format="json") self.assertTrue(status.is_success(response.status_code)) feeds = Feed.objects.all() @@ -47,15 +51,28 @@ class FeedTestCase(APITestCase): "content_en": "lorem ipsum" } # Try post without authentication - response = self.client.post("/api/feed/", data, format="json") + response = self.client.post(URL, data, format="json") self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED) self.assertEqual(Feed.objects.count(), 1) # Authenticate self.client.force_authenticate(user=self.authClient) - response = self.client.post("/api/feed/", data, format="json") + response = self.client.post(URL, data, format="json") # Return success and check object was created self.assertEqual(response.status_code, status.HTTP_201_CREATED) self.assertEqual(Feed.objects.count(), 2) created = Feed.objects.get(title_fi="testtitle") self.assertEqual(created.tags.count(), 2) + + def test_post_delete(self): + response = self.client.delete(f"{URL}{self.feedId}/",) + self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED) + self.assertEqual(Feed.objects.count(), 1) + + # Authenticate + self.client.force_authenticate(user=self.authClient) + response = self.client.delete(f"{URL}{self.feedId}/") + # Soft delete + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual(Feed.objects.count(), 1) + self.assertEqual(Feed.objects.get(id=self.feedId).deleted, True)