From a23bff9e5d35bffb9c7e8ff7aeb9f15acc4e947d Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Sun, 13 Jan 2019 20:45:09 +0800 Subject: [PATCH] Add customer listing api endpoint --- app/Http/Controllers/Api/CustomerController.php | 18 +++++++++++++++++ routes/api.php | 5 +++++ tests/Feature/Api/FetchPartnerListTest.php | 27 +++++++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 app/Http/Controllers/Api/CustomerController.php create mode 100644 tests/Feature/Api/FetchPartnerListTest.php diff --git a/app/Http/Controllers/Api/CustomerController.php b/app/Http/Controllers/Api/CustomerController.php new file mode 100644 index 0000000..48effd7 --- /dev/null +++ b/app/Http/Controllers/Api/CustomerController.php @@ -0,0 +1,18 @@ +orderBy('name') + ->pluck('name', 'id'); + + return response()->json($customers); + } +} diff --git a/routes/api.php b/routes/api.php index df7f5ca..eebaafe 100644 --- a/routes/api.php +++ b/routes/api.php @@ -10,4 +10,9 @@ Route::group(['prefix' => 'v1', 'namespace' => 'Api', 'as' => 'api.', 'middlewar Route::patch('events/update', ['as' => 'events.update', 'uses' => 'EventsController@update']); Route::patch('events/reschedule', ['as' => 'events.reschedule', 'uses' => 'EventsController@reschedule']); Route::delete('events/delete', ['as' => 'events.destroy', 'uses' => 'EventsController@destroy']); + + /* + * Customer Route + */ + Route::post('customers', 'CustomerController@index')->name('customers.index'); }); diff --git a/tests/Feature/Api/FetchPartnerListTest.php b/tests/Feature/Api/FetchPartnerListTest.php new file mode 100644 index 0000000..7fe0225 --- /dev/null +++ b/tests/Feature/Api/FetchPartnerListTest.php @@ -0,0 +1,27 @@ +createUser('admin'); + $customer = factory(Customer::class)->create(); + + $this->postJson(route('api.customers.index'), [], [ + 'Authorization' => 'Bearer '.$user->api_token, + ]); + + $this->seeJson([ + $customer->id => $customer->name, + ]); + } +}