20 lines
1.3 KiB
JSON
20 lines
1.3 KiB
JSON
{
|
|
"feature_id": "F-025",
|
|
"agent": "qa",
|
|
"verdict": "APPROVED",
|
|
"summary": "QA approved. All F-025 acceptance criteria are covered by executable tests and green checks.",
|
|
"evidence": [
|
|
"reviews-service.test.ts covers ineligible, duplicate, invalid rating, moderate-missing, success and listing",
|
|
"boundary.test.ts verifies reviews module owns no other module tables",
|
|
"cd project && npm run lint/typecheck/build/test passed",
|
|
"DB integration migrations suite passed: 14 files, 53 tests",
|
|
"./scripts/verify.sh passed"
|
|
],
|
|
"acceptance": [
|
|
{ "criterion": "Given user without delivered order item When review submitted Then HTTP 403", "status": "PASS", "evidence": "reviews-service.test.ts rejects with ReviewNotEligibleError when verifier returns false; route maps to 403" },
|
|
{ "criterion": "Given second review for same order item When submitted Then HTTP 409", "status": "PASS", "evidence": "DuplicateReviewError when existing review found; UNIQUE constraint at DB level also enforces" },
|
|
{ "criterion": "Only published reviews appear on product page", "status": "PASS", "evidence": "listPublishedByProduct filters status='published'" },
|
|
{ "criterion": "verify.sh green", "status": "PASS", "evidence": "./scripts/verify.sh PASS" }
|
|
],
|
|
"timestamp": "2026-08-15T18:51:12Z"
|
|
} |