protected function setUp() { $this->objectManager = new ObjectManager($this); $this->productLinkFactoryMock = $this->getMockBuilder(ProductLinkInterfaceFactory::class)->disableOriginalConstructor()->getMock(); $this->productRepositoryMock = $this->getMockBuilder(ProductRepository::class)->disableOriginalConstructor()->getMock(); $this->requestMock = $this->getMockBuilder(RequestInterface::class)->setMethods(['getPost'])->getMockForAbstractClass(); $this->storeMock = $this->getMockBuilder(StoreInterface::class)->setMethods(['getWebsite'])->getMockForAbstractClass(); $this->websiteMock = $this->getMockBuilder(WebsiteInterface::class)->getMockForAbstractClass(); $this->storeManagerMock = $this->getMockBuilder(StoreManagerInterface::class)->getMockForAbstractClass(); $this->dateFilterMock = $this->getMockBuilder(DateFilter::class)->disableOriginalConstructor()->getMock(); $this->stockFilterMock = $this->getMockBuilder(StockDataFilter::class)->disableOriginalConstructor()->getMock(); $this->productMock = $this->getMockBuilder(Product::class)->setMethods(['setData', 'addData', 'getId', 'setWebsiteIds', 'isLockedAttribute', 'lockAttribute', 'getAttributes', 'unlockAttribute', 'getOptionsReadOnly', 'setOptions', 'setCanSaveCustomOptions', '__sleep', '__wakeup', 'getSku', 'getProductLinks', 'getWebsiteIds'])->disableOriginalConstructor()->getMock(); $this->customOptionFactoryMock = $this->getMockBuilder(ProductCustomOptionInterfaceFactory::class)->disableOriginalConstructor()->setMethods(['create'])->getMock(); $this->customOptionMock = $this->getMockBuilder(ProductCustomOptionInterface::class)->disableOriginalConstructor()->getMockForAbstractClass(); $this->productLinksMock = $this->getMockBuilder(ProductLinks::class)->disableOriginalConstructor()->getMock(); $this->productLinksMock->expects($this->any())->method('initializeLinks')->willReturn($this->productMock); $this->helper = $this->objectManager->getObject(Helper::class, ['request' => $this->requestMock, 'storeManager' => $this->storeManagerMock, 'stockFilter' => $this->stockFilterMock, 'productLinks' => $this->productLinksMock, 'dateFilter' => $this->dateFilterMock, 'customOptionFactory' => $this->customOptionFactoryMock, 'productLinkFactory' => $this->productLinkFactoryMock, 'productRepository' => $this->productRepositoryMock]); $this->linkResolverMock = $this->getMockBuilder(\Magento\Catalog\Model\Product\Link\Resolver::class)->disableOriginalConstructor()->getMock(); $helperReflection = new \ReflectionClass(get_class($this->helper)); $resolverProperty = $helperReflection->getProperty('linkResolver'); $resolverProperty->setAccessible(true); $resolverProperty->setValue($this->helper, $this->linkResolverMock); }
protected function setUp() { $this->objectManager = new ObjectManager($this); $this->productLinkFactoryMock = $this->getMockBuilder(ProductLinkInterfaceFactory::class)->disableOriginalConstructor()->getMock(); $this->productRepositoryMock = $this->getMockBuilder(ProductRepository::class)->disableOriginalConstructor()->getMock(); $this->requestMock = $this->getMockBuilder(RequestInterface::class)->setMethods(['getPost'])->getMockForAbstractClass(); $this->storeMock = $this->getMockBuilder(StoreInterface::class)->setMethods(['getWebsite'])->getMockForAbstractClass(); $this->websiteMock = $this->getMockBuilder(WebsiteInterface::class)->getMockForAbstractClass(); $this->storeManagerMock = $this->getMockBuilder(StoreManagerInterface::class)->getMockForAbstractClass(); $this->dateFilterMock = $this->getMockBuilder(DateFilter::class)->disableOriginalConstructor()->getMock(); $this->stockFilterMock = $this->getMockBuilder(StockDataFilter::class)->disableOriginalConstructor()->getMock(); $this->productMock = $this->getMockBuilder(Product::class)->setMethods(['setData', 'addData', 'getId', 'setWebsiteIds', 'isLockedAttribute', 'lockAttribute', 'getAttributes', 'unlockAttribute', 'getOptionsReadOnly', 'setOptions', 'setCanSaveCustomOptions', '__sleep', '__wakeup', 'getSku', 'getProductLinks'])->disableOriginalConstructor()->getMock(); $this->customOptionFactoryMock = $this->getMockBuilder(ProductCustomOptionInterfaceFactory::class)->disableOriginalConstructor()->setMethods(['create'])->getMock(); $this->customOptionMock = $this->getMockBuilder(ProductCustomOptionInterface::class)->disableOriginalConstructor()->getMockForAbstractClass(); $this->productLinksMock = $this->getMockBuilder(ProductLinks::class)->disableOriginalConstructor()->getMock(); $this->customOptionFactoryMock->expects($this->any())->method('create')->with(['data' => ['is_delete' => false]])->willReturn($this->customOptionMock); $this->productLinksMock->expects($this->any())->method('initializeLinks')->willReturn($this->productMock); $this->helper = $this->objectManager->getObject(Helper::class, ['request' => $this->requestMock, 'storeManager' => $this->storeManagerMock, 'stockFilter' => $this->stockFilterMock, 'productLinks' => $this->productLinksMock, 'dateFilter' => $this->dateFilterMock, 'customOptionFactory' => $this->customOptionFactoryMock, 'productLinkFactory' => $this->productLinkFactoryMock, 'productRepository' => $this->productRepositoryMock]); }