Coverage for posts/tests/test_core.py: 100.00%
0 statements
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-24 10:40 -0700
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-24 10:40 -0700
1"""
2Note: The following are tests used prior to creating PostFactory
4from django.contrib.auth import get_user_model
5from django.urls import reverse
6from rest_framework import status
7from rest_framework.test import APITestCase
9from .models import Post
12class BlogTests(APITestCase):
13 @classmethod
14 def setUpTestData(cls):
15 cls.user = get_user_model().objects.create_user(
16 username="blogreader", password="T3stP@s5123"
17 )
19 cls.post = Post.objects.create(
20 author=cls.user, title="Blog title", body="Nice Body content..."
21 )
23 def test_blog_content(self):
24 post = Post.objects.get(id=1)
25 author = f"{post.author}"
26 title = f"{post.title}"
27 body = f"{post.body}"
28 self.assertEqual(author, "blogreader")
29 self.assertEqual(title, "Blog title")
30 self.assertEqual(body, "Nice Body content...")
32 def test__str__(self):
33 post = Post.objects.get(id=1)
34 assert post.__str__() == post.title
35 assert str(post) == post.title
37 def test_api_listview(self):
38 self.client.login(username="blogreader", password="T3stP@s5123")
39 response = self.client.get(reverse("post_list"))
40 self.assertEqual(response.status_code, status.HTTP_200_OK)
41 self.assertEqual(Post.objects.count(), 1)
42 # self.assertContains(response, self.post)
44 def test_api_logged_out_deny_listview_access(self):
45 response = self.client.get(reverse("post_list"))
46 self.assertEqual(response.status_code, status.HTTP_200_OK)
47 # self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
49 def test_api_detailview(self):
50 self.client.login(username="blogreader", password="T3stP@s5123")
51 response = self.client.get(
52 reverse("post_detail", kwargs={"pk": self.post.id}), format="json"
53 )
54 self.assertEqual(response.status_code, status.HTTP_200_OK)
55 self.assertEqual(Post.objects.count(), 1)
56 self.assertContains(response, "Nice Body content...")
57"""