# CCS Test Suite ## Organization ``` tests/ ├── unit/ # Module unit tests (Mocha) │ ├── glmt/ # GLMT transformer tests │ └── delegation/ # Delegation module tests ├── npm/ # npm package tests (Mocha) ├── native/ # Native installation tests (bash/PowerShell) │ ├── unix/ # Unix/Linux/macOS tests │ └── windows/ # Windows PowerShell tests ├── integration/ # Integration tests (manual execution) └── shared/ # Shared utilities ├── fixtures/ # Test configuration and environment ├── unit/ # Helper function tests ├── helpers.sh # Bash test utilities └── test-data.js # Test data for npm tests ``` ## Running Tests ```bash bun run test # All automated tests (unit + npm) bun run test:unit # Unit tests only (Mocha) bun run test:npm # npm package tests (Mocha) bun run test:native # Native Unix tests (bash) ``` ## Test Categories ### Unit Tests (`unit/`) Module-level tests using Mocha framework: - `unit/glmt/` - GLMT transformer, SSE parser, delta accumulator - `unit/delegation/` - Permission mode, session manager, result formatter ### npm Tests (`npm/`) npm package functionality tests using Mocha: - `postinstall.test.js` - Postinstall behavior - `cli.test.js` - CLI argument parsing - `cross-platform.test.js` - Cross-platform compatibility - `special-commands.test.js` - Integration tests ### Native Tests (`native/`) Installation tests for curl|bash (Unix) and irm|iex (Windows): - `native/unix/edge-cases.sh` - Unix edge case tests - `native/windows/edge-cases.ps1` - Windows edge case tests ### Integration Tests (`integration/`) Manual execution tests for specific scenarios: - `token-counting-test.js` - Token counting validation - `z-ai-streaming-test.js` - Z.AI streaming - `glmt-integration-test.sh` - GLMT integration - `symlink-chain-test.sh` - Symlink chain handling - `ux-integration-test.sh` - CLI UX integration ## Adding New Tests - **Unit tests**: Add to `unit//` using Mocha + Node.js assert - **npm tests**: Add to `npm/` using Mocha - **Native tests**: Add to `native/unix/` or `native/windows/` - **Integration tests**: Add to `integration/`