Browse Source

Fix tests

shalvah 3 năm trước cách đây
mục cha
commit
4b59fb99a7

+ 5 - 1
src/Extracting/Strategies/UrlParameters/GetFromLaravelAPI.php

@@ -29,7 +29,11 @@ class GetFromLaravelAPI extends Strategy
             $name = rtrim($match, '?');
 
             // In case of /users/{user:id}, make the param {user}, but
-            $binding = $endpointData->route->bindingFieldFor($name);
+            $binding = null;
+            // Was added in Laravel 7.x
+            if (method_exists($endpointData->route, 'bindingFieldFor')) {
+                $binding = $endpointData->route->bindingFieldFor($name);
+            }
             $parameters[$name] = [
                 'name' => $name,
                 'description' => $this->inferUrlParamDescription($endpointData->uri, $binding ?: $name, $binding ? $name : null),

+ 6 - 0
tests/Strategies/UrlParameters/GetFromLaravelAPITest.php

@@ -103,6 +103,12 @@ class GetFromLaravelAPITest extends BaseLaravelTest
     /** @test */
     public function can_infer_data_from_field_bindings()
     {
+        if (version_compare($this->app->version(), '7.0.0', '<')) {
+            $this->markTestSkipped("Laravel < 7.x doesn't support field binding syntax.");
+
+            return;
+        }
+
         $strategy = new GetFromLaravelAPI(new DocumentationConfig([]));
 
         $endpoint = new class extends ExtractedEndpointData {