docs: Update documentation for auto-update system and integration tests
This commit is contained in:
parent
f701247fab
commit
c1133ae8e9
9 changed files with 105 additions and 57 deletions
15
.github/copilot-instructions.md
vendored
15
.github/copilot-instructions.md
vendored
|
|
@ -19,6 +19,7 @@ WebDrop Bridge is a professional Qt-based desktop application that converts web-
|
|||
| `src/webdrop_bridge/config.py` | Configuration management |
|
||||
| `src/webdrop_bridge/core/validator.py` | Path validation and security |
|
||||
| `src/webdrop_bridge/core/drag_interceptor.py` | Drag-and-drop handling |
|
||||
| `src/webdrop_bridge/core/updater.py` | Update check and release management |
|
||||
| `src/webdrop_bridge/ui/main_window.py` | Main Qt window |
|
||||
| `tests/` | Pytest-based test suite |
|
||||
| `pyproject.toml` | Modern Python packaging |
|
||||
|
|
@ -36,11 +37,11 @@ WebDrop Bridge is a professional Qt-based desktop application that converts web-
|
|||
```python
|
||||
def validate_path(path: Path, allowed_roots: List[Path]) -> bool:
|
||||
"""Validate path against allowed roots.
|
||||
|
||||
|
||||
Args:
|
||||
path: File path to validate
|
||||
allowed_roots: List of allowed root directories
|
||||
|
||||
|
||||
Returns:
|
||||
True if path is valid, False otherwise
|
||||
"""
|
||||
|
|
@ -102,6 +103,12 @@ bash build/scripts/build_macos.sh # macOS
|
|||
- `LocalContentCanAccessFileUrls`: True (required for drag)
|
||||
- `LocalContentCanAccessRemoteUrls`: False (prevent phishing)
|
||||
|
||||
### Update Flow
|
||||
- UpdateManager checks for new releases via Forgejo API.
|
||||
- Caching is used to avoid redundant network calls.
|
||||
- Only newer versions trigger update signals.
|
||||
- Release notes and assets are parsed and preserved.
|
||||
|
||||
### Cross-Platform
|
||||
- Use PySide6 APIs that work on both Windows and macOS
|
||||
- Test on both platforms when possible
|
||||
|
|
@ -114,9 +121,10 @@ bash build/scripts/build_macos.sh # macOS
|
|||
tests/unit/test_validator.py
|
||||
tests/unit/test_drag_interceptor.py
|
||||
|
||||
# Integration tests: Component interaction
|
||||
# Integration tests: Component interaction and update flow
|
||||
tests/integration/test_drag_workflow.py
|
||||
tests/integration/test_end_to_end.py
|
||||
tests/integration/test_update_flow.py
|
||||
|
||||
# Fixtures: Reusable test data
|
||||
tests/conftest.py
|
||||
|
|
@ -136,6 +144,7 @@ Target: 80%+ code coverage
|
|||
- **Public APIs**: Docstrings required
|
||||
- **Modules**: Add docstring at top of file
|
||||
- **Features**: Update README.md and docs/
|
||||
- **Integration tests**: Reference and document in README.md and docs/ARCHITECTURE.md
|
||||
- **Breaking changes**: Update DEVELOPMENT_PLAN.md
|
||||
|
||||
## Git Workflow
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue