def test_make_order(): uid, token = next(token_gen) cart_id = new_cart(token) item_items = [next(item_gen)] # make order success res = make_order(uid, token, cart_id, item_items) assert res.status_code == 200 order_id = res.json()["order_id"] assert len(order_id) > 0 # verify query return the same order orders = json_get("/orders", token).json() assert len(orders) == 1 q_order = orders[0] assert q_order["id"] == order_id assert q_order["items"] == item_items # verify order info correct _price = lambda i: item_store[i]["price"] assert q_order["total"] == sum( _price(item["item_id"]) * item["count"] for item in q_order["items"]) # test only one order can be made res2 = make_order(uid, token, cart_id, item_items) assert res2.status_code == 403 assert res2.json() == { "code": "ORDER_OUT_OF_LIMIT", "message": u"每个用户只能下一单" }
def test_make_order(): uid, token = next(token_gen) cart_id = new_cart(token) food_items = [next(food_gen)] # make order success res = make_order(uid, token, cart_id, food_items) assert res.status_code == 200 order_id = res.json()["id"] assert len(order_id) > 0 # verify query return the same order orders = json_get("/orders", token).json() assert len(orders) == 1 q_order = orders[0] assert q_order["id"] == order_id assert q_order["items"] == food_items # verify order info correct _price = lambda i: food_store[i]["price"] assert q_order["total"] == sum( _price(item["food_id"]) * item["count"] for item in q_order["items"]) # test only one order can be made res2 = make_order(uid, token, cart_id, food_items) assert res2.status_code == 403 assert res2.json() == {"code": "ORDER_OUT_OF_LIMIT", "message": u"每个用户只能下一单"}
def test_make_order_cart_not_owned_error(): uid, token1 = next(token_gen) cart_id1 = new_cart(token1) _, token2 = next(token_gen) res = make_order(uid, token2, cart_id1, [next(food_gen)]) assert res.status_code == 401 assert res.json() == {"code": "NOT_AUTHORIZED_TO_ACCESS_CART", "message": u"无权限访问指定的篮子"}
def test_pay_order_not_owned_error(): uid, token1 = next(token_gen) cart_id1 = new_cart(token1) _, token2 = next(token_gen) res = make_order(uid, token1, cart_id1, [next(item_gen)]) assert res.status_code == 200 order_id1 = res.json()["order_id"] res = pay_order(uid, token2, order_id1) assert res.status_code == 401 assert res.json() == {"code": "NOT_AUTHORIZED_TO_ACCESS_ORDER", "message": u"无权限访问指定的订单"}
def test_pay_order_balance_insufficient(): uid, token = next(balance_insufficient_token_gen) cart_id = new_cart(token) item_items = [next(item_gen)] # make order success res = make_order(uid, token, cart_id, item_items) assert res.status_code == 200 order_id = res.json()["order_id"] assert len(order_id) > 0 res = pay_order(uid, token, order_id) assert res.status_code == 403 assert res.json() == {"code": "BALANCE_INSUFFICIENT", "message": u"余额不足"}
def test_pay_order(): uid, token = next(balance_ok_token_gen) cart_id = new_cart(token) item_items = [next(item_gen)] # make order success res = make_order(uid, token, cart_id, item_items) assert res.status_code == 200 order_id = res.json()["order_id"] assert len(order_id) > 0 res = pay_order(uid, token, order_id) assert res.status_code == 200 # test only one payment can be made res = pay_order(uid, token, order_id) assert res.status_code == 403 assert res.json() == {"code": "ORDER_PAID", "message": u"订单已支付"}