Files
mercadodevida/work/artifacts/F-017/qa.json
2026-08-17 22:23:10 +02:00

49 lines
2.6 KiB
JSON

{
"feature_id": "F-017",
"agent": "qa",
"verdict": "APPROVED",
"summary": "QA approved. All F-017 acceptance criteria are traced to implementation and executable evidence. The PostgreSQL integration suite passed with TEST_DATABASE_URL, including server-side VAT calculation, ignored client price fields, and append-only price history.",
"evidence": [
"PricingService.calculate AC covered by project/src/modules/pricing/tests/pricing-service.test.ts and project/src/app/tests/pricing.itest.ts",
"Client-supplied price ignored AC covered by pricing.itest.ts payload with bogus netUnitAmountCents/totalCents/vatAmountCents",
"Price history AC covered by pricing.itest.ts querying pricing_price_history after create and update",
"cd project && TEST_DATABASE_URL='postgres://mdv:mdv_dev_only@localhost:5432/mdv_test' npm run test:integration -- pricing.itest migrations.itest passed: 9 integration files, 39 tests",
"cd project && npm run lint passed",
"cd project && npm run typecheck passed",
"cd project && npm run build passed",
"cd project && npm test passed: 21 passed, 9 skipped without TEST_DATABASE_URL",
"./scripts/verify.sh passed"
],
"acceptance": [
{
"criterion": "Given variant and quantity When PricingService.calculate Then total with VAT returned",
"status": "PASS",
"evidence": "Pricing unit/integration tests calculate 1000 cents x2 with 21% VAT as totalCents=2420"
},
{
"criterion": "Given client-supplied price in any request Then price ignored and recalculated",
"status": "PASS",
"evidence": "pricing.itest.ts sends bogus client price fields to /pricing/calculate and response uses persisted server price 500 cents with reduced VAT"
},
{
"criterion": "Price change writes history row, never silent update",
"status": "PASS",
"evidence": "pricing.itest.ts verifies pricing_price_history has one row for initial create and one row for update with previous/new values"
},
{
"criterion": "verify.sh green",
"status": "PASS",
"evidence": "./scripts/verify.sh PASS"
}
],
"commands": [
"cd project && npm run lint: PASS",
"cd project && npm run typecheck: PASS",
"cd project && npm run build: PASS",
"cd project && npm test: PASS; 21 passed, 9 skipped when TEST_DATABASE_URL absent",
"cd project && TEST_DATABASE_URL='postgres://mdv:mdv_dev_only@localhost:5432/mdv_test' npm run test:integration -- pricing.itest migrations.itest: PASS; 9 files, 39 tests",
"./scripts/verify.sh: PASS"
],
"timestamp": "2026-08-15T16:24:50Z"
}