/** * {@inheritdoc} */ public function dispatch(\Magento\Framework\App\RequestInterface $request) { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'dispatch'); if (!$pluginInfo) { return parent::dispatch($request); } else { return $this->___callPlugins('dispatch', func_get_args(), $pluginInfo); } }
public function testExecute() { $selectedCategories = '1'; $isAnchorOnly = true; $hash = '7e6baeca2d76ca0efc3a299986d31bdc9cd796fb'; $content = 'block_content'; $this->request->expects($this->any())->method('getParam')->willReturnMap( [ ['selected', '', $selectedCategories], ['is_anchor_only', 0, $isAnchorOnly] ] ); $this->mathRandom->expects($this->once())->method('getUniqueHash')->with('categories')->willReturn($hash); $this->chooser->expects($this->once())->method('setUseMassaction')->with()->willReturnSelf(); $this->chooser->expects($this->once())->method('setId')->with($hash)->willReturnSelf(); $this->chooser->expects($this->once())->method('setIsAnchorOnly')->with($isAnchorOnly)->willReturnSelf(); $this->chooser->expects($this->once()) ->method('setSelectedCategories') ->with(explode(',', $selectedCategories)) ->willReturnSelf(); $this->chooser->expects($this->once())->method('toHtml')->willReturn($content); $this->layout->expects($this->once()) ->method('createBlock') ->with($this->blockClass) ->willReturn($this->chooser); $this->resultRaw->expects($this->once())->method('setContents')->with($content)->willReturnSelf(); $this->resultFactory->expects($this->once()) ->method('create') ->with(\Magento\Framework\Controller\ResultFactory::TYPE_RAW) ->willReturn($this->resultRaw); $this->context->expects($this->once())->method('getRequest')->willReturn($this->request); $this->context->expects($this->once())->method('getResultFactory')->willReturn($this->resultFactory); /** @var \Magento\Widget\Controller\Adminhtml\Widget\Instance\Categories $controller */ $this->controller = (new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this)) ->getObject( 'Magento\Widget\Controller\Adminhtml\Widget\Instance\Categories', [ 'context' => $this->context, 'mathRandom' => $this->mathRandom, 'layout' => $this->layout ] ); $this->assertSame($this->resultRaw, $this->controller->executeInternal()); }