25 private $collectionFactoryMock;
28 private $collectionProcessorMock;
31 private $productRenderCollectorCompositeMock;
34 private $productRenderSearchResultsFactoryMock;
37 private $productRenderFactoryMock;
43 private $productVisibility;
46 private $collectionModifier;
50 $this->collectionFactoryMock = $this
52 ->setMethods([
'create'])
53 ->disableOriginalConstructor()
55 $this->collectionProcessorMock = $this
57 ->disableOriginalConstructor()
58 ->getMockForAbstractClass();
59 $this->productRenderCollectorCompositeMock = $this
61 ->disableOriginalConstructor()
63 $this->productRenderSearchResultsFactoryMock = $this
64 ->getMockBuilder(\
Magento\Catalog\Model\ProductRenderSearchResultsFactory::class)
65 ->setMethods([
'create'])
66 ->disableOriginalConstructor()
68 $this->productRenderFactoryMock = $this
69 ->getMockBuilder(\
Magento\Catalog\Model\ProductRenderFactory::class)
70 ->disableOriginalConstructor()
71 ->setMethods([
'create'])
73 $this->configMock = $this->getMockBuilder(\
Magento\Catalog\Model\Config::class)
74 ->disableOriginalConstructor()
76 $this->configMock->expects($this->once())
77 ->method(
'getProductAttributes')
79 $this->productVisibility = $this->getMockBuilder(Visibility::class)
80 ->disableOriginalConstructor()
82 $this->collectionModifier = $this->getMockBuilder(CollectionModifier::class)
83 ->disableOriginalConstructor()
86 $this->model = new \Magento\Catalog\Model\ProductRenderList(
87 $this->collectionFactoryMock,
88 $this->collectionProcessorMock,
89 $this->productRenderCollectorCompositeMock,
90 $this->productRenderSearchResultsFactoryMock,
91 $this->productRenderFactoryMock,
93 $this->collectionModifier,
101 $currencyCode =
'USD';
103 $product = $this->getMockBuilder(ProductInterface::class)
104 ->disableOriginalConstructor()
107 $productRender = $this->getMockBuilder(ProductRenderInterface::class)
108 ->disableOriginalConstructor()
110 $searchResult = $this->getMockBuilder(SearchResultInterface::class)
111 ->disableOriginalConstructor()
114 ->disableOriginalConstructor()
117 ->disableOriginalConstructor()
119 $this->collectionFactoryMock->expects($this->once())
123 ->method(
'addAttributeToSelect')
124 ->with([
'msrp_price'])
127 ->method(
'setStoreId')
131 ->method(
'addMinimalPrice')
134 ->method(
'addFinalPrice')
137 ->method(
'addTaxPercents')
139 $this->collectionProcessorMock->expects($this->once())
143 ->method(
'getIterator')
145 $this->collectionModifier->expects($this->once())
148 $this->collectionProcessorMock->expects($this->once())
154 $this->productRenderFactoryMock->expects($this->once())
156 ->willReturn($productRender);
157 $productRender->expects($this->once())
158 ->method(
'setStoreId')
160 $productRender->expects($this->once())
161 ->method(
'setCurrencyCode')
162 ->with($currencyCode);
163 $this->productRenderCollectorCompositeMock->expects($this->once())
166 $this->productRenderSearchResultsFactoryMock->expects($this->once())
168 ->willReturn($searchResult);
169 $searchResult->expects($this->once())
174 $searchResult->expects($this->once())
175 ->method(
'setTotalCount')
177 $searchResult->expects($this->once())
178 ->method(
'setSearchCriteria')