diff options
author | 2021-04-10 13:49:12 +0300 | |
---|---|---|
committer | 2021-05-03 20:19:50 +0300 | |
commit | dcff50f75c121a1683f8be245a3267107abdbdb7 (patch) | |
tree | 610d60063b93d676f7250e6c2077ec7a1d6c1029 /pydis_site/apps | |
parent | Include redirect app URLs to home app URLs (diff) |
Add dynamic tests for redirections
Diffstat (limited to 'pydis_site/apps')
-rw-r--r-- | pydis_site/apps/redirect/tests.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/pydis_site/apps/redirect/tests.py b/pydis_site/apps/redirect/tests.py new file mode 100644 index 00000000..6d670a82 --- /dev/null +++ b/pydis_site/apps/redirect/tests.py @@ -0,0 +1,20 @@ +from django.conf import settings +from django.test import TestCase +from django.urls import reverse + + +class RedirectTests(TestCase): + def test_redirects(self): + """ + Should redirect to given route based on redirect rules. + + Makes sure that every redirect: + 1. Redirects only once. + 2. Redirects to right URL. + """ + for original_path, (redirect_route, name, args) in settings.REDIRECTIONS.items(): + with self.subTest(original_path=original_path, redirect_route=redirect_route, name=name, args=args): + resp = self.client.get(reverse(f"home:redirect:{name}", args=args), follow=True) + + self.assertEqual(1, len(resp.redirect_chain)) + self.assertRedirects(resp, reverse(f"home:{redirect_route}", args=args)) |