Skip to content

Commit 3a42c27

Browse files
committed
Add tests for search method
1 parent cf143be commit 3a42c27

1 file changed

Lines changed: 83 additions & 0 deletions

File tree

tests/test_loading_api_wrapper.py

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,3 +170,86 @@ def test_get_profile_failure(self, mock_requests):
170170
self.assertIsNone(api.cookies)
171171
self.assertEqual(response.get("code"), 401)
172172
self.assertEqual(response.get("message"), "No auth token")
173+
174+
@patch("loading_api_wrapper.api.requests")
175+
def test_search_success(self, mock_requests):
176+
expected_response = {
177+
"posts": [
178+
{
179+
"parentId": "5c6d3faae34cd5001ddf33f4",
180+
"body": "Är det bara jag som fått känslan av att Leia inte känner eller har träffat Obi-Wan i A New Hope? Hon verkar inte bry sig nämnvärt när han dör och mycket mindre än Luke, som känt honom i en halv kvart. I hennes meddelande i R2-D2 säger hon dessutom att det är hennes far som ber Obi-Wan att hjälpa henne, med repliker som låter som att hon inte har någon relation till honom. ",
181+
"userId": "5bb76576066d1b001d5289f8",
182+
"postType": "regular",
183+
"replies": 0,
184+
"createdAt": "2022-05-30T11:43:24.192Z",
185+
"updatedAt": "2022-05-30T11:51:37.473Z",
186+
"edits": 1,
187+
"lastEdit": "2022-05-30T11:51:37.472Z",
188+
"id": "6294addc119f1f6427cef2bb",
189+
}
190+
],
191+
"users": [
192+
{
193+
"id": "5bb76576066d1b001d5289f8",
194+
"name": "Anders Eklöf",
195+
"picture": "6efb2624-cf7b-402a-8834-f934f2c1c29b.jpg",
196+
"role": "editor",
197+
"createdAt": "2018-10-05T13:21:58.857Z",
198+
"status": "active",
199+
}
200+
],
201+
}
202+
203+
mock_response = MagicMock()
204+
mock_response.status_code = 200
205+
mock_response.json.return_value = expected_response
206+
mock_requests.post.return_value = mock_response
207+
208+
api = LoadingApiWrapper()
209+
response = api.search("zGwszApFEcY")
210+
211+
self.assertEqual(response.get("code"), 200)
212+
self.assertEqual(response.get("search_results"), expected_response)
213+
214+
@patch("loading_api_wrapper.api.requests")
215+
def test_search_success_no_results(self, mock_requests):
216+
expected_response = {"posts": [], "users": []}
217+
218+
mock_response = MagicMock()
219+
mock_response.status_code = 200
220+
mock_response.json.return_value = expected_response
221+
mock_requests.post.return_value = mock_response
222+
223+
api = LoadingApiWrapper()
224+
response = api.search("zGwszApFEcYesf")
225+
226+
self.assertEqual(response.get("code"), 200)
227+
self.assertEqual(response.get("search_results"), expected_response)
228+
229+
@patch("loading_api_wrapper.api.requests")
230+
def test_search_failure_empty_query(self, mock_requests):
231+
status_code = 400
232+
expected_response = {
233+
"code": status_code,
234+
"message": "Validation error",
235+
"errors": [
236+
{
237+
"field": "query",
238+
"location": "body",
239+
"messages": ['"query" is not allowed to be empty'],
240+
"types": ["any.empty"],
241+
}
242+
],
243+
}
244+
245+
mock_response = MagicMock()
246+
mock_response.status_code = status_code
247+
mock_response.json.return_value = expected_response
248+
mock_requests.post.return_value = mock_response
249+
250+
api = LoadingApiWrapper()
251+
response = api.search("")
252+
253+
self.assertEqual(response.get("code"), 400)
254+
self.assertEqual(response.get("message"), "Validation error")
255+
self.assertEqual(response, expected_response)

0 commit comments

Comments
 (0)