/** * @magentoDbIsolation enabled * @magentoAppIsolation enabled * @magentoDataFixture Magento/Customer/_files/customer.php * @magentoDataFixture Magento/Customer/_files/quote.php */ public function testUpdateAction() { $items = $this->quoteItemCollectionFactory->create(); $itemId = $items->getAllIds()[0]; $this->getRequest()->setParam('customer_id', 1); $this->getRequest()->setParam('website_id', 1); $this->getRequest()->setParam('id', $itemId); $this->dispatch('backend/customer/cart_product_composite_cart/update'); $this->assertRedirect($this->stringContains('catalog/product/showUpdateResult')); }
/** * Add cart info to collection * * @return $this */ public function addCartInfo() { foreach ($this->getItems() as $item) { $quote = $this->_quoteFactory->create()->loadByCustomer($item->getId()); if ($quote instanceof \Magento\Sales\Model\Quote) { $totals = $quote->getTotals(); $item->setTotal($totals['subtotal']->getValue()); $quoteItems = $this->_quoteItemFactory->create()->setQuoteFilter($quote->getId()); $quoteItems->load(); $item->setItems($quoteItems->count()); } else { $item->remove(); } } return $this; }
/** * Retrieve quote items collection * * @param bool $useCache * @return \Magento\Eav\Model\Entity\Collection\AbstractCollection */ public function getItemsCollection($useCache = true) { if ($this->hasItemsCollection()) { return $this->getData('items_collection'); } if (null === $this->_items) { $this->_items = $this->_quoteItemCollectionFactory->create(); $this->_items->setQuote($this); } return $this->_items; }