Browse Source

Remove conditional around invokable rule

Shalvah 2 months ago
parent
commit
680d6ba73d
1 changed files with 14 additions and 19 deletions
  1. 14 19
      tests/Unit/ValidationRuleParsingTest.php

+ 14 - 19
tests/Unit/ValidationRuleParsingTest.php

@@ -13,7 +13,6 @@ use Knuckles\Scribe\Tests\BaseLaravelTest;
 use Knuckles\Scribe\Tools\DocumentationConfig;
 use Knuckles\Scribe\Tests\Fixtures;
 
-$invokableRulesSupported = interface_exists(\Illuminate\Contracts\Validation\InvokableRule::class);
 $laravel10Rules = version_compare(Application::VERSION, '10.0', '>=');
 
 class ValidationRuleParsingTest extends BaseLaravelTest
@@ -531,10 +530,7 @@ class ValidationRuleParsingTest extends BaseLaravelTest
             'param1' => ['bail', 'required', new DummyWithDocsValidationRule],
         ];
 
-        global $invokableRulesSupported;
-        if ($invokableRulesSupported) {
-            $ruleset['param2'] = [new DummyInvokableValidationRule];
-        }
+        $ruleset['param2'] = [new DummyInvokableValidationRule];
         global $laravel10Rules;
         if ($laravel10Rules) {
             $ruleset['param3'] = [new DummyL10ValidationRule];
@@ -543,7 +539,7 @@ class ValidationRuleParsingTest extends BaseLaravelTest
         $results = $this->strategy->parse($ruleset);
         $this->assertEquals(true, $results['param1']['required']);
         $this->assertEquals('This is a dummy test rule.', $results['param1']['description']);
-        if (isset($results['param2'])) $this->assertEquals('This rule is invokable.', $results['param2']['description']);
+        $this->assertEquals('This rule is invokable.', $results['param2']['description']);
        if (isset($results['param3'])) $this->assertEquals('This is a custom rule.', $results['param3']['description']);
     }
 
@@ -718,23 +714,22 @@ class DummyWithDocsValidationRule implements \Illuminate\Contracts\Validation\Ru
     }
 }
 
-if ($invokableRulesSupported) {
-    class DummyInvokableValidationRule implements \Illuminate\Contracts\Validation\InvokableRule
+// Laravel 9 introduced InvokableRule
+class DummyInvokableValidationRule implements \Illuminate\Contracts\Validation\InvokableRule
+{
+    public function __invoke($attribute, $value, $fail)
     {
-        public function __invoke($attribute, $value, $fail)
-        {
-            if (strtoupper($value) !== $value) {
-                $fail(':attribute must be uppercase.');
-            }
+        if (strtoupper($value) !== $value) {
+            $fail(':attribute must be uppercase.');
         }
+    }
 
-        public function docs()
-        {
+    public function docs()
+    {
 
-            return [
-                'description' => 'This rule is invokable.',
-            ];
-        }
+        return [
+            'description' => 'This rule is invokable.',
+        ];
     }
 }