public function testExecuteInvalidArgument() { $themeId = 1; $refererUrl = 'referer/url'; $this->request->expects($this->any()) ->method('getParam') ->with('theme_id') ->willReturn($themeId); $themeFactory = $this->getMockBuilder('Magento\Framework\View\Design\Theme\FlyweightFactory') ->setMethods(['create']) ->disableOriginalConstructor() ->getMock(); $logger = $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock(); $this->objectManager->expects($this->any()) ->method('get') ->with('Psr\Log\LoggerInterface') ->willReturn($logger); $this->objectManager->expects($this->any()) ->method('create') ->with('Magento\Framework\View\Design\Theme\FlyweightFactory') ->willReturn($themeFactory); $themeFactory->expects($this->once()) ->method('create') ->with($themeId) ->willReturn(null); $this->messageManager->expects($this->once()) ->method('addException'); $logger->expects($this->once()) ->method('critical'); $this->redirect->expects($this->once()) ->method('getRefererUrl') ->willReturn($refererUrl); $this->response->expects($this->once()) ->method('setRedirect') ->with($refererUrl); $this->controller->executeInternal(); }