From 0e469abcf80235a14704e4c32dc16e11daf2a73a Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Sun, 13 Jan 2019 20:47:00 +0800 Subject: [PATCH] Add vendor listing api endpoint --- app/Http/Controllers/Api/VendorController.php | 18 ++++++++++++++++++ routes/api.php | 5 +++++ tests/Feature/Api/FetchPartnerListTest.php | 16 ++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 app/Http/Controllers/Api/VendorController.php diff --git a/app/Http/Controllers/Api/VendorController.php b/app/Http/Controllers/Api/VendorController.php new file mode 100644 index 0000000..dbf7ad2 --- /dev/null +++ b/app/Http/Controllers/Api/VendorController.php @@ -0,0 +1,18 @@ +orderBy('name') + ->pluck('name', 'id'); + + return response()->json($vendors); + } +} diff --git a/routes/api.php b/routes/api.php index eebaafe..0b188cf 100644 --- a/routes/api.php +++ b/routes/api.php @@ -15,4 +15,9 @@ Route::group(['prefix' => 'v1', 'namespace' => 'Api', 'as' => 'api.', 'middlewar * Customer Route */ Route::post('customers', 'CustomerController@index')->name('customers.index'); + + /* + * Vendor Route + */ + Route::post('vendors', 'VendorController@index')->name('vendors.index'); }); diff --git a/tests/Feature/Api/FetchPartnerListTest.php b/tests/Feature/Api/FetchPartnerListTest.php index 7fe0225..44a08cd 100644 --- a/tests/Feature/Api/FetchPartnerListTest.php +++ b/tests/Feature/Api/FetchPartnerListTest.php @@ -3,6 +3,7 @@ namespace Tests\Feature\Api; use Tests\TestCase; +use App\Entities\Partners\Vendor; use App\Entities\Partners\Customer; use Illuminate\Foundation\Testing\RefreshDatabase; @@ -24,4 +25,19 @@ class FetchPartnerListTest extends TestCase $customer->id => $customer->name, ]); } + + /** @test */ + public function user_can_fetch_vendor_listing() + { + $user = $this->createUser('admin'); + $vendor = factory(Vendor::class)->create(); + + $this->postJson(route('api.vendors.index'), [], [ + 'Authorization' => 'Bearer '.$user->api_token, + ]); + + $this->seeJson([ + $vendor->id => $vendor->name, + ]); + } }