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

1from django.test import TestCase 1a

2 

3from accounts.tests.factories import UserFactory 1a

4 

5from .factories import PostFactory 1a

6 

7# from ..models import Post 

8 

9 

10class PostTests(TestCase): 1a

11 def setUp(self): 1a

12 self.user = UserFactory() 1a

13 self.post = PostFactory() 1a

14 

15 def test__str__(self): 1a

16 assert str(self.post) == self.post.title 1a

17 

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 """ 

23 

24 

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 ) 

32 

33 cls.post = Post.objects.create( 

34 author=cls.user, title="Blog title", body="Nice Body content..." 

35 ) 

36 

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...") 

45 

46 def test__str__(self): 

47 post = Post.objects.get(id=1) 

48 assert post.__str__() == post.title 

49 assert str(post) == post.title 

50 

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) 

57 

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) 

62 

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"""