34 lines
2.2 KiB
JSON
34 lines
2.2 KiB
JSON
{
|
|
"feature_id": "F-187",
|
|
"agent": "qa",
|
|
"stage": "qa_gate",
|
|
"verdict": "APPROVED",
|
|
"acceptance": [
|
|
{ "id": 1, "criterion": "Admin TPV lists cashier lifecycle status", "ok": true, "evidence": "GET /pos/users real-DB assertion and admin status badges" },
|
|
{ "id": 2, "criterion": "Admin creates active cashier", "ok": true, "evidence": "Fixed-role create form and server default/response active" },
|
|
{ "id": 3, "criterion": "Deactivate and reactivate non-deleted cashier", "ok": true, "evidence": "PATCH lifecycle integration assertions" },
|
|
{ "id": 4, "criterion": "Deactivate revokes and blocks current/future auth", "ok": true, "evidence": "DB revoked_at, old-cookie 401 and login 401 assertions" },
|
|
{ "id": 5, "criterion": "Confirmed deletion is irreversible", "ok": true, "evidence": "Explicit UI warning, DELETE 204 and reactivation 409" },
|
|
{ "id": 6, "criterion": "Open cash session blocks removal", "ok": true, "evidence": "PATCH and DELETE both return POS_CASHIER_HAS_OPEN_SESSION" },
|
|
{ "id": 7, "criterion": "Historical attribution survives deletion", "ok": true, "evidence": "Post-delete join keeps cashier ID through pos_cash_sessions" },
|
|
{ "id": 8, "criterion": "Admin-only and cashier-role-only", "ok": true, "evidence": "Cashier list 403 and manager target 404" },
|
|
{ "id": 9, "criterion": "Migration reversible with active default", "ok": true, "evidence": "Fresh/no-op/down/re-up 4/4 and inserted accounts default active" },
|
|
{ "id": 10, "criterion": "Regression and builds green", "ok": true, "evidence": "354/354 real-DB tests, typechecks, backend/admin builds, verify.sh" }
|
|
],
|
|
"regression": {
|
|
"unit_without_db": "268 passed",
|
|
"pos_unit": "12 passed",
|
|
"f187_real_postgresql": "4 passed",
|
|
"real_postgresql_sequential": "354 passed across 79 files",
|
|
"migration_cycle": "4 passed",
|
|
"backend_build": "passed",
|
|
"admin_build": "passed",
|
|
"verify": "passed"
|
|
},
|
|
"issues": [],
|
|
"notes": [
|
|
"Production admin UI was compile/type/lint validated; no browser automation harness exists for native confirm dialogs.",
|
|
"Backend global lint baseline remains red outside changed files; targeted F-187 lint is green."
|
|
]
|
|
}
|