2.6 KiB

Tests Domain

File Index

Test Files

  • @/test/test-agent-schema.js - Agent schema validation tests
  • @/test/test-installation-components.js - Installation component tests
  • @/test/test-cli-integration.sh - CLI integration tests (shell script)
  • @/test/unit-test-schema.js - Unit test schema
  • @/test/README.md - Test documentation
  • @/test/fixtures/ - Test fixtures directory

Validation Scripts

  • @/tools/validate-agent-schema.js - Validates all agent YAML schemas
  • @/tools/validate-bundles.js - Validates bundle integrity

NPM Test Scripts

# Full test suite (recommended before commits)
npm test

# Individual test commands
npm run test:schemas         # Run schema tests
npm run test:install         # Run installation tests
npm run validate:bundles     # Validate bundle integrity
npm run validate:schemas     # Validate agent schemas
npm run lint                 # ESLint check
npm run format:check         # Prettier format check

# Coverage
npm run test:coverage        # Run tests with coverage (c8)

Test Command Breakdown

npm test runs sequentially:

  1. npm run test:schemas - Agent schema validation
  2. npm run test:install - Installation component tests
  3. npm run validate:bundles - Bundle validation
  4. npm run validate:schemas - Schema validation
  5. npm run lint - ESLint
  6. npm run format:check - Prettier check

Testing Patterns

Schema Validation

  • Uses Zod for schema definition
  • Validates agent YAML structure
  • Checks required fields, types, formats

Installation Tests

  • Tests core installer components
  • Validates IDE handler setup
  • Tests configuration collection

Linting & Formatting

  • ESLint with plugins: n, unicorn, yml
  • Prettier for formatting
  • Husky for pre-commit hooks
  • lint-staged for staged file linting

Dependencies

  • jest: ^30.0.4 (test runner)
  • c8: ^10.1.3 (coverage)
  • zod: ^4.1.12 (schema validation)
  • eslint: ^9.33.0
  • prettier: ^3.5.3

Common Tasks

  • Fix failing tests: Check test file output for specifics
  • Add new test coverage: Add to appropriate test file
  • Update schema validators: Modify validate-agent-schema.js
  • Debug validation errors: Run individual validation commands

Pre-Commit Workflow

lint-staged configuration:

  • *.{js,cjs,mjs} → lint:fix, format:fix
  • *.yaml → eslint --fix, format:fix
  • *.{json,md} → format:fix

Relationships

  • Tests validate what installers produce
  • Run tests before deploy
  • Schema changes may need doc updates
  • All PRs should pass npm test

Domain Memories