diff --git a/src/newsreader/accounts/templates/accounts/views/password-change.html b/src/newsreader/accounts/templates/accounts/views/password-change.html index 5e7b103..d6eb918 100644 --- a/src/newsreader/accounts/templates/accounts/views/password-change.html +++ b/src/newsreader/accounts/templates/accounts/views/password-change.html @@ -2,7 +2,7 @@ {% block content %}
- {% url 'accounts:settings:settings' as cancel_url %} + {% url 'accounts:settings:home' as cancel_url %} {% include "components/form/form.html" with form=form title="Change password" confirm_text="Change password" cancel_url=cancel_url %}
{% endblock %} diff --git a/src/newsreader/accounts/tests/test_favicon.py b/src/newsreader/accounts/tests/test_favicon.py new file mode 100644 index 0000000..d3eb56b --- /dev/null +++ b/src/newsreader/accounts/tests/test_favicon.py @@ -0,0 +1,37 @@ +from unittest.mock import patch + +from django.core.cache import cache +from django.test import TestCase +from django.urls import reverse + +from newsreader.accounts.tests.factories import UserFactory + + +class FaviconRedirectViewTestCase(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.favicon.FaviconTask") + self.mocked_task = self.patch.start() + + def tearDown(self): + cache.clear() + + def test_simple(self): + response = self.client.get(reverse("accounts:settings:favicon")) + + self.assertRedirects(response, reverse("accounts:settings:home")) + + self.mocked_task.delay.assert_called_once_with(self.user.pk) + + self.assertEqual(1, cache.get(f"{self.user.email}-favicon-task")) + + def test_not_active(self): + cache.set(f"{self.user.email}-favicon-task", 1) + + response = self.client.get(reverse("accounts:settings:favicon")) + + self.assertRedirects(response, reverse("accounts:settings:home")) + + self.mocked_task.delay.assert_not_called() diff --git a/src/newsreader/accounts/urls.py b/src/newsreader/accounts/urls.py index 188c236..0eaee5c 100644 --- a/src/newsreader/accounts/urls.py +++ b/src/newsreader/accounts/urls.py @@ -64,7 +64,7 @@ settings_patterns = [ ), # Misc path("favicon/", login_required(FaviconRedirectView.as_view()), name="favicon"), - path("", login_required(SettingsView.as_view()), name="settings"), + path("", login_required(SettingsView.as_view()), name="home"), ] urlpatterns = [ diff --git a/src/newsreader/accounts/views/favicon.py b/src/newsreader/accounts/views/favicon.py index b1084d6..1b85399 100644 --- a/src/newsreader/accounts/views/favicon.py +++ b/src/newsreader/accounts/views/favicon.py @@ -8,7 +8,7 @@ from newsreader.news.collection.tasks import FaviconTask class FaviconRedirectView(RedirectView): - url = reverse_lazy("accounts:settings:settings") + url = reverse_lazy("accounts:settings:home") def get(self, request, *args, **kwargs): response = super().get(request, *args, **kwargs) diff --git a/src/newsreader/templates/base.html b/src/newsreader/templates/base.html index ef5c190..efaf9f2 100644 --- a/src/newsreader/templates/base.html +++ b/src/newsreader/templates/base.html @@ -17,7 +17,7 @@ - + {% if request.user.is_superuser %} {% endif %}