Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import pytz
from django.test import TestCase
from django.urls import reverse
from django.utils.timezone import now
from AKModel.models import Event, AK, AKCategory
class DashboardTests(TestCase):
@classmethod
def setUpTestData(cls):
super().setUpTestData()
cls.event = Event.objects.create(
name="Test Event",
slug="test",
timezone=pytz.utc,
start=now(),
end=now(),
active=True,
)
cls.default_category = AKCategory.objects.create(
name="Test Category",
event=cls.event,
)
def test_dashboard_view(self):
url = reverse('dashboard:dashboard_event', kwargs={"slug": self.event.slug})
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
def test_nonexistent_dashboard_view(self):
url = reverse('dashboard:dashboard_event', kwargs={"slug": "nonexistent-event"})
response = self.client.get(url)
self.assertEqual(response.status_code, 404)
def test_history(self):
url = reverse('dashboard:dashboard_event', kwargs={"slug": self.event.slug})
# History should be empty
response = self.client.get(url)
self.assertQuerysetEqual(response.context["recent_changes"], [])
AK.objects.create(
name="Test AK",
category=self.default_category,
event=self.event,
)
# History should now contain one AK (Test AK)
response = self.client.get(url)
self.assertEqual(len(response.context["recent_changes"]), 1)
self.assertEqual(response.context["recent_changes"][0]['text'], "New AK: Test AK.")