Coverage for pages/tests/test_views.py: 100.00%

63 statements  

« prev     ^ index     » next       coverage.py v7.16.2, created at 2026-10-04 19:48 -0700

1from django.test import SimpleTestCase 1a

2from django.urls import resolve, reverse 1a

3 

4from ..views import ( 1a

5 AboutPageView, 

6 ContactView, 

7 HomePageView, 

8 SuccessView, 

9) 

10 

11 

12class HomePageTests(SimpleTestCase): 1a

13 def setUp(self): 1a

14 url = reverse("home") 1a

15 self.response = self.client.get(url) 1a

16 

17 def test_home_page_status_code(self): 1a

18 self.assertEqual(self.response.status_code, 200) 1a

19 

20 def test_home_page_template(self): 1a

21 self.assertTemplateUsed(self.response, "pages/home.html") 1a

22 

23 def test_home_page_contains_correct_html(self): 1a

24 self.assertContains(self.response, "Welcome to the Todo API") 1a

25 

26 def test_home_page_does_not_contain_incorrect_html(self): 1a

27 self.assertNotContains(self.response, "Not the Homepage") 1a

28 

29 def test_homepage_url_resolves_homepageview(self): 1a

30 view = resolve("/") 1a

31 self.assertEqual( 1a

32 view.func.__name__, 

33 HomePageView.as_view().__name__, 

34 ) 

35 

36 

37class AboutPageTests(SimpleTestCase): 1a

38 def setUp(self): 1a

39 url = reverse("about") 1a

40 self.response = self.client.get(url) 1a

41 

42 def test_about_page_status_code(self): 1a

43 self.assertEqual(self.response.status_code, 200) 1a

44 

45 def test_about_page_template(self): 1a

46 self.assertTemplateUsed(self.response, "pages/about.html") 1a

47 

48 def test_about_page_contains_correct_html(self): 1a

49 self.assertContains(self.response, "About page") 1a

50 

51 def test_about_page_does_not_contain_incorrect_html(self): 1a

52 self.assertNotContains(self.response, "Not the About page") 1a

53 

54 def test_aboutpage_url_resolves_aboutpageview(self): 1a

55 view = resolve("/about/") 1a

56 self.assertEqual( 1a

57 view.func.__name__, 

58 AboutPageView.as_view().__name__, 

59 ) 

60 

61 

62class ContactViewTests(SimpleTestCase): 1a

63 def setUp(self): 1a

64 url = reverse("contact") 1a

65 self.response = self.client.get(url) 1a

66 

67 def test_contact_page_status_code(self): 1a

68 self.assertEqual(self.response.status_code, 200) 1a

69 

70 def test_contact_page_url_resolves_contact_pageview(self): 1a

71 view = resolve("/contact/") 1a

72 self.assertEqual( 1a

73 view.func.__name__, 

74 ContactView.__name__, 

75 ) 

76 

77 def test_contact_page_template(self): 1a

78 self.assertTemplateUsed(self.response, "pages/contact.html") 1a

79 

80 def test_contact_page_contains_correct_html(self): 1a

81 self.assertContains(self.response, "Contact Us") 1a

82 

83 def test_contact_page_does_not_contain_incorrect_html(self): 1a

84 self.assertNotContains(self.response, "Please Go Away") 1a

85 

86 

87class SuccessViewTests(SimpleTestCase): 1a

88 def setUp(self): 1a

89 url = reverse("success") 1a

90 self.response = self.client.get(url) 1a

91 

92 def test_success_page_status_code(self): 1a

93 self.assertEqual(self.response.status_code, 200) 1a

94 

95 def test_success_page_template(self): 1a

96 self.assertTemplateUsed(self.response, "pages/success.html") 1a

97 

98 def test_success_page_contains_correct_html(self): 1a

99 self.assertContains( 1a

100 self.response, 

101 "Thank you for your message.", 

102 ) 

103 

104 def test_success_page_does_not_contain_incorrect_html(self): 1a

105 self.assertNotContains(self.response, "Please Go Away") 1a

106 

107 def test_success_page_url_resolves_success_page_view(self): 1a

108 view = resolve("/success/") 1a

109 self.assertEqual( 1a

110 view.func.__name__, 

111 SuccessView.__name__, 

112 )