47 $this->storeManagerMock = $this->getMockBuilder(\
Magento\
Store\Model\StoreManager::class)
48 ->disableOriginalConstructor()
50 $this->searchCriteriaBuilderMock = $this
51 ->getMockBuilder(\
Magento\Framework\Api\SearchCriteriaBuilder::class)
52 ->disableOriginalConstructor()
54 $this->filterBuilderMock = $this->getMockBuilder(\
Magento\Framework\Api\FilterBuilder::class)
55 ->disableOriginalConstructor()
57 $this->productRenderRepositoryMock = $this
58 ->getMockBuilder(\
Magento\Catalog\Model\ProductRenderList::class)
59 ->disableOriginalConstructor()
61 $this->synchronizerMock = $this
62 ->getMockBuilder(\
Magento\Catalog\Model\
Product\ProductFrontendAction\Synchronizer::class)
63 ->disableOriginalConstructor()
65 $this->hydratorMock = $this->getMockBuilder(\
Magento\Framework\EntityManager\Hydrator::class)
66 ->disableOriginalConstructor()
69 $this->objectManagerHelper =
new ObjectManagerHelper($this);
70 $this->model = $this->objectManagerHelper->getObject(
71 \
Magento\Catalog\CustomerData\ProductsRenderInfoSection::class,
73 'storeManager' => $this->storeManagerMock,
74 'searchCriteriaBuilder' => $this->searchCriteriaBuilderMock,
75 'filterBuilder' => $this->filterBuilderMock,
76 'productRenderList' => $this->productRenderRepositoryMock,
77 'actionsSynchronizer' => $this->synchronizerMock,
78 'hydrator' => $this->hydratorMock
83 private function prepareProductIds()
85 $actionFirst = $this->createMock(ProductFrontendActionInterface::class);
86 $actionSecond = $this->createMock(ProductFrontendActionInterface::class);
87 $actions = [$actionFirst, $actionSecond];
88 $this->synchronizerMock->expects($this->once())
89 ->method(
'getAllActions')
90 ->willReturn($actions);
91 $actionFirst->expects($this->any())
92 ->method(
'getProductId')
94 $actionSecond->expects($this->any())
95 ->method(
'getProductId')
101 $productRender = $this->createMock(ProductRenderInterface::class);
102 $searchResult = $this->createMock(ProductRenderSearchResultsInterface::class);
104 $store = $this->getMockBuilder(Store::class)
105 ->disableOriginalConstructor()
107 $store->expects($this->once())
110 $store->expects($this->once())
111 ->method(
'getCurrentCurrencyCode')
113 $this->storeManagerMock->expects($this->once())
116 $filterMock = $this->createMock(Filter::class);
117 $this->filterBuilderMock
118 ->expects($this->once())
122 $this->prepareProductIds();
123 $this->filterBuilderMock
124 ->expects($this->once())
128 $this->filterBuilderMock
129 ->expects($this->once())
130 ->method(
'setConditionType')
133 $this->filterBuilderMock
134 ->expects($this->once())
136 ->willReturn($filterMock);
138 $this->searchCriteriaBuilderMock
139 ->expects($this->once())
140 ->method(
'addFilters')
141 ->with([$filterMock])
143 $this->searchCriteriaBuilderMock->expects($this->once())
146 $this->productRenderRepositoryMock->expects($this->once())
149 ->willReturn($searchResult);
150 $searchResult->expects($this->any())
152 ->willReturn([$productRender]);
153 $this->hydratorMock->expects($this->once())
155 ->with($productRender)
165 $productRender->expects($this->once())
178 $this->model->getSectionData()
$searchCriteriaBuilderMock
$productRenderRepositoryMock