Files
ccs/tests/README.md
T
kaitranntt 72c2b08715 refactor: consolidate test structure and remove backup files
- Move ux-integration-test.sh to tests/integration/ directory
- Consolidate tests/fixtures/ into tests/shared/fixtures/
- Fix import paths in cli.test.js and postinstall.test.js
- Remove src/ccs.ts.backup file (958 lines)
- Remove empty src/scripts/ directory
- Remove non-existent test:edge-cases script from package.json
- Update tests/README.md with accurate structure
- Update CONTRIBUTING.md with correct test commands
- Update docs/system-architecture.md with correct test paths
2025-11-30 17:54:04 -05:00

64 lines
2.3 KiB
Markdown

# 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/<module>/` 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/`