MCP HubMCP Hub
스킬 목록으로 돌아가기

testing-clickup-cli

krodak
업데이트됨 Yesterday
2 조회
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 Skill은 MMLU, GSM8K를 포함한 60개 이상의 표준화된 학술 과제에서 LLM 성능을 벤치마크하기 위해 lm-evaluation-harness를 실행합니다. 개발자들이 모델 품질을 비교하고, 학습 진행 상황을 추적하거나 학술 결과를 보고할 수 있도록 설계되었습니다. 이 도구는 HuggingFace와 vLLM 모델을 포함한 다양한 백엔드를 지원합니다.

스킬 보기

cloudflare-cron-triggers

테스팅

이 스킬은 cron 표현식을 사용하여 Worker를 스케줄링하기 위한 Cloudflare Cron Triggers 구현에 관한 포괄적인 지식을 제공합니다. 주기적 작업, 유지보수 작업, 자동화된 워크플로우 설정 방법을 다루며, 잘못된 cron 표현식이나 시간대 문제 같은 일반적인 이슈들을 해결하는 방법을 포함합니다. 개발자들은 이를 통해 스케줄된 핸들러 구성, cron 트리거 테스트, Workflows 및 Green Compute와의 연동 작업을 수행할 수 있습니다.

스킬 보기

webapp-testing

테스팅

이 Claude Skill은 Python 스크립트를 통해 로컬 웹 애플리케이션을 테스트하기 위한 Playwright 기반 툴킷을 제공합니다. 프론트엔드 검증, UI 디버깅, 스크린샷 캡처, 로그 확인 기능을 지원하며 서버 라이프사이클을 관리합니다. 브라우저 자동화 작업에 사용하되 컨텍스트 오염을 방지하기 위해 소스 코드를 읽지 않고 스크립트를 직접 실행하세요.

스킬 보기

finishing-a-development-branch

테스팅

이 스킬은 테스트 통과를 확인한 후 체계적인 통합 옵션을 제시하여 개발자가 완성된 작업을 마무리하도록 돕습니다. 구현이 완료된 후 머지, PR 생성, 브랜치 정리와 같은 워크플로우를 안내합니다. 코드가 준비되고 테스트가 완료되었을 때 개발 프로세스를 체계적으로 마무리하기 위해 사용하세요.

스킬 보기