Coverage for learning_logs/tests/test_views.py: 100.00%
41 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-08-31 09:09 -0700
« prev ^ index » next coverage.py v7.10.6, created at 2025-08-31 09:09 -0700
1from django.contrib.auth import get_user_model
2from django.test import TestCase
3from django.urls import reverse
5from ..models import Entry, Topic # noqa:F401
6from ..views import topic, topics # noqa:F401
9class TopicPageViewTest(TestCase):
10 def setUp(self):
11 User = get_user_model()
12 self.user = User.objects.create_user(
13 username="kevin",
14 email="kevin@example.com",
15 password="secret",
16 )
18 self.topic = Topic.objects.create(
19 text="A Topic title",
20 owner=self.user,
21 )
23 self.entry = Topic.objects.create(
24 # topic = self.entry.topic,
25 text="Entry text",
26 owner=self.user,
27 )
29 def test_topic_content(self):
30 self.assertEqual(f"{self.topic.text}", "A Topic title") 1f
31 self.assertEqual(f"{self.topic.owner}", "kevin") 1f
33 def test___str__(self):
34 assert self.topic.__str__() == self.topic.text 1g
35 assert str(self.topic) == self.topic.text 1g
37 def test_topic_create_view(self):
38 self.client.login(email="kevin@example.com", password="secret") 1b
39 response = self.client.post( 1b
40 reverse("new_topic"),
41 {
42 "text": "This is a new topic",
43 },
44 )
45 self.assertEqual(response.status_code, 302) 1b
46 self.assertEqual(Topic.objects.last().text, "This is a new topic") 1b
47 self.assertEqual(Topic.objects.first().text, "A Topic title") 1b
48 self.assertTemplateUsed("learning_logs/new_topic.html") 1b
49 # self.assertEqual(Article.objects.last().body, "Nice body content")
51 def test_topic_list_single(self):
52 self.client.login(email="kevin@example.com", password="secret") 1c
53 response = self.client.get( 1c
54 reverse("topic", args={self.topic.id}),
55 # reverse("topic"),
56 )
57 self.assertEqual(response.status_code, 200) 1c
58 self.assertEqual(Topic.objects.first().text, "A Topic title") 1c
59 self.assertTemplateUsed("learning_logs/topic.html") 1c
61 def test_topics_list_page(self):
62 self.client.login(email="kevin@example.com", password="secret") 1d
63 response = self.client.get( 1d
64 # reverse("topics", args={self.topic.id}),
65 reverse("topics"),
66 )
67 self.assertEqual(response.status_code, 200) 1d
68 self.assertTemplateUsed("learning_logs/topics.html") 1d
69 # self.assertEqual(Topic.objects.first().text, "A Topic title")
71 def test_create_new_entry(self):
72 self.client.login(email="kevin@example.com", password="secret") 1e
73 response = self.client.post( 1e
74 reverse("new_entry", args={self.topic.id}),
75 {
76 "text": "This is a new entry",
77 },
78 )
79 self.assertEqual(response.status_code, 302) 1e
80 self.assertTemplateUsed("learning_logs/new_entry.html") 1e
82 """
83 def test_create_new_entry(self):
84 self.client.login(email="kevin@example.com", password="secret")
85 response = self.client.post(
86 reverse("edit_entry", args={self.entry.id}),
87 {
88 "text": "This is an edited entry",
89 },
90 )
91 self.assertEqual(response.status_code, 302)
92 self.assertTemplateUsed("learning_logs/edit_entry.html")
93 """