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_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_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(); }
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); }
/** * add item to the cart, it can be an array or multi dimensional array * * @param string|array $id * @param string $name * @param float $price * @param int $quantity * @param array $attributes * @param \Darryldecode\Cart\CartCondition|array $conditions * @return $this * @throws InvalidItemException * @static */ public static function add($id, $name = null, $price = null, $quantity = null, $attributes = array(), $conditions = array()) { return \Darryldecode\Cart\Cart::add($id, $name, $price, $quantity, $attributes, $conditions); }
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'); }