Skip to content

Commit a2cb8c5

Browse files
tests: use reverse() and dict for query params
1 parent 0f78285 commit a2cb8c5

File tree

1 file changed

+35
-8
lines changed

1 file changed

+35
-8
lines changed

wger/exercises/tests/api/test_exercise_info_search_api.py

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
# You should have received a copy of the GNU Affero General Public License
1414
# along with Workout Manager. If not, see <http://www.gnu.org/licenses/>.
1515

16+
# Django
17+
from django.urls import reverse
18+
1619
# Third Party
1720
from rest_framework import status
1821

@@ -43,7 +46,10 @@ def test_basic_search_logged_out(self):
4346
"""
4447
Logged-out users can search via name__search and language__code
4548
"""
46-
response = self.client.get(self.url + '?name__search=exercise&language__code=en')
49+
response = self.client.get(
50+
reverse('exerciseinfo-list'),
51+
{'name__search': 'exercise', 'language__code': 'en'},
52+
)
4753
results = self._results(response)
4854
self.assertEqual(response.status_code, status.HTTP_200_OK)
4955
self.assertEqual(len(results), 4)
@@ -57,7 +63,10 @@ def test_basic_search_logged_in(self):
5763
Logged-in users get the same results
5864
"""
5965
self.authenticate('test')
60-
response = self.client.get(self.url + '?name__search=exercise&language__code=en')
66+
response = self.client.get(
67+
reverse('exerciseinfo-list'),
68+
{'name__search': 'exercise', 'language__code': 'en'},
69+
)
6170
results = self._results(response)
6271

6372
self.assertEqual(response.status_code, status.HTTP_200_OK)
@@ -71,7 +80,10 @@ def test_search_language_code_en_no_results(self):
7180
"""
7281
A DE-only exercise name should not be found when searching in English
7382
"""
74-
response = self.client.get(self.url + '?name__search=Weitere&language__code=en')
83+
response = self.client.get(
84+
reverse('exerciseinfo-list'),
85+
{'name__search': 'Weitere', 'language__code': 'en'},
86+
)
7587
results = self._results(response)
7688

7789
self.assertEqual(response.status_code, status.HTTP_200_OK)
@@ -81,7 +93,10 @@ def test_search_language_code_de(self):
8193
"""
8294
A DE-only exercise should be found when searching in German
8395
"""
84-
response = self.client.get(self.url + '?name__search=Weitere&language__code=de')
96+
response = self.client.get(
97+
reverse('exerciseinfo-list'),
98+
{'name__search': 'Weitere', 'language__code': 'de'},
99+
)
85100
results = self._results(response)
86101

87102
self.assertEqual(response.status_code, status.HTTP_200_OK)
@@ -92,7 +107,10 @@ def test_search_several_language_codes(self):
92107
"""
93108
Passing different language codes works correctly
94109
"""
95-
response = self.client.get(self.url + '?name__search=demo&language__code=en,de')
110+
response = self.client.get(
111+
reverse('exerciseinfo-list'),
112+
{'name__search': 'demo', 'language__code': 'en,de'},
113+
)
96114
results = self._results(response)
97115

98116
self.assertEqual(response.status_code, status.HTTP_200_OK)
@@ -102,7 +120,10 @@ def test_search_unknown_language_codes(self):
102120
"""
103121
Unknown language codes are ignored
104122
"""
105-
response = self.client.get(self.url + '?name__search=demo&language__code=en,de,zz')
123+
response = self.client.get(
124+
reverse('exerciseinfo-list'),
125+
{'name__search': 'demo', 'language__code': 'en,de,zz'},
126+
)
106127
results = self._results(response)
107128

108129
self.assertEqual(response.status_code, status.HTTP_200_OK)
@@ -112,7 +133,10 @@ def test_search_all_languages(self):
112133
"""
113134
Disable all language filters when language__code is omitted
114135
"""
115-
response = self.client.get(self.url + '?name__search=demo')
136+
response = self.client.get(
137+
reverse('exerciseinfo-list'),
138+
{'name__search': 'demo'},
139+
)
116140
results = self._results(response)
117141

118142
self.assertEqual(response.status_code, status.HTTP_200_OK)
@@ -122,7 +146,10 @@ def test_search_matches_alias(self):
122146
"""
123147
Alias terms should also match
124148
"""
125-
response = self.client.get(self.url + '?name__search=different&language__code=en')
149+
response = self.client.get(
150+
reverse('exerciseinfo-list'),
151+
{'name__search': 'different', 'language__code': 'en'},
152+
)
126153
results = self._results(response)
127154

128155
self.assertEqual(response.status_code, status.HTTP_200_OK)

0 commit comments

Comments
 (0)