dew/.project/kanban/backlog/DEW-0025.md
Chris Hendrickson 0ad1fae213 chore: 1.0 release prep
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>
2026-04-25 15:58:54 -04:00

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
1.0.0
1.0
tests

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:

  1. dew init <tmpdir> → .project/dew.yaml and .project/kanban/ are created
  2. dew kanban create --title "Test" --type task → ticket file appears in backlog
  3. dew kanban list → returns the created ticket
  4. dew kanban move --id <id> --column doing → ticket moves
  5. dew kanban link --id <id> --target <id2> --type relates_to → link appears in both tickets
  6. dew kanban unlink --id <id> --target <id2> → link removed from both
  7. dew 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.