/** * Run test for process method (exception) * * @expectedException \UnexpectedValueException * @expectedExceptionMessage "stdClass" has to implement the PreProcessorInterface. */ public function testProcessBadInterface() { $preprocessors = [self::CONTENT_TYPE => ['test' => [Pool::PREPROCESSOR_CLASS => 'stdClass']]]; $pool = new Pool($this->objectManagerMock, $this->sorterMock, self::DEFAULT_PREPROCESSOR, $preprocessors); $this->sorterMock->expects(self::once())->method('sort')->with($preprocessors[self::CONTENT_TYPE])->willReturn($preprocessors[self::CONTENT_TYPE]); $chainMock = $this->getChainMock(self::CONTENT_TYPE); $this->objectManagerMock->expects(self::once())->method('get')->with('stdClass')->willReturn(new \stdClass()); $pool->process($chainMock); }
/** * Run test for process method */ public function testProcess() { $alternatives = ['processor' => [AlternativeSource::PROCESSOR_CLASS => 'Magento\\Framework\\View\\Asset\\ContentProcessorInterface']]; $this->lockerProcessMock->expects(self::once())->method('lockProcess')->with(self::isType('string')); $this->lockerProcessMock->expects(self::once())->method('unlockProcess'); $this->sorterMock->expects(self::once())->method('sort')->with($alternatives)->willReturn($alternatives); $assetMock = $this->getAssetNew(); $this->assetBuilderMock->expects(self::once())->method('setArea')->with(self::AREA)->willReturnSelf(); $this->assetBuilderMock->expects(self::once())->method('setTheme')->with(self::THEME)->willReturnSelf(); $this->assetBuilderMock->expects(self::once())->method('setLocale')->with(self::LOCALE)->willReturnSelf(); $this->assetBuilderMock->expects(self::once())->method('setModule')->with(self::MODULE)->willReturnSelf(); $this->assetBuilderMock->expects(self::once())->method('setPath')->with(self::FILE_PATH)->willReturnSelf(); $this->assetBuilderMock->expects(self::once())->method('build')->willReturn($assetMock); $this->objectManagerMock->expects(self::once())->method('get')->with('Magento\\Framework\\View\\Asset\\ContentProcessorInterface')->willReturn($this->getProcessorMock($assetMock)); $alternativeSource = new AlternativeSource($this->objectManagerMock, $this->lockerProcessMock, $this->sorterMock, $this->assetBuilderMock, 'lock', $alternatives); $alternativeSource->process($this->getChainMockExpects()); }