TenantAtlas/apps/platform/tests/Feature/PlatformRelocation/CommandModelSmokeTest.php
ahmido 72bfb37ba7
Some checks failed
Main Confidence / confidence (push) Failing after 57s
feat: add decision-based governance inbox (#291)
## Summary
- add a read-first governance inbox page at `/admin/governance/inbox`
- aggregate assigned findings, intake, stale operations, alert-delivery failures, and review follow-up into one canonical routing surface
- add focused coverage for inbox authorization, navigation context, page behavior, and section builder logic
- include the Spec Kit artifacts for spec 250

## Notes
- branch is synced with `dev`
- this PR supersedes #290 for the governance inbox work

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #291
2026-04-28 10:13:09 +00:00

37 lines
1.5 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');
});
it('keeps the local queue service in code-reloading listen mode', function (): void {
$compose = file_get_contents(repo_path('docker-compose.yml'));
expect($compose)->toContain('command: php artisan queue:listen --tries=3 --timeout=300 --sleep=3')
->not->toContain('command: php artisan queue:work --tries=3 --timeout=300 --sleep=3 --max-jobs=1000');
});