46 lines
1.5 KiB
JSON
46 lines
1.5 KiB
JSON
{
|
|
"feature_id": "F-081",
|
|
"verdict": "APPROVED",
|
|
"trace": [
|
|
{
|
|
"acceptance": "Inventory PRECIO NETO accepts ',' and '.'",
|
|
"result": "PASS",
|
|
"evidence": "eurToCents replaces ',' with '.' before parseFloat."
|
|
},
|
|
{
|
|
"acceptance": "Operator can freely type, delete digits and decimal separator",
|
|
"result": "PASS",
|
|
"evidence": "type=text inputMode=decimal; value bound to priceValue state."
|
|
},
|
|
{
|
|
"acceptance": "Editing triggers PATCH to the variant endpoint",
|
|
"result": "PASS",
|
|
"evidence": "savePrice -> pricingApi.setVariantPrice(variantId, cents, vatRate)."
|
|
},
|
|
{
|
|
"acceptance": "On success value is persisted and shown back; on error inline error and old value restored",
|
|
"result": "PASS",
|
|
"evidence": "setRows updates price + priceValue from API response on success; saveMsg = 'Error' on failure; cancelEditPrice restores from r.price."
|
|
},
|
|
{
|
|
"acceptance": "Format identical to Prices tab Neto (sin IVA)",
|
|
"result": "PASS",
|
|
"evidence": "Same centsToEur/eurToCents behaviour; same input attributes."
|
|
},
|
|
{
|
|
"acceptance": "verify.sh is green",
|
|
"result": "PASS",
|
|
"evidence": "tsc --noEmit exit 0; eslint exit 0."
|
|
}
|
|
],
|
|
"regression_checks": [
|
|
"IVA dropdown still editable",
|
|
"Stock edit still works",
|
|
"Cancel button still restores"
|
|
],
|
|
"verdict_reason": "Format-only fix. All acceptance criteria trace to PASS.",
|
|
"reviewer": "qa",
|
|
"reviewed_at": "2026-08-20T04:04:00Z",
|
|
"agent": "qa"
|
|
}
|