28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
# Quickstart: Validating Admin List Views
|
|||
|
|
|
||
|
|
## Scenario 1 — SLA runs across tickets
|
||
|
|
|
||
|
|
1. With SLA runs in `running`, `paused`, and `breached` states across three tickets, call
|
||
|
|
`GET /admin/sla-runs` as any authenticated agent. **Expected**: `200`, all three, each with
|
||
|
|
`ticketId`/`ticketCode` populated.
|
||
|
|
2. Repeat with `?status=breached`. **Expected**: only the breached run.
|
||
|
|
3. Repeat with `?status=not-a-real-status`. **Expected**: `400`.
|
||
|
|
|
||
|
|
## Scenario 2 — recent escalation events across tickets
|
||
|
|
|
||
|
|
1. With one automatic and one manual escalation event recorded on two different tickets, call
|
||
|
|
`GET /admin/escalation-events`. **Expected**: `200`, both, most-recent-first, the automatic
|
||
|
|
one showing its `ruleId` and the manual one showing `ruleId: null` and its `triggeredBy`.
|
||
|
|
|
||
|
|
## Scenario 3 — product catalog with integration status
|
||
|
|
|
||
|
|
1. With one product that has an active integration and one with no integration at all, call
|
||
|
|
`GET /admin/products` as an admin. **Expected**: `200`, the first shows
|
||
|
|
`integrationStatus: "active"`, the second shows `integrationStatus: null`.
|
||
|
|
2. Repeat as a non-admin agent. **Expected**: `403`.
|
||
|
|
|
||
|
|
## What "done" looks like
|
||
|
|
|
||
|
|
All three scenarios pass against a real Postgres/Redis, and none of the three endpoints leaks
|
||
|
|
`ProductIntegration.credentialRef` or any other integration-internal field.
|