public function setUp() { $this->mediaGallery = [ 'image' => '/m/a/magento.png', 'small_image' => '/m/a/magento.png', 'thumbnail' => '/m/a/magento.png', 'swatch_image' => '/m/a/magento.png', ]; $this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); $this->swatchHelperMock = $this->getMock('\Magento\Swatches\Helper\Data', [], [], '', false); $this->productModelFactoryMock = $this->getMock( '\Magento\Catalog\Model\ProductFactory', ['create'], [], '', false ); $this->productMock = $this->getMock('\Magento\Catalog\Model\Product', [], [], '', false); $this->attributeMock = $this->getMock('\Magento\Catalog\Model\ResourceModel\Eav\Attribute', [], [], '', false); $this->contextMock = $this->getMock('\Magento\Framework\App\Action\Context', [], [], '', false); $this->requestMock = $this->getMock('\Magento\Framework\App\Request', ['getParam'], [], '', false); $this->requestMock->expects($this->any())->method('getParam')->withConsecutive( ['product_id'], ['attributes'], ['additional'] )->willReturnOnConsecutiveCalls( 59, ['size' => 454], ['color' => 43] ); $this->contextMock->method('getRequest')->willReturn($this->requestMock); $this->resultFactory = $this->getMock('\Magento\Framework\Controller\ResultFactory', ['create'], [], '', false); $this->contextMock->method('getResultFactory')->willReturn($this->resultFactory); $this->jsonMock = $this->getMock('\Magento\Framework\Controller\Result\Json', [], [], '', false); $this->resultFactory->expects($this->once())->method('create')->with('json')->willReturn($this->jsonMock); $this->controller = $this->objectManager->getObject( '\Magento\Swatches\Controller\Ajax\Media', [ 'context' => $this->contextMock, 'swatchHelper' => $this->swatchHelperMock, 'productModelFactory' => $this->productModelFactoryMock ] ); }