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

1from django.test import TestCase 

2 

3from accounts.tests.factories import UserFactory 

4 

5from .factories import PostFactory 

6 

7# from ..models import Post 

8 

9 

10class PostTests(TestCase): 

11 def setUp(self): 

12 self.user = UserFactory() 

13 self.post = PostFactory() 

14 

15 def test__str__(self): 

16 assert self.post.__str__() == self.post.title 1b

17 assert str(self.post) == self.post.title 1b

18 

19 """ 

20 def test_get_absolute_url(self): 

21 url = self.post.get_absolute_url() 

22 assert url == f"/posts/{self.post.id}/" 

23 """ 

24 

25 

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 ) 

33 

34 cls.post = Post.objects.create( 

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

36 ) 

37 

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

46 

47 def test__str__(self): 

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

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

50 assert str(post) == post.title 

51 

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) 

58 

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) 

63 

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