From 7b07ce6501c68546862af2cc22052d2e8fed2a69 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Benjamin=20H=C3=A4ttasch?=
 <benjamin.haettasch@fachschaft.informatik.tu-darmstadt.de>
Date: Sun, 2 May 2021 18:23:40 +0200
Subject: [PATCH] Implement three basic testcases for AKDashboard

---
 AKDashboard/tests.py | 53 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 52 insertions(+), 1 deletion(-)

diff --git a/AKDashboard/tests.py b/AKDashboard/tests.py
index a39b155a..7d695f03 100644
--- a/AKDashboard/tests.py
+++ b/AKDashboard/tests.py
@@ -1 +1,52 @@
-# Create your tests here.
+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.")
-- 
GitLab