ldc-arcadia-api/tests/Architecture/InfraTest.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

33 lines
1 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\Architecture;
use Illuminate\Database\Eloquent\Model;
describe('Infra Architecture Rules', function (): void {
arch('Infra does not depend on App namespace')
->expect('Infra')
->not->toUse('App');
arch('Infra Eloquent Database Models extend Eloquent Model')
->expect('Infra\Database\Models')
->toExtend(Model::class);
arch('Infra Eloquent Database Models are final')
->expect('Infra\Database\Models')
->toBeFinal();
arch('Infra adapters implement Domain Ports')
->expect('Infra\Adapters\Directories\EloquentEmployeeDirectory')
->toImplement('Domain\Ports\Directories\EmployeeDirectory');
arch('Infra EloquentEmployeeRepository implements Domain EmployeeRepository port')
->expect('Infra\Adapters\Repositories\EloquentEmployeeRepository')
->toImplement('Domain\Ports\Repositories\EmployeeRepository');
arch('Infra layer uses strict types')
->expect('Infra')
->toUseStrictTypes();
});