| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- from __future__ import annotations
- from fastapi.testclient import TestClient
- def test_company_crud_flow(client: TestClient) -> None:
- create_resp = client.post(
- "/api/master-data/companies/",
- json={"name": "Supplier A", "remarks": "default vendor"},
- )
- assert create_resp.status_code == 201
- company = create_resp.json()
- assert company["name"] == "Supplier A"
- list_resp = client.get("/api/master-data/companies/")
- assert list_resp.status_code == 200
- assert any(item["id"] == company["id"] for item in list_resp.json())
- update_resp = client.patch(
- f"/api/master-data/companies/{company['id']}",
- json={"remarks": "updated note"},
- )
- assert update_resp.status_code == 200
- assert update_resp.json()["remarks"] == "updated note"
- dup_resp = client.post(
- "/api/master-data/companies/",
- json={"name": "Supplier A"},
- )
- assert dup_resp.status_code == 409
- delete_resp = client.delete(f"/api/master-data/companies/{company['id']}")
- assert delete_resp.status_code == 204
- missing_resp = client.patch(
- f"/api/master-data/companies/{company['id']}",
- json={"remarks": "should fail"},
- )
- assert missing_resp.status_code == 404
- def test_cargo_crud_flow(client: TestClient) -> None:
- create_resp = client.post(
- "/api/master-data/cargos/",
- json={"name": "Liquid Ammonia", "remarks": "dangerous goods"},
- )
- assert create_resp.status_code == 201
- cargo = create_resp.json()
- list_resp = client.get("/api/master-data/cargos/?q=Liquid")
- assert list_resp.status_code == 200
- assert list_resp.json()[0]["id"] == cargo["id"]
- update_resp = client.patch(
- f"/api/master-data/cargos/{cargo['id']}",
- json={"name": "Liquid Ammonia Revised", "remarks": None},
- )
- assert update_resp.status_code == 200
- assert update_resp.json()["name"] == "Liquid Ammonia Revised"
- assert update_resp.json()["remarks"] is None
- delete_resp = client.delete(f"/api/master-data/cargos/{cargo['id']}")
- assert delete_resp.status_code == 204
|