Skip to content

Commit f20c479

Browse files
committed
test some 400 error cases [test_error_cases]
1 parent d0ee7ad commit f20c479

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

test_api.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,26 @@ def test_allocations_are_persisted(add_stock):
6464
r = requests.post(f"{url}/allocate", json=line2)
6565
assert r.status_code == 201
6666
assert r.json()["batchref"] == batch2
67+
68+
69+
@pytest.mark.usefixtures("restart_api")
70+
def test_400_message_for_out_of_stock(add_stock):
71+
sku, smalL_batch, large_order = random_sku(), random_batchref(), random_orderid()
72+
add_stock(
73+
[(smalL_batch, sku, 10, "2011-01-01"),]
74+
)
75+
data = {"orderid": large_order, "sku": sku, "qty": 20}
76+
url = config.get_api_url()
77+
r = requests.post(f"{url}/allocate", json=data)
78+
assert r.status_code == 400
79+
assert r.json()["message"] == f"Out of stock for sku {sku}"
80+
81+
82+
@pytest.mark.usefixtures("restart_api")
83+
def test_400_message_for_invalid_sku():
84+
unknown_sku, orderid = random_sku(), random_orderid()
85+
data = {"orderid": orderid, "sku": unknown_sku, "qty": 20}
86+
url = config.get_api_url()
87+
r = requests.post(f"{url}/allocate", json=data)
88+
assert r.status_code == 400
89+
assert r.json()["message"] == f"Invalid sku {unknown_sku}"

0 commit comments

Comments
 (0)