diff options
| author | ThinkChaos <ThinkChaos@users.noreply.github.com> | 2017-06-07 16:48:28 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-02-08 21:08:05 +0100 |
| commit | b99d6c9cbc8eecf480892599201eef0d14b20d71 (patch) | |
| tree | a563f6643d977ba1b97f2674da5e002a700399f5 /tests/auth_tests/test_views.py | |
| parent | 59841170ba1785ada10a2915b0b60efdb046ee39 (diff) | |
Fixed #28216 -- Added next_page/get_default_redirect_url() to LoginView.
Diffstat (limited to 'tests/auth_tests/test_views.py')
| -rw-r--r-- | tests/auth_tests/test_views.py | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/tests/auth_tests/test_views.py b/tests/auth_tests/test_views.py index e57d661772..0ec3a134c2 100644 --- a/tests/auth_tests/test_views.py +++ b/tests/auth_tests/test_views.py @@ -52,8 +52,8 @@ class AuthViewsTestCase(TestCase): cls.u1 = User.objects.create_user(username='testclient', password='password', email='testclient@example.com') cls.u3 = User.objects.create_user(username='staff', password='password', email='staffmember@example.com') - def login(self, username='testclient', password='password'): - response = self.client.post('/login/', { + def login(self, username='testclient', password='password', url='/login/'): + response = self.client.post(url, { 'username': username, 'password': password, }) @@ -726,6 +726,31 @@ class LoginTest(AuthViewsTestCase): self.login() self.assertNotEqual(original_session_key, self.client.session.session_key) + def test_login_get_default_redirect_url(self): + response = self.login(url='/login/get_default_redirect_url/') + self.assertRedirects(response, '/custom/', fetch_redirect_response=False) + + def test_login_next_page(self): + response = self.login(url='/login/next_page/') + self.assertRedirects(response, '/somewhere/', fetch_redirect_response=False) + + def test_login_named_next_page_named(self): + response = self.login(url='/login/next_page/named/') + self.assertRedirects(response, '/password_reset/', fetch_redirect_response=False) + + @override_settings(LOGIN_REDIRECT_URL='/custom/') + def test_login_next_page_overrides_login_redirect_url_setting(self): + response = self.login(url='/login/next_page/') + self.assertRedirects(response, '/somewhere/', fetch_redirect_response=False) + + def test_login_redirect_url_overrides_next_page(self): + response = self.login(url='/login/next_page/?next=/test/') + self.assertRedirects(response, '/test/', fetch_redirect_response=False) + + def test_login_redirect_url_overrides_get_default_redirect_url(self): + response = self.login(url='/login/get_default_redirect_url/?next=/test/') + self.assertRedirects(response, '/test/', fetch_redirect_response=False) + class LoginURLSettings(AuthViewsTestCase): """Tests for settings.LOGIN_URL.""" |
