import json import requests from tests.integration import QA_BASE_URL def test_update_closed_order_failure() -> None: """Test updating an order failure to a closed order.""" # create and order payload = { "encoder_id": 18, "is_meta_update": False, "order_status": "open", "priority": 1, "store_ids": [1, 2, 3], "upcs": [], "user_id": 101, } response = requests.post( f"{QA_BASE_URL}/orders", json=payload, headers={"Content-Type": "application/json"}, ) order_id = response.json().get("order_id") assert response.status_code == 200 # close order response = requests.patch( f"{QA_BASE_URL}/orders/{order_id}", json={"order_id": order_id, "order_status": "close"}, headers={"Content-Type": "application/json"}, ) assert response.status_code == 204 # update order response = requests.patch( f"{QA_BASE_URL}/orders/{order_id}", json={"order_id": order_id, "upcs": [1, 2, 3]}, headers={"Content-Type": "application/json"}, ) assert response.status_code == 404 assert json.loads(response.text) == { "code": "OrderNotFoundError", "message": f"Order {order_id} not found or already closed.", } def test_update_closed_order_success() -> None: """Test updating an order failure to a closed order.""" # create and order payload = { "encoder_id": 18, "is_meta_update": False, "order_status": "open", "priority": 1, "store_ids": [1, 2, 3], "upcs": [321234123412, 243523452435], "user_id": 101, } response = requests.post( f"{QA_BASE_URL}/orders", json=payload, headers={"Content-Type": "application/json"}, ) order_id = response.json().get("order_id") assert response.status_code == 200 # add more upcs response = requests.patch( f"{QA_BASE_URL}/orders/{order_id}", json={"order_id": order_id, "upcs": [321234123412, 243523452435, 546452643623]}, headers={"Content-Type": "application/json"}, ) assert response.status_code == 204 # todo: verify only 3 UPC's are in the order once there's a GET endpoint # close order response = requests.patch( f"{QA_BASE_URL}/orders/{order_id}", json={"order_id": order_id, "order_status": "close"}, headers={"Content-Type": "application/json"}, ) assert response.status_code == 204