public function test_cart_get_total_quantity()
 {
     $items = array(array('id' => 456, 'name' => 'Sample Item 1', 'price' => 67.98999999999999, 'quantity' => 3, 'attributes' => array()), array('id' => 568, 'name' => 'Sample Item 2', 'price' => 69.25, 'quantity' => 1, 'attributes' => array()));
     $this->cart->add($items);
     $this->assertFalse($this->cart->isEmpty(), 'prove first cart is not empty');
     // now let's count the cart's quantity
     $this->assertInternalType("int", $this->cart->getTotalQuantity(), 'Return type should be INT');
     $this->assertEquals(4, $this->cart->getTotalQuantity(), 'Cart\'s quantity should be 4.');
 }
 public function test_event_cart_clear()
 {
     $events = m::mock('Illuminate\\Events\\Dispatcher');
     $events->shouldReceive('fire')->once()->with(self::CART_INSTANCE_NAME . '.created', m::type('array'));
     $events->shouldReceive('fire')->times(3)->with(self::CART_INSTANCE_NAME . '.adding', m::type('array'));
     $events->shouldReceive('fire')->times(3)->with(self::CART_INSTANCE_NAME . '.added', m::type('array'));
     $events->shouldReceive('fire')->once()->with(self::CART_INSTANCE_NAME . '.clearing', m::type('array'));
     $events->shouldReceive('fire')->once()->with(self::CART_INSTANCE_NAME . '.cleared', m::type('array'));
     $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()));
     $cart = new Cart(new SessionMock(), $events, self::CART_INSTANCE_NAME, 'SAMPLESESSIONKEY');
     $cart->add($items);
     $cart->clear();
 }
 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"');
 }
 protected function fillCart()
 {
     $items = array(array('id' => 456, 'name' => 'Sample Item 1', 'price' => 67.98999999999999, 'quantity' => 1, 'attributes' => array()), array('id' => 568, 'name' => 'Sample Item 2', 'price' => 69.25, 'quantity' => 1, 'attributes' => array()), array('id' => 856, 'name' => 'Sample Item 3', 'price' => 50.25, 'quantity' => 1, 'attributes' => array()));
     $this->cart->add($items);
 }
Example #5
0
 /**
  * check if cart is empty
  *
  * @return bool 
  * @static 
  */
 public static function isEmpty()
 {
     return \Darryldecode\Cart\Cart::isEmpty();
 }
 public function test_clearing_cart()
 {
     $items = array(array('id' => 456, 'name' => 'Sample Item 1', 'price' => 67.98999999999999, 'quantity' => 3, 'attributes' => array()), array('id' => 568, 'name' => 'Sample Item 2', 'price' => 69.25, 'quantity' => 1, 'attributes' => array()));
     $this->cart->add($items);
     $this->assertFalse($this->cart->isEmpty());
 }
 public function test_item_get_sum_price_using_array_style()
 {
     $this->cart->add(455, 'Sample Item', 100.99, 2, array());
     $item = $this->cart->get(455);
     $this->assertEquals(201.98, $item->getPriceSum(), 'Item summed price should be 201.98');
 }