diff options
| author | 2020-10-26 19:45:37 +0200 | |
|---|---|---|
| committer | 2020-10-26 19:45:37 +0200 | |
| commit | adebc8672a1bab47e82fb912f3d1a81dbbd7d876 (patch) | |
| tree | adcc905c499582ab9e54334c5596c7e936aa05b0 | |
| parent | Create testing event pages (diff) | |
Create tests for event views
| -rw-r--r-- | pydis_site/apps/events/tests/test_views.py | 50 | 
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")  |