From ff220e67c17a89de0da6bdd14b488318b5b7ce3c Mon Sep 17 00:00:00 2001 From: Thomas Girod Date: Fri, 11 Apr 2025 14:50:25 +0200 Subject: [PATCH] use new `django.url.reverse` `query` kwarg --- com/tests/test_api.py | 5 ++--- core/tests/test_core.py | 6 ++++-- core/tests/test_files.py | 4 ++-- core/tests/test_user.py | 4 +++- counter/tests/test_counter.py | 2 +- pedagogy/tests/tests.py | 22 ++++++++++++++-------- 6 files changed, 26 insertions(+), 17 deletions(-) diff --git a/com/tests/test_api.py b/com/tests/test_api.py index bfb7bb94..571bc2a0 100644 --- a/com/tests/test_api.py +++ b/com/tests/test_api.py @@ -1,7 +1,6 @@ from dataclasses import dataclass from datetime import timedelta from pathlib import Path -from urllib.parse import quote import pytest from django.conf import settings @@ -166,9 +165,9 @@ class TestFetchNewsDates(TestCase): assert dates[1]["news"]["summary"] == markdown(summary_2) def test_fetch(self): - after = quote((now() + timedelta(days=1)).isoformat()) + after = (now() + timedelta(days=1)).isoformat() response = self.client.get( - reverse("api:fetch_news_dates") + f"?page_size=3&after={after}" + reverse("api:fetch_news_dates", query={"page_size": 3, "after": after}) ) assert response.status_code == 200 dates = response.json()["results"] diff --git a/core/tests/test_core.py b/core/tests/test_core.py index c08f34b2..cdc9ebb1 100644 --- a/core/tests/test_core.py +++ b/core/tests/test_core.py @@ -257,7 +257,7 @@ class TestPageHandling(TestCase): parent = baker.prepare(Page) parent.save(force_lock=True) response = self.client.get( - reverse("core:page_new") + f"?page={parent._full_name}/new" + reverse("core:page_new", query={"page": f"{parent._full_name}/new"}) ) assert response.status_code == 200 @@ -341,7 +341,9 @@ class TestUserTools: """An anonymous user shouldn't have access to the tools page.""" url = reverse("core:user_tools") response = client.get(url) - assertRedirects(response, expected_url=reverse("core:login") + f"?next={url}") + assertRedirects( + response, expected_url=reverse("core:login", query={"next": url}) + ) @pytest.mark.parametrize("username", ["guy", "root", "skia", "comunity"]) def test_page_is_working(self, client, username): diff --git a/core/tests/test_files.py b/core/tests/test_files.py index 4afc4583..70a01c7a 100644 --- a/core/tests/test_files.py +++ b/core/tests/test_files.py @@ -147,8 +147,8 @@ class TestUserProfilePicture: reverse( "core:file_delete", kwargs={"file_id": user.profile_pict.pk, "popup": ""}, - ) - + f"?next={user.get_absolute_url()}" + query={"next": user.get_absolute_url()}, + ), ) @pytest.mark.parametrize( diff --git a/core/tests/test_user.py b/core/tests/test_user.py index d14bfc3c..b15c7bbe 100644 --- a/core/tests/test_user.py +++ b/core/tests/test_user.py @@ -72,7 +72,9 @@ class TestSearchUsersAPI(TestSearchUsers): expected = [u.id for u in self.users[::-1]] for term in ["first", "First", "FIRST"]: - response = self.client.get(reverse("api:search_users") + f"?search={term}") + response = self.client.get( + reverse("api:search_users", query={"search": term}) + ) assert response.status_code == 200 assert response.json()["count"] == 11 assert [r["id"] for r in response.json()["results"]] == expected diff --git a/counter/tests/test_counter.py b/counter/tests/test_counter.py index e3b885b7..02575884 100644 --- a/counter/tests/test_counter.py +++ b/counter/tests/test_counter.py @@ -633,7 +633,7 @@ class TestCounterStats(TestCase): def test_not_authenticated_access_fail(self): url = reverse("counter:stats", args=[self.counter.id]) response = self.client.get(url) - assertRedirects(response, reverse("core:login") + f"?next={url}") + assertRedirects(response, reverse("core:login", query={"next": url})) def test_unauthorized_user_fails(self): self.client.force_login(baker.make(User)) diff --git a/pedagogy/tests/tests.py b/pedagogy/tests/tests.py index 643d6d27..88c81c57 100644 --- a/pedagogy/tests/tests.py +++ b/pedagogy/tests/tests.py @@ -111,7 +111,9 @@ class TestUVCreation(TestCase): def test_create_uv_unauthorized_fail(self): # Test with anonymous user response = self.client.post(self.create_uv_url, create_uv_template(0)) - assertRedirects(response, reverse("core:login") + f"?next={self.create_uv_url}") + assertRedirects( + response, reverse("core:login", query={"next": self.create_uv_url}) + ) # Test with subscribed user self.client.force_login(self.sli) @@ -194,7 +196,9 @@ class TestUVDelete(TestCase): def test_uv_delete_pedagogy_unauthorized_fail(self): # Anonymous user response = self.client.post(self.delete_uv_url) - assertRedirects(response, reverse("core:login") + f"?next={self.delete_uv_url}") + assertRedirects( + response, reverse("core:login", query={"next": self.delete_uv_url}) + ) assert UV.objects.filter(pk=self.uv.pk).exists() for user in baker.make(User), subscriber_user.make(): @@ -248,7 +252,9 @@ class TestUVUpdate(TestCase): response = self.client.post( self.update_uv_url, create_uv_template(self.bibou.id, code="PA00") ) - assertRedirects(response, reverse("core:login") + f"?next={self.update_uv_url}") + assertRedirects( + response, reverse("core:login", query={"next": self.update_uv_url}) + ) # Not subscribed user self.client.force_login(self.guy) @@ -337,7 +343,7 @@ class TestUVCommentCreationAndDisplay(TestCase): nb_comments = self.uv.comments.count() # Test with anonymous user response = self.client.post(self.uv_url, create_uv_comment_template(0)) - assertRedirects(response, reverse("core:login") + f"?next={self.uv_url}") + assertRedirects(response, reverse("core:login", query={"next": self.uv_url})) # Test with non subscribed user self.client.force_login(self.guy) @@ -425,7 +431,7 @@ class TestUVCommentDelete(TestCase): # Anonymous user response = self.client.post(url) - assertRedirects(response, reverse("core:login") + f"?next={url}") + assertRedirects(response, reverse("core:login", query={"next": url})) # Unsbscribed user for user in baker.make(User), subscriber_user.make(): @@ -485,7 +491,7 @@ class TestUVCommentUpdate(TestCase): url = reverse("pedagogy:comment_update", kwargs={"comment_id": self.comment.id}) # Anonymous user response = self.client.post(url, self.comment_edit) - assertRedirects(response, reverse("core:login") + f"?next={url}") + assertRedirects(response, reverse("core:login", query={"next": url})) # Unsbscribed user self.client.force_login(baker.make(User)) @@ -569,7 +575,7 @@ class TestUVModerationForm(TestCase): url = reverse("pedagogy:moderation") # Test with anonymous user response = self.client.get(url) - assertRedirects(response, reverse("core:login") + f"?next={url}") + assertRedirects(response, reverse("core:login", query={"next": url})) # Test with unsubscribed user self.client.force_login(self.guy) @@ -776,7 +782,7 @@ class TestUVCommentReportCreate(TestCase): response = self.client.post( url, {"comment": self.comment.id, "reporter": 0, "reason": "C'est moche"} ) - assertRedirects(response, reverse("core:login") + f"?next={url}") + assertRedirects(response, reverse("core:login", query={"next": url})) assert not UVCommentReport.objects.all().exists() def test_notifications(self):