aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar ks129 <[email protected]>2020-10-26 19:45:37 +0200
committerGravatar ks129 <[email protected]>2020-10-26 19:45:37 +0200
commitadebc8672a1bab47e82fb912f3d1a81dbbd7d876 (patch)
treeadcc905c499582ab9e54334c5596c7e936aa05b0
parentCreate testing event pages (diff)
Create tests for event views
-rw-r--r--pydis_site/apps/events/tests/test_views.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/pydis_site/apps/events/tests/test_views.py b/pydis_site/apps/events/tests/test_views.py
new file mode 100644
index 00000000..81f67c08
--- /dev/null
+++ b/pydis_site/apps/events/tests/test_views.py
@@ -0,0 +1,50 @@
+from pathlib import Path
+from unittest.mock import patch
+
+from django.conf import settings
+from django.test import TestCase
+from django_hosts.resolvers import reverse
+
+
+PAGES_PATH = Path(settings.BASE_DIR, "pydis_site", "apps", "events", "tests", "test-pages")
+
+
+class IndexTests(TestCase):
+ def test_events_index_response_200(self):
+ """Should return response code 200 when visiting index of events."""
+ url = reverse("events:events")
+ resp = self.client.get(url)
+ self.assertEqual(resp.status_code, 200)
+
+
+class PageTests(TestCase):
+ @patch("pydis_site.apps.events.views.page.PAGES_PATH", new=PAGES_PATH)
+ def test_valid_event_page_reponse_200(self):
+ """Should return response code 200 when visiting valid event page."""
+ pages = (
+ reverse("events:page", ("my-event",)),
+ reverse("events:page", ("my-event/subpage",)),
+ )
+ for page in pages:
+ with self.subTest(page=page):
+ resp = self.client.get(page)
+ self.assertEqual(resp.status_code, 200)
+
+ @patch("pydis_site.apps.events.views.page.PAGES_PATH", new=PAGES_PATH)
+ def test_invalid_event_page_404(self):
+ """Should return response code 404 when visiting invalid event page."""
+ pages = (
+ reverse("events:page", ("invalid",)),
+ reverse("events:page", ("invalid/invalid",))
+ )
+ for page in pages:
+ with self.subTest(page=page):
+ resp = self.client.get(page)
+ self.assertEqual(resp.status_code, 404)
+
+ @patch("pydis_site.apps.events.views.page.PAGES_PATH")
+ def test_removing_trailing_slash_from_path(self, path_mock):
+ """Should remove trailing slash from path when this exists there."""
+ url = reverse("events:page", ("this-is-my-event/",))
+ self.client.get(url)
+ path_mock.joinpath.assert_called_with("this-is-my-event")