Browse Source

Remove functionality that converts URL paramters to query parameters

Guy Marriott 5 years ago
parent
commit
6416762cae

+ 3 - 3
src/Writing/PostmanCollectionWriter.php

@@ -117,8 +117,8 @@ class PostmanCollectionWriter
     protected function makeUrlData($route)
     {
         // URL Parameters are collected by the `UrlParameters` strategies, but only make sense if they're in the route
-        // definition. Filter out any URL parameters that don't appear in the URL, and assume they're query params.
-        [$urlParams, $queryParams] = collect($route['urlParameters'])->partition(function ($_, $key) use ($route) {
+        // definition. Filter out any URL parameters that don't appear in the URL.
+        $urlParams = collect($route['urlParameters'])->filter(function ($_, $key) use ($route) {
             return Str::contains($route['uri'], '{'.$key.'}');
         });
 
@@ -130,7 +130,7 @@ class PostmanCollectionWriter
             'path' => preg_replace_callback('/\/{(\w+)\??}(?=\/|$)/', function ($matches) {
                 return '/:'.$matches[1];
             }, $route['uri']),
-            'query' => $queryParams->union($route['queryParameters'])->map(function ($parameter, $key) {
+            'query' => collect($route['queryParameters'])->map(function ($parameter, $key) {
                 return [
                     'key' => $key,
                     'value' => urlencode($parameter['value']),

+ 0 - 6
tests/Fixtures/collection.json

@@ -344,12 +344,6 @@
                             "host": "localhost",
                             "path": "api\/echoesUrlParameters\/{param}-{param2}\/:param3",
                             "query": [
-                                {
-                                    "key": "param4",
-                                    "value": "",
-                                    "description": "",
-                                    "disabled": true
-                                },
                                 {
                                     "key": "something",
                                     "value": "consequatur",

+ 3 - 9
tests/Unit/PostmanCollectionWriterTest.php

@@ -179,7 +179,7 @@ class PostmanCollectionWriterTest extends TestCase
         ], $variableData[0]);
     }
 
-    public function testUrlParametersAreResolvedAsQueryParametersIfMissingFromPath()
+    public function testUrlParametersAreNotIncludedIfMissingFromPath()
     {
         $fakeRoute = $this->createMockRouteData('fake/path');
 
@@ -195,19 +195,13 @@ class PostmanCollectionWriterTest extends TestCase
 
         $variableData = data_get($collection, 'item.0.item.0.request.url.query');
 
-        $this->assertCount(1, $variableData);
-        $this->assertSame([
-            'key' => 'limit',
-            'value' => '5',
-            'description' => 'A fake limit for my fake endpoint',
-            'disabled' => false,
-        ], $variableData[0]);
+        $this->assertCount(0, $variableData);
     }
 
     public function testQueryParametersAreDisabledWithNoValueWhenNotRequired()
     {
         $fakeRoute = $this->createMockRouteData('fake/path');
-        $fakeRoute['urlParameters'] = [
+        $fakeRoute['queryParameters'] = [
             'required' => [
                 'description' => 'A required param with a null value',
                 'required' => true,