Browse Source
Composer update to lv 5.4.23
Composer update to lv 5.4.23
Added Api/ProductsController for ajax product search Extract authentication routes into routes/web.phppull/5/head
6 changed files with 94 additions and 29 deletions
-
24app/Http/Controllers/Api/ProductsController.php
-
30composer.lock
-
15routes/api.php
-
5routes/web.php
-
33tests/Feature/Cart/SearchProductsTest.php
-
16tests/TestCase.php
@ -0,0 +1,24 @@ |
|||
<?php |
|||
|
|||
namespace App\Http\Controllers\Api; |
|||
|
|||
use App\Http\Controllers\Controller; |
|||
use App\Product; |
|||
use Illuminate\Http\Request; |
|||
|
|||
class ProductsController extends Controller |
|||
{ |
|||
public function search(Request $request) |
|||
{ |
|||
$query = $request->get('query'); |
|||
$queriedProducts = []; |
|||
if ($query) { |
|||
$queriedProducts = Product::where(function ($q) use ($query) { |
|||
$q->where('name', 'like', '%'.$query.'%'); |
|||
})->with('unit')->get(); |
|||
} |
|||
|
|||
return response()->json($queriedProducts, 200); |
|||
// return view('cart.partials.product-search-result-box', $queriedProducts);
|
|||
} |
|||
} |
|||
@ -0,0 +1,33 @@ |
|||
<?php |
|||
|
|||
namespace Tests\Feature\Cart; |
|||
|
|||
use App\Product; |
|||
use Illuminate\Foundation\Testing\DatabaseMigrations; |
|||
use Tests\TestCase; |
|||
|
|||
class SearchProductsTest extends TestCase |
|||
{ |
|||
use DatabaseMigrations; |
|||
|
|||
/** @test */ |
|||
public function retrieving_product_list_by_ajax_post_request() |
|||
{ |
|||
$this->disableExceptionHandling(); |
|||
factory(Product::class)->create(['name' => 'Hemaviton']); |
|||
factory(Product::class)->create(['name' => 'Zee']); |
|||
$product1 = factory(Product::class)->create(['name' => 'Bisolvon 1']); |
|||
$product2 = factory(Product::class)->create(['name' => 'Bisolvon 2']); |
|||
|
|||
$user = $this->loginAsUser(); |
|||
|
|||
$response = $this->post(route('api.products.search'), ['query'=> 'Bis']); |
|||
|
|||
$response->assertSuccessful(); |
|||
|
|||
$response->assertJsonFragment([ |
|||
'name' => 'Bisolvon 1', |
|||
'name' => 'Bisolvon 2', |
|||
]); |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue