Coverage for pages/tests/test_views.py: 100.00%
63 statements
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-13 15:39 -0700
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-13 15:39 -0700
1from django.test import SimpleTestCase
2from django.urls import resolve, reverse
4from ..views import (
5 AboutPageView,
6 ContactView,
7 HomePageView,
8 SuccessView,
9)
12class HomePageTests(SimpleTestCase):
13 def setUp(self):
14 url = reverse("home")
15 self.response = self.client.get(url)
17 def test_homepage_status_code(self):
18 self.assertEqual(self.response.status_code, 200) 1f
20 def test_homepage_template(self):
21 self.assertTemplateUsed(self.response, "home.html") 1g
23 def test_homepage_contains_correct_html(self):
24 self.assertContains(self.response, "local library") 1h
26 def test_homepage_does_not_contain_incorrect_html(self):
27 self.assertNotContains(self.response, "Not the Homepage") 1i
29 def test_homepage_url_resolves_homepageview(self):
30 view = resolve("/") 1b
31 self.assertEqual( 1b
32 view.func.__name__,
33 HomePageView.as_view().__name__,
34 )
37class AboutPageTests(SimpleTestCase):
38 def setUp(self):
39 url = reverse("about")
40 self.response = self.client.get(url)
42 def test_about_page_status_code(self):
43 self.assertEqual(self.response.status_code, 200) 1j
45 def test_about_page_template(self):
46 self.assertTemplateUsed(self.response, "about.html") 1k
48 def test_about_page_contains_correct_html(self):
49 self.assertContains(self.response, "About Page") 1l
51 def test_about_page_does_not_contain_incorrect_html(self):
52 self.assertNotContains(self.response, "Not the About page") 1m
54 def test_about_page_url_resolves_about_pageview(self):
55 view = resolve("/about/") 1c
56 self.assertEqual( 1c
57 view.func.__name__,
58 AboutPageView.as_view().__name__,
59 )
62class ContactViewTests(SimpleTestCase):
63 def setUp(self):
64 url = reverse("contact")
65 self.response = self.client.get(url)
67 def test_contact_page_status_code(self):
68 self.assertEqual(self.response.status_code, 200) 1n
70 def test_contact_page_url_resolves_contactpageview(self):
71 view = resolve("/contact/") 1d
72 self.assertEqual( 1d
73 view.func.__name__,
74 ContactView.__name__,
75 )
77 def test_contact_page_template(self):
78 self.assertTemplateUsed(self.response, "pages/contact.html") 1o
80 def test_contact_page_contains_correct_html(self):
81 self.assertContains(self.response, "Contact Us") 1p
83 def test_contact_page_does_not_contain_incorrect_html(self):
84 self.assertNotContains(self.response, "Home Page") 1q
87class SuccessViewTests(SimpleTestCase):
88 def setUp(self):
89 url = reverse("success")
90 self.response = self.client.get(url)
92 def test_success_page_status_code(self):
93 self.assertEqual(self.response.status_code, 200) 1r
95 def test_success_page_template(self):
96 self.assertTemplateUsed(self.response, "pages/success.html") 1s
98 def test_success_page_contains_correct_html(self):
99 self.assertContains( 1t
100 self.response,
101 "Thank you for your message.",
102 )
104 def test_success_page_does_not_contain_incorrect_html(self):
105 self.assertNotContains(self.response, "Please Go Away") 1u
107 def test_success_page_url_resolves_success_page_view(self):
108 view = resolve("/success/") 1e
109 self.assertEqual( 1e
110 view.func.__name__,
111 SuccessView.__name__,
112 )