ldc-arcadia-api/tests/Architecture/InfraTest.php

26 lines
632 B
PHP
Raw Normal View History

<?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 layer uses strict types')
->expect('Infra')
->toUseStrictTypes();
});