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