public function testGetAddToCartParams() { $url = 'result url'; $storeId = 1; $wishlistItemId = 1; $this->wishlistItem->expects($this->once())->method('getProduct')->willReturn($this->product); $this->wishlistItem->expects($this->once())->method('getWishlistItemId')->willReturn($wishlistItemId); $this->product->expects($this->once())->method('isVisibleInSiteVisibility')->willReturn(true); $this->product->expects($this->once())->method('getStoreId')->willReturn($storeId); $this->store->expects($this->once())->method('getUrl')->with('wishlist/index/cart')->willReturn($url); $this->postDataHelper->expects($this->once())->method('getPostData')->with($url, ['item' => $wishlistItemId])->willReturn($url); $this->assertEquals($url, $this->model->getAddToCartParams($this->wishlistItem)); }
/** * Get wishlist items * * @return array */ protected function getItems() { $this->view->loadLayout(); $collection = $this->wishlistHelper->getWishlistItemCollection(); $collection->clear()->setPageSize(self::SIDEBAR_ITEMS_NUMBER)->setInStockFilter(true)->setOrder('added_at'); $items = []; foreach ($collection as $wishlistItem) { /** @var \Magento\Catalog\Model\Product $product */ $product = $wishlistItem->getProduct(); $this->productImageView->init($product, 'wishlist_sidebar_block', 'Magento_Catalog'); $items[] = ['image' => ['src' => $this->productImageView->getUrl(), 'alt' => $this->productImageView->getLabel(), 'width' => $this->productImageView->getWidth(), 'height' => $this->productImageView->getHeight()], 'product_url' => $this->wishlistHelper->getProductUrl($wishlistItem), 'product_name' => $product->getName(), 'product_price' => $this->block->getProductPriceHtml($product, \Magento\Catalog\Pricing\Price\ConfiguredPriceInterface::CONFIGURED_PRICE_CODE, \Magento\Framework\Pricing\Render::ZONE_ITEM_LIST, ['item' => $wishlistItem]), 'product_is_saleable_and_visible' => $product->isSaleable() && $product->isVisibleInSiteVisibility(), 'product_has_required_options' => $product->getTypeInstance()->hasRequiredOptions($product), 'add_to_cart_params' => $this->wishlistHelper->getAddToCartParams($wishlistItem), 'delete_item_params' => $this->wishlistHelper->getRemoveParams($wishlistItem)]; } return $items; }
public function testGetAddToCartParamsWithReferer() { $url = 'result url'; $storeId = 1; $wishlistItemId = 1; $referer = 'referer'; $refererEncoded = 'referer_encoded'; $this->wishlistItem->expects($this->once())->method('getProduct')->willReturn($this->product); $this->wishlistItem->expects($this->once())->method('getWishlistItemId')->willReturn($wishlistItemId); $this->product->expects($this->once())->method('isVisibleInSiteVisibility')->willReturn(true); $this->product->expects($this->once())->method('getStoreId')->willReturn($storeId); $this->requestMock->expects($this->once())->method('getServer')->with('HTTP_REFERER')->willReturn($referer); $this->urlEncoderMock->expects($this->once())->method('encode')->with($referer)->willReturn($refererEncoded); $this->store->expects($this->once())->method('getUrl')->with('wishlist/index/cart')->willReturn($url); $this->postDataHelper->expects($this->once())->method('getPostData')->with($url, ['item' => $wishlistItemId, ActionInterface::PARAM_NAME_URL_ENCODED => $refererEncoded])->willReturn($url); $this->assertEquals($url, $this->model->getAddToCartParams($this->wishlistItem, true)); }
/** * Retrieve wishlist item data * * @param \Magento\Wishlist\Model\Item $wishlistItem * @return array */ protected function getItemData(\Magento\Wishlist\Model\Item $wishlistItem) { $product = $wishlistItem->getProduct(); return ['image' => $this->getImageData($product), 'product_url' => $this->wishlistHelper->getProductUrl($wishlistItem), 'product_name' => $product->getName(), 'product_price' => $this->block->getProductPriceHtml($product, \Magento\Catalog\Pricing\Price\ConfiguredPriceInterface::CONFIGURED_PRICE_CODE, \Magento\Framework\Pricing\Render::ZONE_ITEM_LIST, ['item' => $wishlistItem]), 'product_is_saleable_and_visible' => $product->isSaleable() && $product->isVisibleInSiteVisibility(), 'product_has_required_options' => $product->getTypeInstance()->hasRequiredOptions($product), 'add_to_cart_params' => $this->wishlistHelper->getAddToCartParams($wishlistItem, true), 'delete_item_params' => $this->wishlistHelper->getRemoveParams($wishlistItem, true)]; }