docs: track completion of tasks 1-3 in domain services plan and TODO.md

This commit is contained in:
Lucas Winther
2026-09-05 18:22:12 +02:00
parent b1348dbea8
commit cbf676007f
2 changed files with 20 additions and 19 deletions
+5 -4
View File
@@ -53,11 +53,12 @@
- [x] Add unit tests in `tests/client.test.ts` verifying authentication headers, response parsing, and error sanitization against live container.
- [ ] **Task 2: Domain Services**
- [ ] Implement `src/services/projects.ts` (`listProjects`, `getProject`).
- [ ] Implement `src/services/work-packages.ts` (`listWorkPackages`, `getWorkPackage`, `searchWorkPackages`).
- [ ] Implement `src/services/queries.ts` (`listQueries`, `getQuery`).
- [x] Implement `src/services/helper.ts` (`resolveClient` for ambient `RequestContext` resolution).
- [x] Implement `src/services/projects.ts` (`listProjects`, `getProject`, `getProjectSchema`).
- [x] Implement `src/services/work-packages.ts` (`listWorkPackages`, `getWorkPackage`, `searchWorkPackages`).
- [ ] Implement `src/services/queries.ts` (`listQueries`, `getQuery`, `getQueryResults`).
- [ ] Implement `src/services/metadata.ts` (`listStatuses`, `listTypes`, `listPriorities`, `listUsers`).
- [ ] Add service tests in `tests/services.test.ts`.
- [/] Add service tests in `tests/services.test.ts` (helper, projects, and work packages test suites passing).
- [ ] **Task 3: MCP Tool Definitions & Schema Registration**
- [ ] Define Zod schemas and register tools in `src/tools/`:
+15 -15
View File
@@ -29,7 +29,7 @@
- Consumes: `getRequestContext` from `src/context.ts`, `OpenProjectClient` from `src/client/api-client.ts`
- Produces: `resolveClient(client?: OpenProjectClient): OpenProjectClient`
- [ ] **Step 1: Write the failing test for client resolution**
- [x] **Step 1: Write the failing test for client resolution**
In `tests/services.test.ts`:
```typescript
@@ -70,12 +70,12 @@ describe("Domain Services Helper", () => {
});
```
- [ ] **Step 2: Run test to verify it fails**
- [x] **Step 2: Run test to verify it fails**
Run: `bun test tests/services.test.ts`
Expected: FAIL with module not found `../src/services/helper.ts`
- [ ] **Step 3: Write minimal implementation**
- [x] **Step 3: Write minimal implementation**
In `src/services/helper.ts`:
```typescript
@@ -95,12 +95,12 @@ export function resolveClient(client?: OpenProjectClient): OpenProjectClient {
}
```
- [ ] **Step 4: Run test to verify it passes**
- [x] **Step 4: Run test to verify it passes**
Run: `bun test tests/services.test.ts`
Expected: PASS (3 tests passed)
- [ ] **Step 5: Commit**
- [x] **Step 5: Commit**
```bash
git add src/services/helper.ts tests/services.test.ts
@@ -127,7 +127,7 @@ git commit -m "feat(services): implement shared client resolution helper"
- `getProjectSchema(client?: OpenProjectClient): Promise<Record<string, unknown>>`
- `ListProjectsParams` interface
- [ ] **Step 1: Write failing tests for projects service**
- [x] **Step 1: Write failing tests for projects service**
Append to `tests/services.test.ts`:
```typescript
@@ -226,12 +226,12 @@ describe("Projects Service", () => {
});
```
- [ ] **Step 2: Run test to verify it fails**
- [x] **Step 2: Run test to verify it fails**
Run: `bun test tests/services.test.ts`
Expected: FAIL with module not found `../src/services/projects.ts`
- [ ] **Step 3: Write minimal implementation**
- [x] **Step 3: Write minimal implementation**
In `src/services/projects.ts`:
```typescript
@@ -306,12 +306,12 @@ export async function getProjectSchema(
}
```
- [ ] **Step 4: Run test to verify it passes**
- [x] **Step 4: Run test to verify it passes**
Run: `bun test tests/services.test.ts`
Expected: PASS
- [ ] **Step 5: Commit**
- [x] **Step 5: Commit**
```bash
git add src/services/projects.ts tests/services.test.ts
@@ -339,7 +339,7 @@ git commit -m "feat(services): implement projects domain service"
- `searchWorkPackages(query: string, options?: SearchWorkPackagesOptions, client?: OpenProjectClient): Promise<PaginatedResult<WorkPackageSummary>>`
- `ListWorkPackagesParams`, `SearchWorkPackagesOptions` interfaces
- [ ] **Step 1: Write failing tests for work packages service**
- [x] **Step 1: Write failing tests for work packages service**
Append to `tests/services.test.ts`:
```typescript
@@ -468,12 +468,12 @@ describe("Work Packages Service", () => {
});
```
- [ ] **Step 2: Run test to verify it fails**
- [x] **Step 2: Run test to verify it fails**
Run: `bun test tests/services.test.ts`
Expected: FAIL with module not found `../src/services/work-packages.ts`
- [ ] **Step 3: Write minimal implementation**
- [x] **Step 3: Write minimal implementation**
In `src/services/work-packages.ts`:
```typescript
@@ -567,12 +567,12 @@ export async function searchWorkPackages(
}
```
- [ ] **Step 4: Run test to verify it passes**
- [x] **Step 4: Run test to verify it passes**
Run: `bun test tests/services.test.ts`
Expected: PASS
- [ ] **Step 5: Commit**
- [x] **Step 5: Commit**
```bash
git add src/services/work-packages.ts tests/services.test.ts