From c7f73c9013a6cf9b74470e2c5fd963bcc90ac160 Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Sat, 15 Dec 2018 22:19:01 +0800 Subject: [PATCH] Merge outlet geojson into index action --- app/Http/Controllers/Api/OutletController.php | 8 -------- resources/views/outlets/map.blade.php | 2 +- routes/api.php | 1 - tests/Feature/Api/OutletListingTest.php | 23 +++++++++++++++++++---- 4 files changed, 20 insertions(+), 14 deletions(-) diff --git a/app/Http/Controllers/Api/OutletController.php b/app/Http/Controllers/Api/OutletController.php index 9c3d04d..006f77c 100644 --- a/app/Http/Controllers/Api/OutletController.php +++ b/app/Http/Controllers/Api/OutletController.php @@ -5,7 +5,6 @@ namespace App\Http\Controllers\Api; use App\Outlet; use Illuminate\Http\Request; use App\Http\Controllers\Controller; -use App\Http\Resources\OutletCollection; use App\Http\Resources\Outlet as OutletResource; class OutletController extends Controller @@ -14,13 +13,6 @@ class OutletController extends Controller { $outlets = Outlet::all(); - return new OutletCollection($outlets); - } - - public function geoJSON(Request $request) - { - $outlets = Outlet::all(); - $geoJSONdata = $outlets->map(function ($outlet) { return [ 'type' => 'Feature', diff --git a/resources/views/outlets/map.blade.php b/resources/views/outlets/map.blade.php index 5eeb5c1..41a0a85 100644 --- a/resources/views/outlets/map.blade.php +++ b/resources/views/outlets/map.blade.php @@ -33,7 +33,7 @@ attribution: '© OpenStreetMap contributors' }).addTo(map); - axios.get('{{ route('api.outlets.geojson') }}') + axios.get('{{ route('api.outlets.index') }}') .then(function (response) { console.log(response.data); L.geoJSON(response.data, { diff --git a/routes/api.php b/routes/api.php index 5a25e86..ea4244f 100644 --- a/routes/api.php +++ b/routes/api.php @@ -22,5 +22,4 @@ Route::group(['as' => 'api.', 'namespace' => 'Api'], function () { * Outlets Endpoints */ Route::get('outlets', 'OutletController@index')->name('outlets.index'); - Route::get('outlets-geojson', 'OutletController@geoJSON')->name('outlets.geojson'); }); diff --git a/tests/Feature/Api/OutletListingTest.php b/tests/Feature/Api/OutletListingTest.php index 35f6a86..2a44046 100644 --- a/tests/Feature/Api/OutletListingTest.php +++ b/tests/Feature/Api/OutletListingTest.php @@ -17,10 +17,25 @@ class OutletListingTest extends TestCase $this->getJson(route('api.outlets.index')); - $this->seeJson([ - 'name' => $outlet->name, - 'address' => $outlet->address, - 'coordinate' => $outlet->coordinate, + $this->seeJsonSubset([ + 'type' => 'FeatureCollection', + 'features' => [ + [ + 'type' => 'Feature', + 'properties' => [ + 'name' => $outlet->name, + 'address' => $outlet->address, + 'coordinate' => $outlet->coordinate, + ], + 'geometry' => [ + 'type' => 'Point', + 'coordinates' => [ + $outlet->longitude, + $outlet->latitude, + ], + ], + ], + ], ]); } }