11 use Magento\Catalog\Model\ProductRenderFactory;
31 private $productViewCounter;
41 private $productRepositoryMock;
46 private $productRenderCollectorCompositeMock;
51 private $hydratorMock;
56 private $serializeMock;
66 private $registryMock;
71 private $storeManagerMock;
76 private $productRenderFactoryMock;
80 $this->contextMock = $this->getMockBuilder(Context::class)
81 ->disableOriginalConstructor()
83 $this->productRepositoryMock = $this->getMockBuilder(ProductRepository::class)
84 ->disableOriginalConstructor()
86 $this->productRenderCollectorCompositeMock = $this->getMockBuilder(ProductRenderCollectorComposite::class)
87 ->disableOriginalConstructor()
89 $this->productRenderFactoryMock = $this->getMockBuilder(ProductRenderFactory::class)
90 ->disableOriginalConstructor()
92 $this->hydratorMock = $this->getMockBuilder(Hydrator::class)
93 ->disableOriginalConstructor()
95 $this->serializeMock = $this->getMockBuilder(SerializerInterface::class)
96 ->disableOriginalConstructor()
97 ->getMockForAbstractClass();
98 $this->urlMock = $this->getMockBuilder(Url::class)
99 ->disableOriginalConstructor()
101 $this->registryMock = $this->getMockBuilder(Registry::class)
102 ->disableOriginalConstructor()
104 $this->storeManagerMock = $this->getMockBuilder(StoreManager::class)
105 ->disableOriginalConstructor()
110 $this->productRepositoryMock,
111 $this->productRenderCollectorCompositeMock,
112 $this->storeManagerMock,
113 $this->productRenderFactoryMock,
115 $this->serializeMock,
123 $productMock = $this->getMockBuilder(ProductInterface::class)
124 ->disableOriginalConstructor()
125 ->getMockForAbstractClass();
127 $storeMock = $this->getMockBuilder(Store::class)
128 ->disableOriginalConstructor()
131 $this->registryMock->expects($this->once())
134 ->willReturn($productMock);
136 $this->storeManagerMock->expects($this->once())
138 ->willReturn($storeMock);
139 $storeMock->expects($this->once())
142 $storeMock->expects($this->once())
143 ->method(
'getCurrentCurrency')
144 ->willReturn($storeMock);
145 $storeMock->expects($this->once())
149 $this->productViewCounter->getCurrentProductData();
154 $productMock = $this->getMockBuilder(ProductInterface::class)
155 ->disableOriginalConstructor()
156 ->getMockForAbstractClass();
157 $productRendererMock = $this->getMockBuilder(ProductRenderInterface::class)
158 ->disableOriginalConstructor()
159 ->getMockForAbstractClass();
160 $storeMock = $this->getMockBuilder(Store::class)
161 ->disableOriginalConstructor()
164 $this->registryMock->expects($this->once())
167 ->willReturn($productMock);
168 $this->productRenderFactoryMock->expects($this->once())
170 ->willReturn($productRendererMock);
171 $productMock->expects($this->exactly(2))
174 $this->productRenderCollectorCompositeMock->expects($this->once())
176 ->with($productMock, $productRendererMock);
177 $this->storeManagerMock->expects($this->once())
179 ->willReturn($storeMock);
180 $storeMock->expects($this->exactly(2))
183 $storeMock->expects($this->once())
184 ->method(
'getCurrentCurrency')
185 ->willReturn($storeMock);
186 $storeMock->expects($this->once())
190 $this->productViewCounter->getCurrentProductData();
testGetCurrentProductDataWithEmptyProduct()
testGetCurrentProductDataWithNonEmptyProduct()