function testRemoveFromCart()
 {
     /* Retrieve the product to compare from fixture */
     $product = $this->objFromFixture('Product', 'mp3player');
     $anotherproduct = $this->objFromFixture('Product', 'tshirt');
     /* add items via url */
     $this->get(ShoppingCart::set_quantity_item_link($product->ID, $product->class) . "?quantity=5");
     $this->get(ShoppingCart::add_item_link($anotherproduct->ID, $product->class));
     /* remove items via url */
     $this->get(ShoppingCart::remove_item_link($product->ID, $product->class));
     $this->get(ShoppingCart::remove_item_link($anotherproduct->ID, $product->class));
     $items = ShoppingCart::get_items();
     $this->assertEquals($items->Count(), 1, 'There is 1 item in the cart');
     $this->assertEquals($items->First()->Quantity, 4, 'We have 4 mp3 players in the cart.');
     ShoppingCart::clear();
     //test clearing cart
     $this->assertEquals(ShoppingCart::get_items(), null, 'Cart is clear');
     //items is a databoject set, and will therefore be null when cart is empty.
     //TODO: remove item not in cart - insanity check
 }
 function testClearEntireCart()
 {
     /* Invoke the existing test for adding items to the cart */
     $this->testAddItemsToCart();
     /* Get the items from the cart in session */
     $items = ShoppingCart::get_items();
     /* We have 1 item in the cart */
     $this->assertEquals(count($items), 1, 'There is 1 item in the cart');
     /* Clear the shopping cart */
     ShoppingCart::clear();
     /* Take a peek at what items are in the cart */
     $items = ShoppingCart::get_items();
     /* We have nothing in the cart */
     $this->assertEquals(count($items), 0, 'There are no items in the cart');
     /* Clear the shopping cart */
     ShoppingCart::clear();
 }
Esempio n. 3
0
 /**
  * Returns the items of the order, if it hasn't been saved yet
  * it returns the items from session, if it has, it returns them 
  * from the DB entry.
  */
 function Items()
 {
     if ($this->ID) {
         return $this->itemsFromDatabase();
     } elseif ($items = ShoppingCart::get_items()) {
         return $this->createItems($items);
     }
 }