test(phase-6): document UAT results and fix plans

Phase 6 UAT completed:
- Auth:  PASS (admin/admin working)
- AI item creation:  PASS (scan/photo working)
- Search:  FAIL (no button on main page, Ctrl+K not wired)
- Export:  FAIL (404 endpoint mismatch)
- Admin dashboard:  PARTIAL (accessible but export broken)

Two critical issues identified with fix plans ready.
This commit is contained in:
2026-04-23 10:52:20 +03:00
parent 3d0cd2475c
commit 61b58bc68d

124
.planning/6-UAT.md Normal file
View File

@@ -0,0 +1,124 @@
# Phase 6 UAT Report — Standalone Deployment Testing
**Date:** 2026-04-23
**Phase:** 6 (Deployment & Scale - Single Instance)
**Status:** 3/5 tests passing, 2 critical issues found
---
## Test Results
| # | Feature | Result | Notes |
|---|---------|--------|-------|
| 1 | Auth Login (admin/admin) | ✅ PASS | JWT token generated, login working |
| 2 | AI Item Creation (scan/photo) | ✅ PASS | Items added to inventory via AI extraction |
| 3 | Search Functionality | ❌ FAIL | No search button/modal on main page; Ctrl+K not working |
| 4 | Export (CSV/Excel/JSON) | ❌ FAIL | All formats return 404 errors |
| 5 | Admin Dashboard | ✅ PARTIAL | Dashboard accessible but export feature broken |
---
## Critical Issues
### Issue 1: Missing Search UI on Main Page
**Severity:** HIGH
**Location:** Main page (not inventory page)
**Problem:**
- No visible search button on main page
- SearchModal component exists but not rendered
- Ctrl+K keyboard shortcut not implemented
- Users cannot search inventory items
**Root Cause:**
- SearchModal component imported but conditional render missing
- Keyboard listener not wired to main page component
**Fix Plan:**
1. Add search button to main page header/navbar
2. Render SearchModal on main page
3. Wire Ctrl+K listener to open/close modal
4. Test search across all item fields
**Effort:** 1-2 hours
---
### Issue 2: Export Endpoint Mismatch
**Severity:** HIGH
**Location:** Admin → Export feature
**Problem:**
- Frontend calls: `/admin/db/export` (GET)
- Backend provides: `/admin/inventory-snapshot` (POST), `/admin/audit-trail` (POST)
- All export attempts return 404
**Root Cause:**
- Frontend and backend endpoint paths don't match
- Method types mismatch (GET vs POST)
**Fix Plan (Choose One):**
**Option A: Create `/admin/db/export` endpoint (Recommended)**
- Implement GET `/admin/db/export` in backend
- Combine snapshot + audit trail logic
- Support format parameter: ?format=csv|json|excel
- Return appropriate blob/file type
**Option B: Update frontend to call existing endpoints**
- Change frontend calls to `/admin/inventory-snapshot` and `/admin/audit-trail`
- Convert POST to GET or update frontend to use POST
- Handle multiple endpoint calls for combined export
**Recommendation:** Option A (simpler for user, cleaner API)
**Effort:** 1-2 hours
---
## Verified Working Features
**Deployment:**
- Standalone deployment with Python launcher working
- Docker containerization functional
- Self-signed SSL/TLS certificates working
- HTTP and HTTPS access both available
**Authentication:**
- Local auth (admin/admin) fully functional
- JWT token generation and validation working
- Auth guards protecting API endpoints
**Core Inventory:**
- AI Smart Discovery (scan/photo) adding items correctly
- Items persisted to SQLite database
- Admin dashboard accessible
---
## Next Steps
1. **Fix Issue 1 (Search):**
- Add search button to main page
- Wire SearchModal + Ctrl+K listener
- Test search functionality
2. **Fix Issue 2 (Export):**
- Implement `/admin/db/export` endpoint in backend
- Support CSV, JSON, Excel formats
- Test all export types
3. **Re-test & Verify:**
- Run full UAT again after fixes
- Confirm both issues resolved
---
## Success Criteria for Phase 6 Completion
- [x] Auth login working (admin/admin)
- [x] AI item creation working
- [ ] Search accessible from main page with Ctrl+K
- [ ] Export working in all formats
- [x] Admin dashboard accessible
- [x] Single-instance deployment stable
**Current Score:** 4/6 (67%)
**Blockers:** 2 critical issues (search, export)