スキル一覧に戻る

testing-clickup-cli

krodak
更新日 2 days ago
4 閲覧
72
11
72
GitHubで表示
テストaitestingdata

について

このスキルはclickup-cliプロジェクトのテスト管理を担当し、モック化された依存関係を用いたユニットテストと、実際のClickUpワークスペースに対するエンドツーエンドテストの両方を扱います。テストスイートの実行、失敗のデバッグ、テストフィクスチャやデータのセットアップに使用されます。開発者は、テストカバレッジの作業中、CLIの動作確認時、またはテスト環境の準備時にこれを利用すべきです。

クイックインストール

Claude Code

推奨
メイン
npx skills add krodak/clickup-cli -a claude-code
プラグインコマンド代替
/plugin add https://github.com/krodak/clickup-cli
Git クローン代替
git clone https://github.com/krodak/clickup-cli.git ~/.claude/skills/testing-clickup-cli

このコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします

ドキュメント

Test Suite Overview

SuiteCommandFilesWhat it tests
Unitnpm testtests/unit/**/*.test.tsAll commands, API client, formatters, config. Mocks ClickUpClient.
E2Enpm run test:e2etests/e2e/**/*.e2e.tsReal API calls against a live ClickUp workspace.

Unit tests run in CI. E2E tests require CLICKUP_API_TOKEN in .env.test and are not part of CI.

Running Tests

npm test                          # all unit tests
npm test -- tests/unit/commands/  # just command tests
npm test -- -t "sprint"           # filter by test name
npm run test:e2e                  # e2e tests (needs .env.test)

The unit test global setup runs npm run build before tests start.

E2E Test Workspace

Tests run against the personal ClickUp workspace (profile: personal).

Space: E2E Tests (90166622768)

Pre-populated with test fixtures:

FixtureWhat it contains
Sprints folder3 sprint lists with (M/DD - M/DD) date ranges. Sprint 2 is "current".
Backlog listGeneral tasks for CRUD testing. E2E lifecycle tests create/delete tasks here.
Tasks11 tasks with varied statuses, priorities, assignees, due dates, tags.
Subtasks3 subtasks under "Implement user authentication".
Checklist"CI Steps" with 5 items (3 resolved).
Tagsbackend, frontend, security, design, bug.
Comments2 comments on the auth task.
Dependencies"Design landing page" depends on "Set up CI pipeline".
Overdue task"Fix login redirect bug" in Sprint 1 with past due date.

Space: ClickUp CLI (90166622769)

Project tracking space. Not used for tests - used for tracking releases and features.

E2E Test Patterns

Lifecycle tests (tests/e2e/lifecycle.e2e.ts)

These create test data, verify operations, and clean up:

SuiteTestsCoverage
Task lifecycle13Create, read, update, subtask, comment, checklist, delete, confirm gone
Tag lifecycle4Add tag, verify, remove, verify removed
Time tracking5Start timer, check running, stop, log entry, list entries

Each suite uses beforeAll to find the Backlog list and afterAll to clean up created tasks.

API tests (tests/e2e/api.e2e.ts)

Tests API client methods directly: getSpaces, getLists, getTask, sprint detection.

Unit Test Patterns

Mocking ClickUpClient

Every command test mocks the API client with vi.mock:

const mockGetTask = vi.fn().mockResolvedValue({ id: 't1', name: 'Task' })

vi.mock('../../../src/api.js', () => ({
  ClickUpClient: vi.fn().mockImplementation(function () {
    return { getTask: mockGetTask }
  }),
}))

The function keyword (not arrow) is required for Vitest 4's new semantics.

Testing command functions

Commands export pure functions. Tests import and call them directly:

const { updateTask } = await import('../../../src/commands/update.js')
await updateTask({ apiToken: 'pk_t', teamId: 'team1' }, 't1', { status: 'done' })
expect(mockUpdateTask).toHaveBeenCalledWith('t1', { status: 'done' })

Metadata sync test

tests/unit/commands/completion.test.ts verifies that:

  1. Every command registered in Commander is listed in src/commands/metadata.ts
  2. The docs/commands.md quick reference section matches what metadata generates

If you add a new command, you MUST add it to metadata.ts. If you add new flags, add them too. Then run node --import tsx scripts/sync-command-docs.ts to regenerate the docs.

Adding New Tests

New unit test

  1. Create tests/unit/commands/<name>.test.ts
  2. Mock ClickUpClient with the methods your command uses
  3. Test happy path, error cases, edge cases
  4. Run npm test -- tests/unit/commands/<name>.test.ts

New e2e test

  1. Add to tests/e2e/lifecycle.e2e.ts or create a new *.e2e.ts file
  2. Use the Backlog list in E2E Tests space for creating test data
  3. Always clean up: delete created tasks/checklists in afterAll
  4. Use describe.skipIf(!TOKEN) to skip when no API token is set
  5. Run npm run test:e2e

Config for E2E

# .env.test (gitignored)
CLICKUP_API_TOKEN=pk_...   # personal workspace token

Copy from .env.test.example and fill in your token.

GitHub リポジトリ

krodak/clickup-cli
パス: .agents/skills/testing-clickup-cli
0
ai-agentsclaude-codecliclickupcodexdeveloper-tools

関連スキル

evaluating-llms-harness

テスト

このClaudeスキルは、lm-evaluation-harnessを実行し、MMLUやGSM8Kなど60以上の標準化学術タスクでLLMをベンチマークします。開発者がモデルの品質を比較し、トレーニングの進捗を追跡し、学術的な結果を報告するために設計されています。このツールはHuggingFaceやvLLMモデルを含む様々なバックエンドをサポートしています。

スキルを見る

cloudflare-cron-triggers

テスト

このスキルは、cron式を使用してWorkersをスケジュールするためのCloudflare Cron Triggersの実装に関する包括的な知識を提供します。定期的なタスクの設定、メンテナンスジョブ、自動化されたワークフローの構築を網羅し、無効なcron式やタイムゾーン問題といった一般的な課題への対処法も含みます。開発者はこれを使用して、スケジュールされたハンドラーの設定、cronトリガーのテスト、WorkflowsやGreen Computeとの連携を構成できます。

スキルを見る

webapp-testing

テスト

このClaude Skillは、Playwrightベースのツールキットを提供し、Pythonスクリプトを通じてローカルWebアプリケーションのテストを可能にします。フロントエンドの検証、UIデバッグ、スクリーンショット撮影、ログ表示を実現し、サーバーライフサイクルを管理します。ブラウザ自動化タスクにご利用いただけますが、コンテキストの汚染を避けるため、スクリプトのソースコードを読むのではなく直接実行してください。

スキルを見る

finishing-a-development-branch

テスト

このスキルは、開発者がテストの合格を確認し、構造化された統合オプションを提示することで、完成した作業を仕上げることを支援します。実装が完了した後のマージ、PR作成、ブランチの整理といったワークフローを案内します。コードが準備できてテスト済みの際に使用し、開発プロセスを体系的に完了させましょう。

スキルを見る