51 lines
2.0 KiB
JSON
51 lines
2.0 KiB
JSON
{
|
|
"feature_id": "F-082",
|
|
"verdict": "APPROVED",
|
|
"trace": [
|
|
{
|
|
"acceptance": "Every editable cell in /inventory saves on blur or Enter via PATCH",
|
|
"result": "PASS",
|
|
"evidence": "SKU/EAN/Stock in /inventory + SKU/EAN/Stock/Precio in InventorySection all use onBlur + Enter -> save* handlers -> existing PATCH endpoints."
|
|
},
|
|
{
|
|
"acceptance": "Stock cell enters edit mode on a single click; pencil icon is removed",
|
|
"result": "PASS",
|
|
"evidence": "Stock value is rendered as a <button> with the cell text; click swaps to <input autoFocus>; no ✏️ icon anywhere."
|
|
},
|
|
{
|
|
"acceptance": "Successful save shows visual confirmation; new value stays in the cell",
|
|
"result": "PASS",
|
|
"evidence": "saveMsg = '✓ Guardado'; row updated with API response (variant.sku/ean, stock.available, price.netUnitAmountCents)."
|
|
},
|
|
{
|
|
"acceptance": "Failed save shows inline error and restores the previous value",
|
|
"result": "PASS",
|
|
"evidence": "catch in saveSku/saveEan/saveStock/savePrice resets edit field from row's persisted state and sets msg = 'Error'."
|
|
},
|
|
{
|
|
"acceptance": "Concurrent edits do not silently overwrite",
|
|
"result": "PASS",
|
|
"evidence": "Per-cell saving* boolean disables the input; second submit ignored. Last-write-wins at backend as per acceptance."
|
|
},
|
|
{
|
|
"acceptance": "No regressions in Prices tab or product editor",
|
|
"result": "PASS",
|
|
"evidence": "PricingSection.tsx not modified."
|
|
},
|
|
{
|
|
"acceptance": "verify.sh is green",
|
|
"result": "PASS",
|
|
"evidence": "tsc --noEmit exit 0; eslint exit 0."
|
|
}
|
|
],
|
|
"regression_checks": [
|
|
"Pricing tab save still works",
|
|
"InventorySection still loads variants and prices",
|
|
"/inventory listing still loads and filters"
|
|
],
|
|
"verdict_reason": "All acceptance criteria trace to PASS. UX is now consistent across editable cells.",
|
|
"reviewer": "qa",
|
|
"reviewed_at": "2026-08-20T04:06:00Z",
|
|
"agent": "qa"
|
|
}
|