Metadata: - Bump dew CLI version 0.0.1 → 1.0.0 - Add repository + issue_tracker URLs to all pubspec.yaml files - Switch inter-package path deps to versioned deps (^1.0.0) - Remove publish_to: none from all packages - Add MIT LICENSE to root and all packages - Confirm all four pub.dev names available (dew, dew_core, dew_kanban, dew_mcp) Documentation: - Add CHANGELOG.md (Keep a Changelog format, full 1.0.0 feature history) - Overhaul README.md (pitch, pub.dev badge, quick-start, feature sections) - Add TUI section + full keybinding tables to docs/features/kanban.md - Add CONTRIBUTING.md (setup, test, lint, branch strategy, command guide) Tests: - Add packages/cli/test/cli_test.dart (6 smoke tests) - Add packages/kanban/test/integration_test.dart (6 TicketStore e2e tests) - Expand packages/mcp/test/mcp_test.dart (5 tool registration tests) - Add dew_kanban as dev dependency in packages/mcp/pubspec.yaml - 57/57 tests passing Code quality: - dart format applied across all 23 changed source files - dart analyze: zero errors, zero warnings Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1.1 KiB
1.1 KiB
| id | title | type | created | milestones | labels | |||
|---|---|---|---|---|---|---|---|---|
| DEW-0025 | Add integration tests (init → create → list → move → link → delete) | task | 2026-04-25T19:53:08.295571Z |
|
|
Add end-to-end integration tests that exercise the full CLI against real temp directories.
Create packages/cli/test/integration_test.dart (or packages/kanban/test/integration_test.dart).
Test flows:
dew init <tmpdir>→ .project/dew.yaml and .project/kanban/ are createddew kanban create --title "Test" --type task→ ticket file appears in backlogdew kanban list→ returns the created ticketdew kanban move --id <id> --column doing→ ticket movesdew kanban link --id <id> --target <id2> --type relates_to→ link appears in both ticketsdew kanban unlink --id <id> --target <id2>→ link removed from bothdew kanban delete --id <id>→ ticket file removed
Use setUp/tearDown with dart:io Directory.systemTemp for isolation. Invoke commands via the Dart API (instantiate CommandRunner directly with a MemoryFileSystem or real temp dir), not via subprocess, for speed.