Skip to content

Verification: Frontend Implementation for Item Image Upload

This matrix maps every requirement to the verification method that confirms it is correctly implemented. Requirements are linked to requirements.md for full text. Status reflects the state at the time of writing; update to Pass or Fail as verification is completed.

RequirementDescription (brief)Verification MethodPhaseStatus
REQ-FE-001createImageUploadUrl method on api-proxy clientUnit test (mocked fetch)3.1Pending
REQ-FE-002Type exports from api-proxy packageBuild (typecheck)3.1Pending
REQ-FE-003api-proxy package published to GitHub PackagesManual (verify on GitHub Packages)3.1Pending
REQ-FE-010/image-upload BFF proxy routeUnit test (mocked api-proxy)3.5Pending
REQ-FE-011/check-url reachability endpointUnit test (mocked fetch)3.5Pending
REQ-FE-012SSRF protection on /check-urlUnit test (private IPs, localhost, managed host)3.5Pending
REQ-FE-013/fetch-url proxy with stream passthroughUnit test (mocked fetch, stream)3.5Pending
REQ-FE-014Rate limiting on BFF routesUnit test (counter logic)3.5Pending
REQ-FE-015JWT required on all BFF routesUnit test (missing/invalid token)3.5Pending
REQ-FE-016/cdn-cookies signing via Secrets ManagerUnit test (mocked Secrets Manager)3.5Pending
REQ-FE-017Correct cookie attributes on CDN cookie responseUnit test (Set-Cookie header inspection)3.5Pending
REQ-FE-018Cookie TTL driven by config parameterUnit test (TTL parameter)3.5Pending
REQ-FE-019Tenant resolved from session, not client payloadUnit test (not from client)3.5Pending
REQ-FE-020File bytes never pass through BFFCode review3.5Pending
REQ-FE-02110-second timeout on outbound BFF requestsUnit test (timeout config)3.5Pending
REQ-FE-022BFF routes follow FD-02 structureCode review (files in src/server/)3.5Pending
REQ-FE-023server-only import guard on BFF modulesBuild (client import would fail)3.5Pending
REQ-FE-024Content-Type validation on BFF fetch routesUnit test (non-image Content-Type → 422)3.5Pending
REQ-FE-025Secret cache TTL and evictionUnit test (expired cache re-fetches)3.5Pending
REQ-FE-026Max-Age on CDN cookiesUnit test (Set-Cookie header inspection)3.5Pending
REQ-FE-027GET fallback body discardedCode review + Unit test3.5Pending
REQ-FE-028BFF uses RequestContext for header injectionUnit test (context forwarded to proxy)3.5Pending
REQ-FE-030Lifecycle types exported from design systemBuild (import in test)3.2Pending
REQ-FE-031useDraft hook exposes full API surfaceUnit test (all methods)3.2Pending
REQ-FE-032Draft resets when initialValue changesUnit test3.2Pending
REQ-FE-033contextErrors merges with field errorsUnit test3.2Pending
REQ-FE-040Indeterminate progress indicator componentUnit test + Storybook3.3Pending
REQ-FE-041UploadError state renderingUnit test + Storybook3.3Pending
REQ-FE-042EditLifecycleCallbacks type shapeBuild (type check)3.3Pending
REQ-FE-043ImageCellEditor factory hook integrationUnit test3.3Pending
REQ-FE-044ImageFormField accepts EditableComponentPropsUnit test + Storybook3.3Pending
REQ-FE-045ItemGridLookups expanded with image fieldsBuild (type check)3.3Pending
REQ-FE-046No TanStack Query import in design systemBuild (would fail if imported) + Code review3.3Pending
REQ-FE-047Storybook default MSW handlers cover all storiesStorybook (all stories render)3.3Pending
REQ-FE-060QueryClientProvider wraps the SPA treeBuild + Unit test (provider wrapping)3.6Pending
REQ-FE-061TanStack provider hooks for image uploadUnit test (mocked fetch)3.6Pending
REQ-FE-062useCdnCookies refresh interval configurationUnit test (refetchInterval config)3.6Pending
REQ-FE-063src/api/ layer present in SPACode review (FD-02)3.6Pending
REQ-FE-064Hook directories follow FD-02 conventionCode review (FD-02)3.6Pending
REQ-FE-065Upload orchestration runs three-step flowUnit test (3-step flow)3.6Pending
REQ-FE-066Reachability check falls back to BFF on CORS failureUnit test (CORS failure → BFF)3.6Pending
REQ-FE-067CDN cookie lifecycle (refresh, tenant switch, 403 recovery)Unit test3.6Pending
REQ-FE-068Grid thumbnails display from CDNIntegration test + Manual3.6Pending
REQ-FE-069Hover preview over grid thumbnailIntegration test + Manual3.6Pending
REQ-FE-070Cell editor opens in modalIntegration test + Manual3.6Pending
REQ-FE-071Add Item form includes image fieldIntegration test + Manual3.6Pending
REQ-FE-072Edit Item flow supports image replacementIntegration test + Manual3.6Pending
REQ-FE-073Single upload enforced per cell editor sessionUnit test3.6Pending
REQ-FE-074Output image format is JPEGUnit test3.6Pending
REQ-FE-075Copyright watermark text displayedStorybook + Manual3.6Pending
REQ-FE-076Upload uses presigned POST (not PUT)Unit test (form fields, not PUT)3.6Pending
REQ-FE-077Indeterminate progress shown during uploadManual (visual)3.6Pending
REQ-FE-079crossOrigin on canvas image editingUnit test + Storybook3.3Pending
REQ-FE-078CDN 403 recovery hookUnit test (refresh triggered, retry, max retries)3.6Pending
REQ-FE-080CDN host derived from env varsUnit test (naming convention)3.6Pending
REQ-FE-081Cookie TTL shared constantUnit test (refetchInterval matches TTL/2)3.6Pending
REQ-FE-NF-001No layout reflow on image loadManual (visual check)3.6Pending
REQ-FE-NF-002Failed uploads are retryableUnit test + Manual3.6Pending
REQ-FE-NF-003Graceful degradation for HEIC on unsupported browsersUnit test (unsupported browser)3.3Pending
REQ-FE-NF-004CDN cookie mocks present in test setupCode review (mock setup)3.5Pending
REQ-FE-NF-005All deliverables follow FD-02 directory structureCode reviewAll phasesPending

Copyright: (c) Arda Systems 2025-2026, All rights reserved