From 84205563a70addb59633a11303453568fde63656 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Sun, 12 Apr 2026 21:41:24 +0200 Subject: [PATCH] test(29): complete UAT - 2 passed, 4 issues --- .../phases/29-image-presentation/29-UAT.md | 115 ++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 .planning/phases/29-image-presentation/29-UAT.md diff --git a/.planning/phases/29-image-presentation/29-UAT.md b/.planning/phases/29-image-presentation/29-UAT.md new file mode 100644 index 0000000..cd9c518 --- /dev/null +++ b/.planning/phases/29-image-presentation/29-UAT.md @@ -0,0 +1,115 @@ +--- +status: complete +phase: 29-image-presentation +source: [29-01-SUMMARY.md, 29-02-SUMMARY.md, 29-03-SUMMARY.md, 29-04-SUMMARY.md] +started: 2026-04-12T19:10:00Z +updated: 2026-04-12T19:20:00Z +--- + +## Current Test + +[testing complete] + +## Tests + +### 1. Images use fit-within instead of crop +expected: Browse any page with item/catalog cards. Images should fit inside the frame without cropping — full image visible, no parts cut off. +result: issue +reported: "Fit-within works on detail pages but collection view cards don't render images at all." +severity: major + +### 2. Dominant color background fill +expected: Where an image doesn't fill the entire frame, the empty space is filled with a color extracted from the image (not white or gray). +result: issue +reported: "Background is just plain gray. Even newly uploaded images don't get a dominant color — extraction not working or color not passed to frontend." +severity: major + +### 3. Crop editor on item detail +expected: Open an item that has an image. You should see an "Adjust framing" button. Clicking it opens a crop editor with zoom slider. +result: issue +reported: "'Adjust framing' text doesn't feel like an action. Should be an icon button, only visible in edit mode, positioned below the X icon. X icon should be a trash icon to symbolize removal." +severity: minor + +### 4. Crop editor on image upload +expected: Upload a new image to an item. After the upload completes, a crop editor should appear. +result: issue +reported: "Crop editor doesn't open when adding an image to an existing item. Can only be edited afterward." +severity: major + +### 5. Crop settings persist +expected: Adjust the crop on an item image, save it. Navigate away and come back — image displays with saved crop settings. +result: issue +reported: "Framing adjustment doesn't save. No error message, no console log — silently fails." +severity: blocker + +### 6. Consistency across surfaces +expected: All image surfaces use the same fit-within + dominant color treatment. +result: pass +reported: "Consistent across all surfaces where images render (detail pages). Collection cards don't render images (see test 1)." + +## Summary + +total: 6 +passed: 2 +issues: 4 +pending: 0 +skipped: 0 + +## Gaps + +- truth: "Collection view cards should render images using GearImage component" + status: failed + reason: "User reported: images not rendering on collection view cards, only on detail pages" + severity: major + test: 1 + artifacts: + - src/client/components/ItemCard.tsx + - src/client/components/GearImage.tsx + missing: + - GearImage integration in collection card view + +- truth: "Dominant color should be extracted on upload and used as background fill" + status: failed + reason: "User reported: background is plain gray even for newly uploaded images — extraction not working or color not reaching frontend" + severity: major + test: 2 + artifacts: + - src/server/services/image.service.ts + - src/client/components/GearImage.tsx + missing: + - Debug extractDominantColor pipeline + - Verify color is returned from upload API and stored in DB + - Verify frontend reads and applies dominantColor + +- truth: "Crop editor should be an icon button visible only in edit mode, with trash icon for image removal" + status: failed + reason: "User reported: 'Adjust framing' text doesn't feel like an action. Should be icon, edit-mode only. X should be trash icon." + severity: minor + test: 3 + artifacts: + - src/client/routes/items/$itemId.tsx + - src/client/components/ImageCropEditor.tsx + missing: + - Redesign crop trigger as icon button in edit mode + - Replace X with trash icon for image removal + +- truth: "Crop editor should open automatically when uploading a new image" + status: failed + reason: "User reported: crop editor doesn't open when adding image to existing item" + severity: major + test: 4 + artifacts: + - src/client/components/ImageUpload.tsx + missing: + - Trigger crop editor after upload in ImageUpload component + +- truth: "Crop settings (zoom, x, y) should persist to DB and render on subsequent views" + status: failed + reason: "User reported: framing adjustment doesn't save, no error, no log — silent failure" + severity: blocker + test: 5 + artifacts: + - src/client/routes/items/$itemId.tsx + - src/server/routes/items.ts + missing: + - Debug crop save pipeline (client mutation → API → DB)