ldc-arcadia-api/tests/Architecture/ApplicationTest.php
Jérémy Munsch 84e59314a0
test(Architecture): add namespaces to architecture test files and create integration test suite
- Added namespaces to various architecture test files for consistency.
- Created a new integration test suite in phpunit.xml.
2026-08-13 11:25:08 +02:00

39 lines
1 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\Architecture;
describe('Application Architecture Rules', function (): void {
arch('Application layer does not depend on Presentation, Infra, or App')
->expect('Application')
->not->toUse([
'Presentation',
'Infra',
'Infrastructure',
'App',
]);
arch('Application layer does not depend on Illuminate framework')
->expect('Application')
->not->toUse('Illuminate');
arch('Application layer uses strict types')
->expect('Application')
->toUseStrictTypes();
arch('Application Usecase classes are final and readonly')
->expect('Application\Usecase')
->toBeReadonly()
->toBeFinal();
arch('Application layer must not contain Presenters')
->expect('Application')
->classes()
->not->toHaveSuffix('Presenter');
arch('Application layer must not contain Views')
->expect('Application')
->classes()
->not->toHaveSuffix('View');
});