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 %}
|
{% block content %}
|
||||||
<main id="password-change--page" class="main">
|
<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 %}
|
{% include "components/form/form.html" with form=form title="Change password" confirm_text="Change password" cancel_url=cancel_url %}
|
||||||
</main>
|
</main>
|
||||||
{% endblock %}
|
{% 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
|
# Misc
|
||||||
path("favicon/", login_required(FaviconRedirectView.as_view()), name="favicon"),
|
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 = [
|
urlpatterns = [
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ from newsreader.news.collection.tasks import FaviconTask
|
||||||
|
|
||||||
|
|
||||||
class FaviconRedirectView(RedirectView):
|
class FaviconRedirectView(RedirectView):
|
||||||
url = reverse_lazy("accounts:settings:settings")
|
url = reverse_lazy("accounts:settings:home")
|
||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
response = super().get(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 '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: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 '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 %}
|
{% if request.user.is_superuser %}
|
||||||
<li class="nav__item"><a href="{% url 'admin:index' %}">Admin</a></li>
|
<li class="nav__item"><a href="{% url 'admin:index' %}">Admin</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue