/** * get the cart * * @return \Darryldecode\Cart\CartCollection * @static */ public static function getContent() { return \Darryldecode\Cart\Cart::getContent(); }
public function test_cart_multiple_instances() { // add 3 items on cart 1 $itemsForCart1 = array(array('id' => 456, 'name' => 'Sample Item 1', 'price' => 67.98999999999999, 'quantity' => 4, 'attributes' => array()), array('id' => 568, 'name' => 'Sample Item 2', 'price' => 69.25, 'quantity' => 4, 'attributes' => array()), array('id' => 856, 'name' => 'Sample Item 3', 'price' => 50.25, 'quantity' => 4, 'attributes' => array())); $this->cart1->add($itemsForCart1); $this->assertFalse($this->cart1->isEmpty(), 'Cart should not be empty'); $this->assertCount(3, $this->cart1->getContent()->toArray(), 'Cart should have 3 items'); $this->assertEquals('shopping', $this->cart1->getInstanceName(), 'Cart 1 should have instance name of "shopping"'); // add 1 item on cart 2 $itemsForCart2 = array(array('id' => 456, 'name' => 'Sample Item 1', 'price' => 67.98999999999999, 'quantity' => 4, 'attributes' => array())); $this->cart2->add($itemsForCart2); $this->assertFalse($this->cart2->isEmpty(), 'Cart should not be empty'); $this->assertCount(1, $this->cart2->getContent()->toArray(), 'Cart should have 3 items'); $this->assertEquals('wishlist', $this->cart2->getInstanceName(), 'Cart 2 should have instance name of "wishlist"'); }
public function test_it_removes_an_item_on_cart_by_item_id() { $items = array(array('id' => 456, 'name' => 'Sample Item 1', 'price' => 67.98999999999999, 'quantity' => 4, 'attributes' => array()), array('id' => 568, 'name' => 'Sample Item 2', 'price' => 69.25, 'quantity' => 4, 'attributes' => array()), array('id' => 856, 'name' => 'Sample Item 3', 'price' => 50.25, 'quantity' => 4, 'attributes' => array())); $this->cart->add($items); $removeItemId = 456; $this->cart->remove($removeItemId); $this->assertCount(2, $this->cart->getContent()->toArray(), 'Cart must have 2 items left'); $this->assertFalse($this->cart->getContent()->has($removeItemId), 'Cart must have not contain the remove item anymore'); }