Coverage for posts/tests/test_models.py: 100.00%
12 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
1from django.test import TestCase
3from accounts.tests.factories import UserFactory
5from .factories import PostFactory
7# from ..models import Post
10class PostTests(TestCase):
11 def setUp(self):
12 self.user = UserFactory()
13 self.post = PostFactory()
15 def test__str__(self):
16 assert self.post.__str__() == self.post.title 1b
17 assert str(self.post) == self.post.title 1b
19 """
20 def test_get_absolute_url(self):
21 url = self.post.get_absolute_url()
22 assert url == f"/posts/{self.post.id}/"
23 """
26"""
27class BlogTests(APITestCase):
28 @classmethod
29 def setUpTestData(cls):
30 cls.user = get_user_model().objects.create_user(
31 username="blogreader", password="T3stP@s5123"
32 )
34 cls.post = Post.objects.create(
35 author=cls.user, title="Blog title", body="Nice Body content..."
36 )
38 def test_blog_content(self):
39 post = Post.objects.get(id=1)
40 author = f"{post.author}"
41 title = f"{post.title}"
42 body = f"{post.body}"
43 self.assertEqual(author, "blogreader")
44 self.assertEqual(title, "Blog title")
45 self.assertEqual(body, "Nice Body content...")
47 def test__str__(self):
48 post = Post.objects.get(id=1)
49 assert post.__str__() == post.title
50 assert str(post) == post.title
52 def test_api_listview(self):
53 self.client.login(username="blogreader", password="T3stP@s5123")
54 response = self.client.get(reverse("post_list"))
55 self.assertEqual(response.status_code, status.HTTP_200_OK)
56 self.assertEqual(Post.objects.count(), 1)
57 # self.assertContains(response, self.post)
59 def test_api_logged_out_deny_listview_access(self):
60 response = self.client.get(reverse("post_list"))
61 self.assertEqual(response.status_code, status.HTTP_200_OK)
62 # self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
64 def test_api_detailview(self):
65 self.client.login(username="blogreader", password="T3stP@s5123")
66 response = self.client.get(
67 reverse("post_detail", kwargs={"pk": self.post.id}), format="json"
68 )
69 self.assertEqual(response.status_code, status.HTTP_200_OK)
70 self.assertEqual(Post.objects.count(), 1)
71 self.assertContains(response, "Nice Body content...")
72"""