Add tests for redirect view & update url
This commit is contained in:
parent
b2927151ef
commit
f394d185a1
5 changed files with 41 additions and 4 deletions
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
{% block content %}
|
||||
<main id="password-change--page" class="main">
|
||||
{% 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 %}
|
||||
</main>
|
||||
{% endblock %}
|
||||
|
|
|
|||
37
src/newsreader/accounts/tests/test_favicon.py
Normal file
37
src/newsreader/accounts/tests/test_favicon.py
Normal file
|
|
@ -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()
|
||||
|
|
@ -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 = [
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<li class="nav__item"><a href="{% url 'index' %}">Home</a></li>
|
||||
<li class="nav__item"><a href="{% url 'news:core:categories' %}">Categories</a></li>
|
||||
<li class="nav__item"><a href="{% url 'news:collection:rules' %}">Feeds</a></li>
|
||||
<li class="nav__item"><a href="{% url 'accounts:settings:settings' %}">Settings</a></li>
|
||||
<li class="nav__item"><a href="{% url 'accounts:settings:home' %}">Settings</a></li>
|
||||
{% if request.user.is_superuser %}
|
||||
<li class="nav__item"><a href="{% url 'admin:index' %}">Admin</a></li>
|
||||
{% endif %}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue