Skip to content

Commit c5fd864

Browse files
Add missing unit tests for "justwatch" module
1 parent aa5c020 commit c5fd864

2 files changed

Lines changed: 22 additions & 8 deletions

File tree

requirements.txt

42 Bytes
Binary file not shown.
Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,38 @@
11
from unittest.mock import MagicMock, patch
2+
from pytest import fixture
23

3-
from simplejustwatchapi.justwatch import search
4+
from simplejustwatchapi.justwatch import search, details
45

56
JUSTWATCH_GRAPHQL_URL = "https://apis.justwatch.com/graphql"
67
SEARCH_INPUT = ("TITLE", "COUNTRY", "LANGUAGE", 5, True)
8+
DETAILS_INPUT = ("NODE ID", "COUNTRY", "LANGUAGE", False)
79
DUMMY_REQUEST = {"dummy": "request"}
810
DUMMY_RESPONSE = {"dummy": "response"}
911
DUMMY_ENTRIES = [MagicMock(), MagicMock(), None]
1012

1113

12-
@patch("simplejustwatchapi.justwatch.post")
14+
@fixture()
15+
def httpx_post_mock(mocker):
16+
post_mock = mocker.patch("simplejustwatchapi.justwatch.post")
17+
post_mock.return_value.json.return_value = DUMMY_RESPONSE
18+
yield post_mock
19+
post_mock.assert_called_with(JUSTWATCH_GRAPHQL_URL, json=DUMMY_REQUEST)
20+
post_mock.return_value.raise_for_status.assert_called()
21+
22+
1323
@patch("simplejustwatchapi.justwatch.parse_search_response", return_value=DUMMY_ENTRIES)
1424
@patch("simplejustwatchapi.justwatch.prepare_search_request", return_value=DUMMY_REQUEST)
15-
def test_search(requests_mock, parser_mock, httpx_mock) -> None:
16-
httpx_mock().json.return_value = DUMMY_RESPONSE
17-
25+
def test_search(requests_mock, parser_mock, httpx_post_mock) -> None:
1826
results = search(*SEARCH_INPUT)
19-
2027
requests_mock.assert_called_with(*SEARCH_INPUT)
21-
httpx_mock.assert_called_with(JUSTWATCH_GRAPHQL_URL, json=DUMMY_REQUEST)
22-
httpx_mock().raise_for_status.assert_called()
28+
parser_mock.assert_called_with(DUMMY_RESPONSE)
29+
assert results == DUMMY_ENTRIES
30+
31+
32+
@patch("simplejustwatchapi.justwatch.parse_details_response", return_value=DUMMY_ENTRIES)
33+
@patch("simplejustwatchapi.justwatch.prepare_details_request", return_value=DUMMY_REQUEST)
34+
def test_details(requests_mock, parser_mock, httpx_post_mock) -> None:
35+
results = details(*DETAILS_INPUT)
36+
requests_mock.assert_called_with(*DETAILS_INPUT)
2337
parser_mock.assert_called_with(DUMMY_RESPONSE)
2438
assert results == DUMMY_ENTRIES

0 commit comments

Comments
 (0)