feat: Update DEVELOPMENT_PLAN with deliverables and acceptance criteria; add integration tests for update flow

This commit is contained in:
claudi 2026-01-29 09:01:58 +01:00
parent 50311139bf
commit eb7ffe9969
2 changed files with 228 additions and 25 deletions

View file

@ -784,20 +784,20 @@ AUTO_UPDATE_NOTIFY=true
- Security: HTTPS-only, checksum verification
**Deliverables:**
- [ ] `src/webdrop_bridge/core/updater.py` - Update manager
- [ ] Menu item for manual update check
- [ ] Update notification dialog
- [ ] Unit tests for update checking and downloading
- [ ] Integration with Forgejo API
- [x] `src/webdrop_bridge/core/updater.py` - Update manager (COMPLETE)
- [x] Unit tests for update checking and downloading (20 tests passing)
- [x] Integration with Forgejo API (async queries working)
- [ ] Menu item for manual update check (TODO: Priority 2)
- [ ] Update notification dialog (TODO: Priority 2)
**Acceptance Criteria:**
- Can query Forgejo releases API
- Detects new versions correctly
- Downloads and verifies checksums
- Prompts user for restart
- Manual check works from menu
- Gracefully handles network errors
- Version comparison uses semantic versioning
- [x] Can query Forgejo releases API
- [x] Detects new versions correctly
- [x] Downloads and verifies checksums
- [x] Gracefully handles network errors
- [x] Version comparison uses semantic versioning
- [ ] Manual check works from menu (TODO: Priority 2)
- [ ] Prompts user for restart (TODO: Priority 2)
---
@ -872,21 +872,21 @@ Help Menu
- Cancel-safe download handling
**Deliverables:**
- [ ] `src/webdrop_bridge/ui/update_manager_ui.py` - UI dialogs
- [ ] Update menu item integration
- [ ] Status bar update indicator
- [ ] All dialogs with error handling
- [ ] Tests for UI interactions
- [x] `src/webdrop_bridge/ui/update_manager_ui.py` - UI dialogs (skeleton complete)
- [x] Status bar update indicator (COMPLETE - emoji + status text)
- [ ] Update menu item integration (TODO: Priority 2)
- [ ] All dialogs with signal hookups (TODO: Priority 2)
- [ ] Tests for UI interactions (TODO: Priority 2)
**Acceptance Criteria:**
- Menu item works and triggers check
- All dialogs display correctly
- Progress shown during download
- Restart options work
- Network errors handled gracefully
- Cancel operations work safely
- Status bar updates in real-time
- No blocking operations on main thread
- [x] Status bar updates in real-time (DONE)
- [x] No blocking operations on main thread (async/await)
- [x] Network errors handled gracefully (try/except with logging)
- [ ] Menu item works and triggers check (TODO: Priority 2)
- [ ] All dialogs display correctly (TODO: Priority 2)
- [ ] Progress shown during download (TODO: Priority 2)
- [ ] Restart options work (TODO: Priority 2)
- [ ] Cancel operations work safely (TODO: Priority 2)
---