Skip to main content
Glama

MCP Todoist

by kentaroh7777
task1-2_step1_red-phase.md4.63 kB
# Task 1-2 Step 1: Red Phase - Todoist API Client のテスト先行実装 ## 🔴 Red Phase: テストを先に実装して失敗させる ### 【重要】このステップでは実装コードを一切書かない - テストコードのみを実装する - テストが失敗することを確認する - 実装は次のステップ(Green Phase)で行う ## 前提条件 - Task 1-1(MCPプロトコル基盤)が完了していること - packages/mcp-server プロジェクトが存在すること ## 実装指示 ### 1. 追加依存関係のインストール - `axios` - HTTP クライアント - `@types/axios` - TypeScript 型定義(開発依存関係) - `nock` - HTTP モッキング(テスト用、開発依存関係) ### 2. テストファイル作成 #### test/todoist-client.test.ts **TodoistClient クラスの単体テスト(15個のテストケース)** **コンストラクタのテスト:** - API トークンありでの初期化 - API トークンなしでのエラー - ベースURLの設定確認 **getTasks メソッドのテスト:** - 正常なタスク一覧取得 - フィルター付きタスク取得(project_id指定) - APIエラー時の例外処理(401 Unauthorized) - ネットワークエラー時の例外処理 - 空のレスポンスの処理 **createTask メソッドのテスト:** - 正常なタスク作成(content のみ) - プロジェクト指定でのタスク作成 - 期限付きタスク作成 - 必須パラメータ欠如時のエラー - API エラー時の例外処理 **updateTask メソッドのテスト:** - 正常なタスク更新 - 存在しないタスクIDでのエラー処理 **deleteTask メソッドのテスト:** - 正常なタスク削除 - 存在しないタスクIDでのエラー処理 **getProjects メソッドのテスト:** - 正常なプロジェクト一覧取得 - APIエラー時の例外処理 #### test/todoist-client.integration.test.ts **TodoistClient の統合テスト(8個のテストケース)** **実際のAPI呼び出しテスト(モック使用):** - Tasks API の完全なワークフロー(作成 → 取得 → 更新 → 削除) - Projects API の取得処理 - 複数タスクの一括操作 - エラーリカバリの動作確認 - レート制限の適切な処理 - タイムアウト処理の確認 - リトライ機構の動作確認 - 認証失敗時の適切なエラーハンドリング ### 3. モックデータの準備 #### test/fixtures/todoist-responses.ts **テスト用のモックレスポンスデータ定義** - タスク一覧のサンプルレスポンス - タスク作成のサンプルレスポンス - プロジェクト一覧のサンプルレスポンス - エラーレスポンスのサンプル ## 実行確認の指示 ### テスト実行(失敗することを確認) `npm test` を実行して以下を確認: - ❌ すべてのテストが失敗する - ❌ `Cannot find module '../src/adapters/todoist-client'` エラー - ❌ モジュールが見つからないエラーが出る ### 期待される失敗パターン - モジュールインポートエラー - クラス定義が見つからないエラー - メソッドが定義されていないエラー ## 完了条件 ### ✅ チェックリスト - [ ] 追加依存関係がインストールされている(axios, nock, @types/axios) - [ ] TodoistClient の単体テスト(15個)が実装されている - [ ] TodoistClient の統合テスト(8個)が実装されている - [ ] モックデータファイル(fixtures)が作成されている - [ ] `npm test` でテストが実行され、すべて失敗することを確認 - [ ] モジュールが見つからないエラーが出ることを確認 ## テスト設計のポイント ### テストケースの網羅性 - 正常系・異常系の両方をカバー - 境界値テストの実装 - エラーハンドリングの詳細確認 ### モックの活用 - nock を使用した HTTP リクエストのモック - 実際のTodoist APIレスポンス形式の再現 - エラーパターンの網羅的なテスト ### 統合テストの重要性 - 実際のAPIワークフローの検証 - タスクのライフサイクル全体のテスト - エラーリカバリとリトライ機構の確認 ## 【重要】次のステップ このRed Phaseが完了したら、**Green Phase(task1-2_step2_green-phase.md)** に進み、テストを通すための最小実装を行う。 **絶対に実装コードを書かないこと** - それは次のステップです!

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kentaroh7777/mcp-todoist'

If you have feedback or need assistance with the MCP directory API, please join our Discord server