|
|
|
@ -71,7 +71,7 @@ class CartControllerTest extends TestCase |
|
|
|
$this->assertEquals(2, $cashDraft->getTotalQty()); |
|
|
|
$this->assertEquals(2200, $cashDraft->getTotal()); |
|
|
|
|
|
|
|
// Add Product as CashDraft item
|
|
|
|
// Remove Item Product from CashDraft
|
|
|
|
$response = $this->delete(route('cart.remove-draft-item', [$cashDraft->draftKey]), [ |
|
|
|
'item_index' => 0 |
|
|
|
]); |
|
|
|
@ -93,7 +93,7 @@ class CartControllerTest extends TestCase |
|
|
|
$this->assertFalse($cart->isEmpty()); |
|
|
|
$this->assertEquals(1, $cart->count()); |
|
|
|
|
|
|
|
// Add Product as CashDraft item
|
|
|
|
// Remove a transaction draft
|
|
|
|
$response = $this->delete(route('cart.remove'), [ |
|
|
|
'draft_key' => $cashDraft->draftKey |
|
|
|
]); |
|
|
|
@ -114,9 +114,61 @@ class CartControllerTest extends TestCase |
|
|
|
$this->assertFalse($cart->isEmpty()); |
|
|
|
$this->assertEquals(2, $cart->count()); |
|
|
|
|
|
|
|
// Add Product as CashDraft item
|
|
|
|
// Destroy cart (empty out cart)
|
|
|
|
$response = $this->delete(route('cart.destroy')); |
|
|
|
|
|
|
|
$this->assertTrue($cart->isEmpty()); |
|
|
|
} |
|
|
|
|
|
|
|
/** @test */ |
|
|
|
public function user_can_empty_out_transaction_draft() |
|
|
|
{ |
|
|
|
$this->loginAsUser(); |
|
|
|
|
|
|
|
$cart = new CartCollection; |
|
|
|
$cashDraft = new CashDraft; |
|
|
|
$product = factory(Product::class)->create(['cash_price' => 1100], ['credit_price' => 1000]); |
|
|
|
$item = new Item($product, 2); |
|
|
|
|
|
|
|
$cashDraft->addItem($item); |
|
|
|
$cart->add($cashDraft); |
|
|
|
|
|
|
|
$this->assertEquals(2, $cashDraft->getTotalQty()); |
|
|
|
$this->assertEquals(2200, $cashDraft->getTotal()); |
|
|
|
|
|
|
|
// Empty out a transaction draft
|
|
|
|
$response = $this->delete(route('cart.empty', $cashDraft->draftKey)); |
|
|
|
|
|
|
|
$this->assertEquals(0, $cashDraft->getTotalQty()); |
|
|
|
$this->assertCount(0, $cashDraft->items()); |
|
|
|
$this->assertEquals(0, $cashDraft->getTotal()); |
|
|
|
} |
|
|
|
|
|
|
|
/** @test */ |
|
|
|
public function user_can_update_draft_item_qty_and_item_discount_in_a_draft() |
|
|
|
{ |
|
|
|
$this->loginAsUser(); |
|
|
|
|
|
|
|
$cart = new CartCollection; |
|
|
|
$cashDraft = new CashDraft; |
|
|
|
$product = factory(Product::class)->create(['cash_price' => 1100], ['credit_price' => 1000]); |
|
|
|
$item = new Item($product, 2); |
|
|
|
|
|
|
|
$cashDraft->addItem($item); |
|
|
|
$cart->add($cashDraft); |
|
|
|
|
|
|
|
$this->assertEquals(2, $cashDraft->getTotalQty()); |
|
|
|
$this->assertEquals(2200, $cashDraft->getTotal()); |
|
|
|
|
|
|
|
// Update draft item on a transaction draft
|
|
|
|
$response = $this->patch(route('cart.update-draft-item', [$cashDraft->draftKey]), [ |
|
|
|
'item_key' => 0, |
|
|
|
'qty' => 3, |
|
|
|
'item_discount' => 100, |
|
|
|
]); |
|
|
|
|
|
|
|
$this->assertEquals(3, $cashDraft->getTotalQty()); |
|
|
|
$this->assertEquals(3000, $cashDraft->getTotal()); |
|
|
|
$this->assertEquals(300, $cashDraft->getDiscountTotal()); |
|
|
|
} |
|
|
|
} |