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
« 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
4from ..views import ( 1a
5 AboutPageView,
6 ContactView,
7 HomePageView,
8 SuccessView,
9)
12class HomePageTests(SimpleTestCase): 1a
13 def setUp(self): 1a
14 url = reverse("home") 1a
15 self.response = self.client.get(url) 1a
17 def test_home_page_status_code(self): 1a
18 self.assertEqual(self.response.status_code, 200) 1a
20 def test_home_page_template(self): 1a
21 self.assertTemplateUsed(self.response, "pages/home.html") 1a
23 def test_home_page_contains_correct_html(self): 1a
24 self.assertContains(self.response, "Welcome to the Todo API") 1a
26 def test_home_page_does_not_contain_incorrect_html(self): 1a
27 self.assertNotContains(self.response, "Not the Homepage") 1a
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 )
37class AboutPageTests(SimpleTestCase): 1a
38 def setUp(self): 1a
39 url = reverse("about") 1a
40 self.response = self.client.get(url) 1a
42 def test_about_page_status_code(self): 1a
43 self.assertEqual(self.response.status_code, 200) 1a
45 def test_about_page_template(self): 1a
46 self.assertTemplateUsed(self.response, "pages/about.html") 1a
48 def test_about_page_contains_correct_html(self): 1a
49 self.assertContains(self.response, "About page") 1a
51 def test_about_page_does_not_contain_incorrect_html(self): 1a
52 self.assertNotContains(self.response, "Not the About page") 1a
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 )
62class ContactViewTests(SimpleTestCase): 1a
63 def setUp(self): 1a
64 url = reverse("contact") 1a
65 self.response = self.client.get(url) 1a
67 def test_contact_page_status_code(self): 1a
68 self.assertEqual(self.response.status_code, 200) 1a
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 )
77 def test_contact_page_template(self): 1a
78 self.assertTemplateUsed(self.response, "pages/contact.html") 1a
80 def test_contact_page_contains_correct_html(self): 1a
81 self.assertContains(self.response, "Contact Us") 1a
83 def test_contact_page_does_not_contain_incorrect_html(self): 1a
84 self.assertNotContains(self.response, "Please Go Away") 1a
87class SuccessViewTests(SimpleTestCase): 1a
88 def setUp(self): 1a
89 url = reverse("success") 1a
90 self.response = self.client.get(url) 1a
92 def test_success_page_status_code(self): 1a
93 self.assertEqual(self.response.status_code, 200) 1a
95 def test_success_page_template(self): 1a
96 self.assertTemplateUsed(self.response, "pages/success.html") 1a
98 def test_success_page_contains_correct_html(self): 1a
99 self.assertContains( 1a
100 self.response,
101 "Thank you for your message.",
102 )
104 def test_success_page_does_not_contain_incorrect_html(self): 1a
105 self.assertNotContains(self.response, "Please Go Away") 1a
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 )