Browse Source

Add customer listing api endpoint

pull/33/head
Nafies Luthfi 7 years ago
parent
commit
a23bff9e5d
  1. 18
      app/Http/Controllers/Api/CustomerController.php
  2. 5
      routes/api.php
  3. 27
      tests/Feature/Api/FetchPartnerListTest.php

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

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

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

27
tests/Feature/Api/FetchPartnerListTest.php

@ -0,0 +1,27 @@
<?php
namespace Tests\Feature\Api;
use Tests\TestCase;
use App\Entities\Partners\Customer;
use Illuminate\Foundation\Testing\RefreshDatabase;
class FetchPartnerListTest extends TestCase
{
use RefreshDatabase;
/** @test */
public function user_can_fetch_customer_listing()
{
$user = $this->createUser('admin');
$customer = factory(Customer::class)->create();
$this->postJson(route('api.customers.index'), [], [
'Authorization' => 'Bearer '.$user->api_token,
]);
$this->seeJson([
$customer->id => $customer->name,
]);
}
}
Loading…
Cancel
Save