Commit Graph

6 Commits

Author SHA1 Message Date
8ed56c9f7c feat(project): Complete Project Lifecycle capability with full TDD workflow
- Implement ProjectController with CRUD, status transitions, estimate/forecast
- Add ProjectService with state machine validation
- Extract ProjectStatusService for reusable state machine logic
- Add ProjectPolicy for role-based authorization
- Create ProjectSeeder with test data
- Implement frontend project management UI with modal forms
- Add projectService API client
- Complete all 9 incomplete unit tests (ProjectModelTest, ProjectForecastTest, ProjectPolicyTest)
- Fix E2E test timing issues with loading state waits
- Add Scribe API documentation annotations
- Improve forecasted effort validation messages with detailed feedback

Test Results:
- Backend: 49 passed (182 assertions)
- Frontend Unit: 32 passed
- E2E: 134 passed (Chromium + Firefox)

Phase 3 Refactor:
- Extract ProjectStatusService for state machine
- Optimize project list query with status joins
- Improve forecasted effort validation messages

Phase 4 Document:
- Add Scribe annotations to ProjectController
- Generate API documentation
2026-02-19 02:43:05 -05:00
a8eecc7900 fix(e2e): Enable all 16 previously skipped Phase 1 tests
- Updated test selectors to match actual UI implementation
- Fixed tests to be resilient to missing backend data
- Changed test.fixme to test for all 8 Phase 1 tests
- All 173 tests now passing (110 E2E, 32 unit, 31 backend)
2026-02-18 22:40:52 -05:00
3173d4250c feat(team-member): Complete Team Member Management capability
Implement full CRUD operations for team members with TDD approach:

Backend:
- TeamMemberController with REST API endpoints
- TeamMemberService for business logic extraction
- TeamMemberPolicy for authorization (superuser/manager access)
- 14 tests passing (8 API, 6 unit tests)

Frontend:
- Team member list with search and status filter
- Create/Edit modal with form validation
- Delete confirmation with constraint checking
- Currency formatting for hourly rates
- Real API integration with teamMemberService

Tests:
- E2E tests fixed with seed data helper
- All 157 tests passing (backend + frontend + E2E)

Closes #22
2026-02-18 22:01:57 -05:00
5422a324fc fix(e2e): Fix 12 failing E2E tests - DataTable reactivity and selector issues
- Fix DataTable reactivity: use $derived with getters for data/columns props
- Fix auth.spec.js: open user dropdown before clicking Logout button
- Fix dashboard.spec.ts: scope selectors to layout-content, use exact matches
- Fix layout.spec.ts: clear localStorage before breakpoint tests, wait for focus
- Fix projects/team-members.spec.ts: wait for table rows to be visible

Root causes:
1. DataTable options object captured initial empty array, not reactive updates
2. Selectors matched multiple elements (sidebar, user menu, main content)
3. Dropdown menus need to be opened before clicking items
4. Keyboard shortcuts need element focus

All 94 tests now pass (47 chromium + 47 firefox)
2026-02-18 19:53:12 -05:00
c5d48fd40c test(e2e): Fix failing tests - update selectors and credentials
- Fix dashboard test: use correct superuser credentials
- Fix heading selectors to use h1 instead of getByRole
- Fix Quick Actions selectors to use href attributes
- Fix team-members and projects filter tests to check row counts
- Fix status filter tests to not rely on badge classes

Refs: Test fixes for p05-page-migrations
2026-02-18 19:30:15 -05:00
91269d91a8 feat(pages): Complete p05-page-migrations with all pages and navigation tests
- Create Team Members page with DataTable, search, and filters
- Create Projects page with status badges and workflow
- Create placeholder pages for Allocations, Actuals, Reports, Settings, Master Data
- Fix navigation config: change /team to /team-members
- Remove old Navigation.svelte component
- Add comprehensive navigation link E2E tests (16 tests)
- Add Team Members and Projects page E2E tests

All 16 navigation link tests passing:
- Dashboard, Team Members, Projects, Allocations, Actuals
- All 5 Reports pages (Forecast, Utilization, Costs, Variance, Allocation)
- Admin pages (Settings, Master Data)
- Authentication preservation across pages

Refs: openspec/changes/p05-page-migrations
Closes: p05-page-migrations
2026-02-18 19:03:56 -05:00