diff --git a/src/newsreader/accounts/tests/test_integrations.py b/src/newsreader/accounts/tests/test_integrations.py index c657585..710161c 100644 --- a/src/newsreader/accounts/tests/test_integrations.py +++ b/src/newsreader/accounts/tests/test_integrations.py @@ -1,3 +1,4 @@ +from unittest import skip from unittest.mock import patch from urllib.parse import urlencode from uuid import uuid4 @@ -122,3 +123,51 @@ class RedditTemplateViewTestCase(TestCase): self.assertEquals(self.user.reddit_refresh_token, None) self.assertEquals(cache.get(f"{self.user.email}-reddit-auth"), self.state) + + +class RedditTokenRedirectViewTestCase(TestCase): + def setUp(self): + self.user = UserFactory(email="test@test.nl", password="test") + self.client.force_login(self.user) + + self.patch = patch("newsreader.accounts.views.integrations.RedditTokenTask") + self.mocked_task = self.patch.start() + + def tearDown(self): + cache.clear() + + def test_simple(self): + response = self.client.get(reverse("accounts:reddit-refresh")) + + self.assertRedirects(response, reverse("accounts:integrations")) + + self.mocked_task.delay.assert_called_once_with(self.user.pk) + + self.assertEquals(1, cache.get(f"{self.user.email}-reddit-refresh")) + + def test_not_active(self): + cache.set(f"{self.user.email}-reddit-refresh", 1) + + response = self.client.get(reverse("accounts:reddit-refresh")) + + self.assertRedirects(response, reverse("accounts:integrations")) + + self.mocked_task.delay.assert_not_called() + + +class RedditRevokeRedirectViewTestCase(TestCase): + @skip("Not implemented") + def test_simple(self): + pass + + @skip("Not implemented") + def test_no_refresh_token(self): + pass + + @skip("Not implemented") + def test_unsuccessful_response(self): + pass + + @skip("Not implemented") + def test_stream_exception(self): + pass diff --git a/src/newsreader/accounts/views/integrations.py b/src/newsreader/accounts/views/integrations.py index 94abe7a..3fecf32 100644 --- a/src/newsreader/accounts/views/integrations.py +++ b/src/newsreader/accounts/views/integrations.py @@ -100,7 +100,6 @@ class RedditTemplateView(TemplateView): ) -# TODO add tests class RedditTokenRedirectView(RedirectView): url = reverse_lazy("accounts:integrations") @@ -120,7 +119,6 @@ class RedditTokenRedirectView(RedirectView): return response -# TODO add tests class RedditRevokeRedirectView(RedirectView): url = reverse_lazy("accounts:integrations")