Coverage for posts/tests/test_models.py: 100.00%
11 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-15 09:40 -0700
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-15 09:40 -0700
1from django.test import TestCase 1a
3from accounts.tests.factories import UserFactory 1a
5from .factories import PostFactory 1a
7# from ..models import Post
10class PostTests(TestCase): 1a
11 def setUp(self): 1a
12 self.user = UserFactory() 1a
13 self.post = PostFactory() 1a
15 def test__str__(self): 1a
16 assert str(self.post) == self.post.title 1a
18 """ 1a
19 def test_get_absolute_url(self):
20 url = self.post.get_absolute_url()
21 assert url == f"/posts/{self.post.id}/"
22 """
25""" 1a
26class BlogTests(APITestCase):
27 @classmethod
28 def setUpTestData(cls):
29 cls.user = get_user_model().objects.create_user(
30 username="blogreader", password="T3stP@s5123"
31 )
33 cls.post = Post.objects.create(
34 author=cls.user, title="Blog title", body="Nice Body content..."
35 )
37 def test_blog_content(self):
38 post = Post.objects.get(id=1)
39 author = f"{post.author}"
40 title = f"{post.title}"
41 body = f"{post.body}"
42 self.assertEqual(author, "blogreader")
43 self.assertEqual(title, "Blog title")
44 self.assertEqual(body, "Nice Body content...")
46 def test__str__(self):
47 post = Post.objects.get(id=1)
48 assert post.__str__() == post.title
49 assert str(post) == post.title
51 def test_api_listview(self):
52 self.client.login(username="blogreader", password="T3stP@s5123")
53 response = self.client.get(reverse("post_list"))
54 self.assertEqual(response.status_code, status.HTTP_200_OK)
55 self.assertEqual(Post.objects.count(), 1)
56 # self.assertContains(response, self.post)
58 def test_api_logged_out_deny_listview_access(self):
59 response = self.client.get(reverse("post_list"))
60 self.assertEqual(response.status_code, status.HTTP_200_OK)
61 # self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
63 def test_api_detailview(self):
64 self.client.login(username="blogreader", password="T3stP@s5123")
65 response = self.client.get(
66 reverse("post_detail", kwargs={"pk": self.post.id}), format="json"
67 )
68 self.assertEqual(response.status_code, status.HTTP_200_OK)
69 self.assertEqual(Post.objects.count(), 1)
70 self.assertContains(response, "Nice Body content...")
71"""