Major refactoring cleanup: - Add new controller architecture (class-controller-*.php) - Add new settings-v2 UI (views/settings-v2/) - Add new CSS architecture (agentic-sidebar.css, tokens) - Add esbuild build pipeline (scripts/build.js, package.json) - Add composer dependencies (vendor/) - Add frontend src directory (assets/js/src/index.jsx) - Add documentation files - Remove old/obsolete files (class-settings.php, old CSS) This commits all pending changes from previous refactoring efforts.
41 lines
939 B
Markdown
41 lines
939 B
Markdown
# Unit Tests
|
|
|
|
## Setup
|
|
|
|
```bash
|
|
# Install dependencies
|
|
composer install
|
|
|
|
# Run all tests
|
|
./vendor/bin/phpunit
|
|
|
|
# Run specific test file
|
|
./vendor/bin/phpunit tests/test-model-registry.php
|
|
|
|
# Run with testdox output
|
|
./vendor/bin/phpunit --testdox
|
|
|
|
# Generate coverage report
|
|
./vendor/bin/phpunit --testdox --coverage-html coverage
|
|
```
|
|
|
|
## Test Structure
|
|
|
|
| File | Class Under Test | Coverage |
|
|
|------|-----------------|----------|
|
|
| `test-model-registry.php` | `WPAW_Model_Registry` | Model defaults, validation, display names |
|
|
|
|
## Adding Tests
|
|
|
|
1. Create a new file in `tests/` with the naming convention `test-{class-name}.php`
|
|
2. Class name should be `Test_{ClassName}` extending `PHPUnit\Framework\TestCase`
|
|
3. Add the class require to `tests/bootstrap.php` if the class is not autoloaded
|
|
4. Run tests to verify
|
|
|
|
## Running Without Composer
|
|
|
|
If PHPUnit is installed globally:
|
|
```bash
|
|
phpunit --bootstrap tests/bootstrap.php tests/
|
|
```
|