diff --git a/tests/Feature/ArchTest.php b/tests/Feature/ArchTest.php index 6006d40..9859234 100644 --- a/tests/Feature/ArchTest.php +++ b/tests/Feature/ArchTest.php @@ -1,5 +1,26 @@ expect(['dd', 'dump', 'ray']) - ->not->toBeUsed(); +arch('All files in the casts directory extend `CastsAttributes`.') + ->expect('App\Casts') + ->toExtend('Illuminate\Contracts\Database\Eloquent\CastsAttributes'); + +arch('All files in the casts directory have suffix `Cast`.') + ->expect('App\Casts') + ->toHaveSuffix('Cast'); + +arch('All files in the observers directory have suffix `Observer`.') + ->expect('App\Observers') + ->toHaveSuffix('Observer'); + +arch('All files in the policies directory have suffix `Policy`.') + ->expect('App\Policies') + ->toHaveSuffix('Policy'); + +arch('All files in the services directory have suffix `Service`.') + ->expect('App\Services') + ->toHaveSuffix('Service'); + +arch('ensures `env()` is only used in config files') + ->expect('env') + ->not->toBeUsed() + ->ignoring('config');