Browse Source

Add vendor listing api endpoint

pull/33/head
Nafies Luthfi 7 years ago
parent
commit
0e469abcf8
  1. 18
      app/Http/Controllers/Api/VendorController.php
  2. 5
      routes/api.php
  3. 16
      tests/Feature/Api/FetchPartnerListTest.php

18
app/Http/Controllers/Api/VendorController.php

@ -0,0 +1,18 @@
<?php
namespace App\Http\Controllers\Api;
use App\Entities\Partners\Vendor;
use App\Http\Controllers\Controller;
class VendorController extends Controller
{
public function index()
{
$vendors = Vendor::where('is_active', 1)
->orderBy('name')
->pluck('name', 'id');
return response()->json($vendors);
}
}

5
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');
});

16
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,
]);
}
}
Loading…
Cancel
Save