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 @@
Home
Categories
Feeds
- Settings
+ Settings
{% if request.user.is_superuser %}
Admin
{% endif %}