UX: implement visual product roadmap
This commit is contained in:
@@ -23,6 +23,17 @@ def test_audit_requires_operations_manager(employee_client):
|
||||
assert response.status_code == 403
|
||||
|
||||
|
||||
def test_audit_page_is_bounded_and_exposes_filter_metadata(ops_client):
|
||||
response = ops_client.get("/api/v1/audit", params={"page": 1, "page_size": 25})
|
||||
assert response.status_code == 200
|
||||
body = response.json()
|
||||
assert len(body["items"]) <= 25
|
||||
assert body["page"] == 1
|
||||
assert body["page_size"] == 25
|
||||
assert body["total"] >= len(body["items"])
|
||||
assert body["total_pages"] >= 1
|
||||
|
||||
|
||||
def _activate_booking(vehicle_ref: str, start_odometer_km: int) -> str:
|
||||
db = SessionLocal()
|
||||
try:
|
||||
|
||||
@@ -53,6 +53,18 @@ def test_list_issues_requires_operations_manager(employee_client):
|
||||
assert response.status_code == 403
|
||||
|
||||
|
||||
def test_issue_page_preserves_severity_filter_and_limits_results(ops_client):
|
||||
response = ops_client.get(
|
||||
"/api/v1/data-quality/issues",
|
||||
params={"severity": "high", "page": 1, "page_size": 25},
|
||||
)
|
||||
assert response.status_code == 200
|
||||
body = response.json()
|
||||
assert len(body["items"]) <= 25
|
||||
assert all(issue["severity"] == "high" for issue in body["items"])
|
||||
assert body["total"] >= len(body["items"])
|
||||
|
||||
|
||||
def test_get_issue_requires_operations_manager(employee_client):
|
||||
response = employee_client.get("/api/v1/data-quality/issues/DQ-DEMO-DUPLICATE")
|
||||
assert response.status_code == 403
|
||||
|
||||
@@ -14,6 +14,18 @@ def test_attention_only_filters_flagged_vehicles(ops_client):
|
||||
assert all(v["attention"] for v in vehicles)
|
||||
|
||||
|
||||
def test_vehicle_page_preserves_filters_and_limits_rendered_records(ops_client):
|
||||
response = ops_client.get(
|
||||
"/api/v1/vehicles",
|
||||
params={"status": "maintenance", "page": 1, "page_size": 25},
|
||||
)
|
||||
assert response.status_code == 200
|
||||
body = response.json()
|
||||
assert len(body["items"]) <= 25
|
||||
assert all(v["operational_status"] == "maintenance" for v in body["items"])
|
||||
assert body["total"] >= len(body["items"])
|
||||
|
||||
|
||||
def test_vehicle_detail_includes_related_records(ops_client):
|
||||
response = ops_client.get("/api/v1/vehicles/MO-016")
|
||||
assert response.status_code == 200
|
||||
|
||||
Reference in New Issue
Block a user