TenantAtlas/apps/platform/tests/Feature/PlatformRelocation/CommandModelSmokeTest.php
ahmido 6a5b8a3a11
Some checks failed
Main Confidence / confidence (push) Failing after 50s
feat: canonical control catalog foundation (#272)
## Summary
- add a config-seeded canonical control catalog plus shared resolution primitives and Microsoft subject bindings
- propagate canonical control references into findings-derived evidence snapshots and tenant review composition
- add the feature spec artifacts and focused Pest coverage, plus the supporting workspace and Sail helper adjustments included in this branch

## Testing
- cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Governance/CanonicalControlCatalogTest.php tests/Unit/Governance/CanonicalControlResolverTest.php tests/Feature/Governance/CanonicalControlResolutionIntegrationTest.php tests/Feature/Evidence/EvidenceSnapshotCanonicalControlReferenceTest.php tests/Feature/TenantReview/TenantReviewCanonicalControlReferenceTest.php tests/Feature/PlatformRelocation/CommandModelSmokeTest.php
- cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #272
2026-04-24 12:26:02 +00:00

30 lines
1.2 KiB
PHP

<?php
it('documents the app local sail compose bridge in the canonical env example', function (): void {
$envExample = file_get_contents(base_path('.env.example'));
expect($envExample)->toContain('SAIL_FILES=../../docker-compose.yml')
->toContain('TENANTATLAS_REPO_ROOT=../..');
});
it('provides an executable root sail delegator that enters apps platform', function (): void {
$scriptPath = repo_path('scripts/platform-sail');
$scriptContents = file_get_contents($scriptPath);
expect(is_file($scriptPath))->toBeTrue()
->and(is_executable($scriptPath))->toBeTrue()
->and($scriptContents)->toContain('APP_DIR')
->toContain('apps/platform')
->toContain('exec ./vendor/bin/sail "$@"')
->not->toContain('COMPOSE_PROJECT_NAME');
});
it('keeps the repo root compose file pointed at the relocated app', function (): void {
$compose = file_get_contents(repo_path('docker-compose.yml'));
expect($compose)->toContain("./apps/platform/vendor/laravel/sail/runtimes/8.4")
->toContain("./apps/platform:/var/www/html")
->toContain(".:/var/www/repo:ro")
->toContain('TENANTATLAS_REPO_ROOT: /var/www/repo');
});