/** * Returns a model basket object that can be used for * testing. * * @return Model_Basket_Item A model basket object to be used for testing */ private function get_basket_item() { $basket_item = new Model_Basket_Item(); $basket_item->set_item(new RPA_Test_Basket_Item()); $basket_item->quantity = 1; return $basket_item; }
/** * Adds an item to the shopping basket * * @param Model_Basket_Item $item The item to be added */ public function add_item(Interface_Basket_Item $item, $quantity = 1) { if (!$this->loaded()) { $this->save(); } // check if the item is already in the basket $basket_item = $this->get_basket_item($item->get_id()); if ($basket_item instanceof Model_Basket_Item) { // item is already in the basket so just increase the quantity $basket_item->quantity += $quantity; } else { $basket_item = new Model_Basket_Item(); $basket_item->basket_id = $this->id; $basket_item->set_item($item); $basket_item->quantity = $quantity; } $basket_item->save(); }