diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index 584d8e0e..61a37b77 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -16,6 +16,20 @@ final class Laravel extends AbstractPreset */ public function execute(): void { + $this->expectations[] = expect('App') + ->not->toHaveSuffix('Controller') + ->ignoring('App\Http\Controllers'); + + $this->expectations[] = expect('App\Http\Controllers') + ->classes() + ->toHaveSuffix('Controller'); + + $this->expectations[] = expect('App\Http') + ->toOnlyBeUsedIn('App\Http'); + + $this->expectations[] = expect('App\Http\Controllers') + ->not->toHavePublicMethodsBesides(['__construct', '__invoke', 'index', 'show', 'create', 'store', 'edit', 'update', 'destroy']); + $this->expectations[] = expect('App') ->not->toBeEnums() ->ignoring('App\Enums'); @@ -31,20 +45,6 @@ final class Laravel extends AbstractPreset ->not->toImplement(Throwable::class) ->ignoring('App\Exceptions'); - $this->expectations[] = expect('App') - ->not->toHaveSuffix('Controller') - ->ignoring('App\Http\Controllers'); - - $this->expectations[] = expect('App\Http\Controllers') - ->classes() - ->toHaveSuffix('Controller'); - - $this->expectations[] = expect('App\Http') - ->toOnlyBeUsedIn('App\Http'); - - $this->expectations[] = expect('App\Http\Controllers') - ->not->toHavePublicMethodsBesides(['__construct', '__invoke', 'index', 'show', 'create', 'store', 'edit', 'update', 'destroy']); - $this->expectations[] = expect('App\Http\Middleware') ->classes() ->toHaveMethod('handle'); diff --git a/src/ArchPresets/Strict.php b/src/ArchPresets/Strict.php index 32fb4cce..cb3e3830 100644 --- a/src/ArchPresets/Strict.php +++ b/src/ArchPresets/Strict.php @@ -18,10 +18,10 @@ final class Strict extends AbstractPreset public function execute(): void { $this->eachUserNamespace( - fn (Expectation $namespace): ArchExpectation => $namespace->toUseStrictTypes(), - fn (Expectation $namespace): ArchExpectation => $namespace->classes()->toBeFinal(), + fn (Expectation $namespace): ArchExpectation => $namespace->classes()->not->toHaveProtectedMethodsBesides([]), fn (Expectation $namespace): ArchExpectation => $namespace->classes()->not->toBeAbstract(), - fn (Expectation $namespace): ArchExpectation => $namespace->classes()->not->toHaveProtectedMethodsBesides([]) + fn (Expectation $namespace): ArchExpectation => $namespace->classes()->toBeFinal(), + fn (Expectation $namespace): ArchExpectation => $namespace->toUseStrictTypes(), ); $this->expectations[] = expect([