diff --git a/app/Http/Controllers/Api/ProductsController.php b/app/Http/Controllers/Api/ProductsController.php
index dd69ce7..3ef84df 100644
--- a/app/Http/Controllers/Api/ProductsController.php
+++ b/app/Http/Controllers/Api/ProductsController.php
@@ -10,7 +10,10 @@ class ProductsController extends Controller
{
public function search(Request $request)
{
- $query = $request->get('query');
+ $query = $request->get('query');
+ $draftType = $request->get('draftType');
+ $draftKey = $request->get('draftKey');
+ $formToken = $request->get('formToken');
$queriedProducts = [];
if ($query) {
$queriedProducts = Product::where(function ($q) use ($query) {
@@ -18,7 +21,6 @@ class ProductsController extends Controller
})->with('unit')->get();
}
- return response()->json($queriedProducts, 200);
- // return view('cart.partials.product-search-result-box', $queriedProducts);
+ return view('cart.partials.product-search-result-box', compact('queriedProducts','draftType','draftKey','formToken'));
}
}
diff --git a/app/Http/Controllers/CartController.php b/app/Http/Controllers/CartController.php
index 8a78d78..8a317ae 100644
--- a/app/Http/Controllers/CartController.php
+++ b/app/Http/Controllers/CartController.php
@@ -62,6 +62,9 @@ class CartController extends Controller
$item = new Item($product, $request->qty);
$this->cart->addItemToDraft($draftKey, $item);
+ if ($request->has('query'));
+ return redirect()->route('cart.show', [$draftKey, 'query' => $request->get('query')]);
+
return back();
}
diff --git a/resources/views/cart/index.blade.php b/resources/views/cart/index.blade.php
index c4d9768..808c222 100644
--- a/resources/views/cart/index.blade.php
+++ b/resources/views/cart/index.blade.php
@@ -25,4 +25,37 @@
@endif
@endif
+@endsection
+
+@section('script')
+
@endsection
\ No newline at end of file
diff --git a/resources/views/cart/partials/product-search-box.blade.php b/resources/views/cart/partials/product-search-box.blade.php
index 9d6c39e..678e75c 100644
--- a/resources/views/cart/partials/product-search-box.blade.php
+++ b/resources/views/cart/partials/product-search-box.blade.php
@@ -7,5 +7,10 @@
{{ link_to_route('cart.show', 'Bersihkan Pencarian', [$draft->draftKey], ['class' => 'btn btn-sm']) }}
- @includeWhen ($queriedProducts, 'cart.partials.product-search-result-box')
+
+ @includeWhen ($queriedProducts, 'cart.partials.product-search-result-box', [
+ 'draftType' => $draft->type,
+ 'draftKey' => $draft->draftKey
+ ])
+
\ No newline at end of file
diff --git a/resources/views/cart/partials/product-search-result-box.blade.php b/resources/views/cart/partials/product-search-result-box.blade.php
index 6041773..c843c9e 100644
--- a/resources/views/cart/partials/product-search-result-box.blade.php
+++ b/resources/views/cart/partials/product-search-result-box.blade.php
@@ -4,7 +4,7 @@
| {{ trans('product.name') }} |
{{ trans('product.unit') }} |
- {{ trans('product.price') }} ({{ $draft->type }}) |
+ {{ trans('product.price') }} ({{ $draftType }}) |
{{ trans('app.action') }} |
@@ -13,10 +13,11 @@
| {{ $product->name }} |
{{ $product->unit->name }} |
- {{ formatRp($product->getPrice($draft->type)) }} |
+ {{ formatRp($product->getPrice($draftType)) }} |
-
diff --git a/tests/Feature/Cart/SearchProductsTest.php b/tests/Feature/Cart/SearchProductsTest.php
index 3203b55..ac27374 100644
--- a/tests/Feature/Cart/SearchProductsTest.php
+++ b/tests/Feature/Cart/SearchProductsTest.php
@@ -2,6 +2,8 @@
namespace Tests\Feature\Cart;
+use App\Cart\CartCollection;
+use App\Cart\CreditDraft;
use App\Product;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Tests\TestCase;
@@ -16,18 +18,25 @@ class SearchProductsTest extends TestCase
$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']);
+ $product1 = factory(Product::class)->create(['name' => 'Bisolvon 1', 'cash_price' => 2000, 'credit_price' => 2100]);
+ $product2 = factory(Product::class)->create(['name' => 'Bisolvon 2', 'cash_price' => 3000, 'credit_price' => 3200]);
+
+ $cart = new CartCollection();
+ $draft = new CreditDraft();
+ $cart->add($draft);
$user = $this->loginAsUser();
- $response = $this->post(route('api.products.search'), ['query'=> 'Bis']);
+ $response = $this->post(route('api.products.search'), [
+ 'query'=> 'Bis',
+ 'draftType'=> $draft->type,
+ 'draftKey'=> $draft->draftKey,
+ ]);
$response->assertSuccessful();
-
- $response->assertJsonFragment([
- 'name' => 'Bisolvon 1',
- 'name' => 'Bisolvon 2',
- ]);
+ $response->assertSee($product1->name);
+ $response->assertSee(route('cart.add-draft-item', [$draft->draftKey, $product1->id]));
+ $response->assertSee($product2->name);
+ $response->assertSee(route('cart.add-draft-item', [$draft->draftKey, $product2->id]));
}
}
|