Files
tfm_ainventory/.planning/6-TESTING-PROGRESS.md
Daniel Bedeleanu cbdb2f04f6 fix(auth): use actual hostname instead of localhost in frontend API client
- Modified frontend/lib/api.ts to use window.location.hostname as fallback
- Ensures browser on external IP reaches correct backend HTTPS port
- Allows admin/admin login to work from any access point
- Auth is fully functional and working
2026-04-23 10:39:18 +03:00

176 lines
5.6 KiB
Markdown

# Phase 6 Testing Progress Report
**Status:** In Progress
**Date:** 2026-04-23
**Session:** Automated + Manual Testing
---
## ✅ COMPLETED: Automated Tests (Phase 3 & 4)
### Deployment Modes (Phase 3)
-**Start Command** - Services launched in background successfully
-**Status Command** - All 3 services running with correct PIDs
-**Port Configuration** - HTTP: 8916/8917, HTTPS: 8918/8919 ✓
-**Log Files** - Created at ./logs/backend.log, frontend.log, caddy.log ✓
-**Process Management** - PID file created (.servers.pid) ✓
### Network/SSL Access (Phase 4)
-**Frontend HTTP** - http://localhost:8917 ✓
-**Frontend HTTPS** - https://localhost:8919 ✓ (self-signed)
-**Backend HTTP** - http://localhost:8916 ✓
-**Backend HTTPS** - https://localhost:8918 ✓ (self-signed)
-**API Docs** - http://localhost:8916/docs ✓
-**Caddy Proxy** - Reverse proxy working with headers ✓
---
## ⏳ NEXT: Manual UI Testing (Phase 1, 2, 5)
**Servers Running:** ✅ All services active
**Time Estimate:** ~20 minutes
### Phase 1: Backend Functionality (CRITICAL)
**Access:** Open browser to `http://localhost:8917`
#### Test 1.1: Create & Delete Item
1. Click "+" button to add new item
2. Enter: Name = "Test Item", Category = "Electronics", Quantity = 5
3. Take note of the item ID
4. Locate the item in the list
5. Click delete button (trash icon)
6. **Expected:** Item disappears from list, database removes it
7. **Result:** [ ] PASS [ ] FAIL - Notes: ________________
#### Test 1.2: Search Items (Ctrl+K)
1. Add at least 2 items with different names
2. Press `Ctrl+K` to open search modal
3. Type first few letters of an item name
4. Click on search result
5. **Expected:** Item details load correctly, no console errors
6. **Result:** [ ] PASS [ ] FAIL - Notes: ________________
#### Test 1.3: Quantity Adjustment
1. Select any item from inventory list
2. Look for quantity adjustment controls (+/- buttons)
3. Click "+" to increase quantity
4. Click "-" to decrease quantity
5. Verify numbers update correctly
6. **Expected:** Quantity changes immediately, saves to database
7. **Result:** [ ] PASS [ ] FAIL - Notes: ________________
#### Test 1.4: Export Snapshot (Excel)
1. Go to Admin panel (bottom of sidebar)
2. Click "Export Snapshot" button
3. **Expected:** Excel file downloads (.xlsx)
4. **Action:** Open downloaded file
5. **Expected:** Data visible with columns: ID, Name, Category, Quantity, Location, etc.
6. **Result:** [ ] PASS [ ] FAIL - Notes: ________________
#### Test 1.5: Export Audit Trail (Excel)
1. Go to Admin panel
2. Click "Export Audit Trail" button
3. **Expected:** Excel file downloads (.xlsx)
4. **Action:** Open downloaded file
5. **Expected:** Audit log visible with columns: Timestamp, User, Action, Item, Details
6. **Result:** [ ] PASS [ ] FAIL - Notes: ________________
### Phase 2: Frontend UI (HIGH PRIORITY)
#### Test 2.1: Toast Notifications
1. Perform a successful action (add item, edit, save)
2. Look for green toast notification in top-right corner
3. **Expected:** Toast appears for 3 seconds, auto-dismisses
4. **Result:** [ ] PASS [ ] FAIL - Notes: ________________
#### Test 2.2: Error Handling
1. Try to add item without a name
2. **Expected:** Error toast appears (red), explains the issue
3. **Result:** [ ] PASS [ ] FAIL - Notes: ________________
#### Test 2.3: All CRUD Operations
1. **Create:** Add new item ✓
2. **Read:** Search or view item details ✓
3. **Update:** Edit item name, quantity, or category ✓
4. **Delete:** Remove item from inventory ✓
5. **Expected:** No errors in browser console (F12)
6. **Result:** [ ] PASS [ ] FAIL - Notes: ________________
### Phase 5: Data Persistence (MEDIUM)
#### Test 5.1: Data Saved to Correct Location
1. Add 2-3 items through the UI
2. In terminal: `ls -la data/`
3. **Expected:** See `inventory.db` file present
4. **Result:** [ ] PASS [ ] FAIL - Notes: ________________
#### Test 5.2: Data Persists After Restart
1. Note items currently in inventory
2. Stop servers: `python3 start_servers.py stop`
3. Start servers: `python3 start_servers.py start`
4. Wait 5 seconds for services to initialize
5. Refresh browser: `http://localhost:8917`
6. **Expected:** Same items appear in inventory
7. **Result:** [ ] PASS [ ] FAIL - Notes: ________________
---
## Summary of Automated Test Results
| Category | Tests | Status |
|----------|-------|--------|
| Deployment Modes | 5 | ✅ ALL PASS |
| Network/SSL | 6 | ✅ ALL PASS |
| Backend API | 1 | ✅ RESPONSIVE |
---
## Instructions for Next Steps
1. **Open browser:** http://localhost:8917
2. **Run tests:** Follow checklist above in order
3. **Note failures:** Record [ ] PASS or [ ] FAIL for each test
4. **Check console:** F12 → Console tab, watch for errors
5. **When done:** Report results below
---
## Manual Test Results (to be filled by user)
### Phase 1 Results
- Test 1.1 (Delete): [ ] PASS [ ] FAIL
- Test 1.2 (Search): [ ] PASS [ ] FAIL
- Test 1.3 (Qty Adj): [ ] PASS [ ] FAIL
- Test 1.4 (Export SS): [ ] PASS [ ] FAIL
- Test 1.5 (Audit): [ ] PASS [ ] FAIL
**Phase 1 Summary:** ________________
### Phase 2 Results
- Test 2.1 (Toast): [ ] PASS [ ] FAIL
- Test 2.2 (Errors): [ ] PASS [ ] FAIL
- Test 2.3 (CRUD): [ ] PASS [ ] FAIL
**Phase 2 Summary:** ________________
### Phase 5 Results
- Test 5.1 (Data Location): [ ] PASS [ ] FAIL
- Test 5.2 (Persistence): [ ] PASS [ ] FAIL
**Phase 5 Summary:** ________________
---
## Overall Phase 6 Status
**Automated Tests:** ✅ 12/12 PASS
**Manual Tests:** ⏳ Awaiting results
**Ready for Production:** Pending manual test results
---
*Generated: 2026-04-23*
*Automated by Claude*
*Manual testing checklist ready*