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); }
/** * 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'); }