def test_food_stock_consistency(): food_id = random.choice(list(food_store.keys())) buy_to_stock(food_id, 0) # should fail when food out of stock res = simple_make_order([{"food_id": food_id, "count": 1}]) assert res.status_code == 403 assert res.json() == {"code": "FOOD_OUT_OF_STOCK", "message": u"食物库存不足"}
def test_item_stock_consistency(): item_id = random.choice(list(item_store.keys())) buy_to_stock(item_id, 0) # should fail when item out of stock res = simple_make_order([{"item_id": item_id, "count": 1}]) assert res.status_code == 403 assert res.json() == {"code": "ITEM_OUT_OF_STOCK", "message": u"物品库存不足"}
def buy_to_stock(food_id, target_stock): remain_stock = max(food_store[food_id]["stock"] - target_stock, 0) while remain_stock > 0: count = min(remain_stock, 3) res = simple_make_order([{"food_id": food_id, "count": count}]) # should success when food have remain stock assert res.status_code == 200 remain_stock -= count