From 241dcf8f34c7b9204cc0bc56917fc68716661d11 Mon Sep 17 00:00:00 2001 From: Punyapal Shah Date: Mon, 10 Jun 2024 21:25:51 +0530 Subject: [PATCH 01/13] feat(presets): add expectation for Laravel controller suffix --- src/ArchPresets/Laravel.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index ceeb7d4b..97456d81 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -21,5 +21,8 @@ final class Laravel extends AbstractPreset $this->expectations[] = expect([ 'exit', ])->not->toBeUsed(); + + $this->expectations[] = expect('App\Http\Controllers') + ->toHaveSuffix('Controller'); } } From a46142d8c7f21a38690841c7da702f5184ee82fb Mon Sep 17 00:00:00 2001 From: Punyapal Shah Date: Mon, 10 Jun 2024 21:28:08 +0530 Subject: [PATCH 02/13] feat(presets): update Laravel preset to exclude models with suffix 'Model' --- src/ArchPresets/Laravel.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index 97456d81..13a8fcb2 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -24,5 +24,8 @@ final class Laravel extends AbstractPreset $this->expectations[] = expect('App\Http\Controllers') ->toHaveSuffix('Controller'); + + $this->expectations[] = expect('App\Models') + ->not->toHaveSuffix('Model'); } } From 52282cc590577568298cc5df6129e52d013c786e Mon Sep 17 00:00:00 2001 From: Punyapal Shah Date: Mon, 10 Jun 2024 21:29:12 +0530 Subject: [PATCH 03/13] feat(presets): add expectation for Laravel request suffix --- src/ArchPresets/Laravel.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index 13a8fcb2..6a5b61b9 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -27,5 +27,8 @@ final class Laravel extends AbstractPreset $this->expectations[] = expect('App\Models') ->not->toHaveSuffix('Model'); + + $this->expectations[] = expect('App\Http\Requests') + ->toHaveSuffix('Request'); } } From e8b09d6f8ce2606538e709fb8b071a28b41b6706 Mon Sep 17 00:00:00 2001 From: Punyapal Shah Date: Mon, 10 Jun 2024 21:35:42 +0530 Subject: [PATCH 04/13] feat(presets): add expectation for Laravel command suffix --- src/ArchPresets/Laravel.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index 6a5b61b9..acca3772 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -30,5 +30,8 @@ final class Laravel extends AbstractPreset $this->expectations[] = expect('App\Http\Requests') ->toHaveSuffix('Request'); + + $this->expectations[] = expect('App\Console\Commands') + ->toHaveSuffix('Command'); } } From 917f7a64a09d6586eb5382191b9429572e18d636 Mon Sep 17 00:00:00 2001 From: Punyapal Shah Date: Mon, 10 Jun 2024 21:36:59 +0530 Subject: [PATCH 05/13] feat(presets): add expectation for Laravel exception suffix --- src/ArchPresets/Laravel.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index acca3772..c960d5e6 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -33,5 +33,8 @@ final class Laravel extends AbstractPreset $this->expectations[] = expect('App\Console\Commands') ->toHaveSuffix('Command'); + + $this->expectations[] = expect('App\Exceptions') + ->toImplement('Throwable'); } } From 65dacd564726b4ee4dc407ddb5365ff9bc83502b Mon Sep 17 00:00:00 2001 From: Punyapal Shah Date: Mon, 10 Jun 2024 21:38:20 +0530 Subject: [PATCH 06/13] feat(presets): add expectation for Laravel mail class --- src/ArchPresets/Laravel.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index c960d5e6..8cc28d6f 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -36,5 +36,9 @@ final class Laravel extends AbstractPreset $this->expectations[] = expect('App\Exceptions') ->toImplement('Throwable'); + + $this->expectations[] = expect('App\Mail') + ->toHaveConstructor() + ->toExtend('Illuminate\Mail\Mailable'); } } From abc245bf85ebb0e9d4c61da272186b1bea7faba1 Mon Sep 17 00:00:00 2001 From: Punyapal Shah Date: Mon, 10 Jun 2024 21:40:16 +0530 Subject: [PATCH 07/13] feat(presets): add expectation for Laravel command handle method --- src/ArchPresets/Laravel.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index 8cc28d6f..d4f5ac3b 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -32,7 +32,10 @@ final class Laravel extends AbstractPreset ->toHaveSuffix('Request'); $this->expectations[] = expect('App\Console\Commands') - ->toHaveSuffix('Command'); + ->toHaveSuffix('Command') + ->toExtend('Illuminate\Console\Command') + ->toHaveMethod('handle') + ->toImplementNothing(); $this->expectations[] = expect('App\Exceptions') ->toImplement('Throwable'); From d8156fee53b341f2f652f093b9b6004ca731fbd2 Mon Sep 17 00:00:00 2001 From: Punyapal Shah Date: Mon, 10 Jun 2024 21:44:49 +0530 Subject: [PATCH 08/13] feat(presets): add expectation for Laravel middleware handle method --- src/ArchPresets/Laravel.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index d4f5ac3b..cae3331b 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -25,6 +25,9 @@ final class Laravel extends AbstractPreset $this->expectations[] = expect('App\Http\Controllers') ->toHaveSuffix('Controller'); + $this->expectations[] = expect('App\Http\Middleware') + ->toHaveMethod('handle'); + $this->expectations[] = expect('App\Models') ->not->toHaveSuffix('Model'); From 508e42a2fffa8a676732f8e8a488420cdbc4ffd9 Mon Sep 17 00:00:00 2001 From: Punyapal Shah Date: Mon, 10 Jun 2024 21:45:17 +0530 Subject: [PATCH 09/13] feat(presets): update Laravel preset to include expectation for Laravel request suffix --- src/ArchPresets/Laravel.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index cae3331b..ac5b18c5 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -32,7 +32,9 @@ final class Laravel extends AbstractPreset ->not->toHaveSuffix('Model'); $this->expectations[] = expect('App\Http\Requests') - ->toHaveSuffix('Request'); + ->toHaveSuffix('Request') + ->toExtend('Illuminate\Foundation\Http\FormRequest') + ->toHaveMethod('rules'); $this->expectations[] = expect('App\Console\Commands') ->toHaveSuffix('Command') From 7240250a157b80b7d0788f8414e4d11f549ab77c Mon Sep 17 00:00:00 2001 From: Punyapal Shah Date: Mon, 10 Jun 2024 21:47:05 +0530 Subject: [PATCH 10/13] feat(presets): add expectation for Laravel job handle method --- src/ArchPresets/Laravel.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index ac5b18c5..403ea4ae 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -48,5 +48,9 @@ final class Laravel extends AbstractPreset $this->expectations[] = expect('App\Mail') ->toHaveConstructor() ->toExtend('Illuminate\Mail\Mailable'); + + $this->expectations[] = expect('App\Jobs') + ->toHaveMethod('handle') + ->toHaveConstructor(); } } From 7144d6dfbdde2ef12a606cbe6a7da2cf8e51b961 Mon Sep 17 00:00:00 2001 From: Punyapal Shah Date: Mon, 10 Jun 2024 21:47:12 +0530 Subject: [PATCH 11/13] feat(presets): add expectation for Laravel notification class --- src/ArchPresets/Laravel.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index 403ea4ae..132600fe 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -52,5 +52,9 @@ final class Laravel extends AbstractPreset $this->expectations[] = expect('App\Jobs') ->toHaveMethod('handle') ->toHaveConstructor(); + + $this->expectations[] = expect('App\Notifications') + ->toHaveConstructor() + ->toExtend('Illuminate\Notifications\Notification'); } } From 40539ca72018880599f48bcee65914988f850d3d Mon Sep 17 00:00:00 2001 From: Punyapal Shah Date: Mon, 10 Jun 2024 21:48:25 +0530 Subject: [PATCH 12/13] feat(presets): update Laravel preset to include expectation for Laravel service provider suffix --- src/ArchPresets/Laravel.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index 132600fe..8be49d1d 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -56,5 +56,10 @@ final class Laravel extends AbstractPreset $this->expectations[] = expect('App\Notifications') ->toHaveConstructor() ->toExtend('Illuminate\Notifications\Notification'); + + $this->expectations[] = expect('App\Providers') + ->toHaveSuffix('ServiceProvider') + ->toExtend('Illuminate\Support\ServiceProvider') + ->not->toBeUsed(); } } From 1688888f1571f10c35ba33b0c73f5601b2f21dea Mon Sep 17 00:00:00 2001 From: Punyapal Shah Date: Mon, 10 Jun 2024 21:49:03 +0530 Subject: [PATCH 13/13] feat(presets): update Laravel preset to include expectation for Laravel service provider suffix --- src/ArchPresets/Laravel.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ArchPresets/Laravel.php b/src/ArchPresets/Laravel.php index 8be49d1d..59274f3f 100644 --- a/src/ArchPresets/Laravel.php +++ b/src/ArchPresets/Laravel.php @@ -53,6 +53,12 @@ final class Laravel extends AbstractPreset ->toHaveMethod('handle') ->toHaveConstructor(); + $this->expectations[] = expect('App\Listeners') + ->toHaveMethod('handle'); + + $this->expectations[] = expect('App\Events') + ->toHaveConstructor(); + $this->expectations[] = expect('App\Notifications') ->toHaveConstructor() ->toExtend('Illuminate\Notifications\Notification');