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