Skip to content

Commit

Permalink
test(enrollment): update tests for error condition
Browse files Browse the repository at this point in the history
  • Loading branch information
thekaveman committed Dec 1, 2023
1 parent 1f2b94b commit 87b2671
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions tests/pytest/enrollment/test_api_GroupResponse.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ def test_no_payload_invalid_response(mocker):
mock_response.json.side_effect = ValueError

with pytest.raises(ApiError, match=r"response"):
GroupResponse(mock_response, 0)
GroupResponse(mock_response, "customer", "group")


def test_no_payload_valid_response_single_matching_id(mocker):
mock_response = mocker.Mock()
mock_response.json.return_value = ["0"]

response = GroupResponse(mock_response, "0")
response = GroupResponse(mock_response, "0", "group")

assert response.customer_ids == ["0"]
assert response.updated_customer_id == "0"
Expand All @@ -27,7 +27,7 @@ def test_no_payload_valid_response_single_unmatching_id(mocker):
mock_response = mocker.Mock()
mock_response.json.return_value = ["1"]

response = GroupResponse(mock_response, "0")
response = GroupResponse(mock_response, "0", "group")

assert response.customer_ids == ["1"]
assert response.updated_customer_id == "1"
Expand All @@ -39,7 +39,7 @@ def test_no_payload_valid_response_multiple_ids(mocker):
mock_response = mocker.Mock()
mock_response.json.return_value = ["0", "1"]

response = GroupResponse(mock_response, "0")
response = GroupResponse(mock_response, "0", "group")

assert response.customer_ids == ["0", "1"]
assert not response.updated_customer_id
Expand All @@ -53,14 +53,14 @@ def test_payload_invalid_response(mocker, exception):
mock_response.json.side_effect = exception

with pytest.raises(ApiError, match=r"response"):
GroupResponse(mock_response, "0", [])
GroupResponse(mock_response, "0", "group", [])


def test_payload_valid_response(mocker):
mock_response = mocker.Mock()
mock_response.json.return_value = {"errors": [{"detail": "Duplicate id 0"}]}
mock_response.json.return_value = {"errors": [{"detail": "0 group"}]}

response = GroupResponse(mock_response, "0", ["0"])
response = GroupResponse(mock_response, "0", "group", ["0"])

assert response.customer_ids == ["0"]
assert response.updated_customer_id == "0"
Expand All @@ -69,13 +69,13 @@ def test_payload_valid_response(mocker):


failure_conditions = [
# customer_id is None
({"detail": "Duplicate"}, [None]),
# detail is None
({"detail": None}, ["0"]),
# customer_id is None
({"detail": "0 group"}, [None]),
# customer_id not in detail
({"detail": "1"}, ["0"]),
# customer_id in detail, detail doesn't start with Duplicate
({"detail": "1 group"}, ["0"]),
# group_id not in detail
({"detail": "0"}, ["0"]),
]

Expand All @@ -86,4 +86,4 @@ def test_payload_failure_response(mocker, error, payload):
mock_response.json.return_value = {"errors": [error]}

with pytest.raises(ApiError, match=r"response"):
GroupResponse(mock_response, "0", payload)
GroupResponse(mock_response, "0", "group", payload)

0 comments on commit 87b2671

Please sign in to comment.