/** * Run test for execute method */ public function testExecute() { /** @var OutputInterface|\PHPUnit_Framework_MockObject_MockObject $outputMock */ $outputMock = $this->getMockBuilder(OutputInterface::class)->getMockForAbstractClass(); $assetMock = $this->getMockBuilder(LocalInterface::class)->getMockForAbstractClass(); $this->validatorMock->expects(self::once())->method('isValid')->with(self::LOCALE_TEST_VALUE)->willReturn(true); $message = sprintf('<info>Processed Area: %s, Locale: %s, Theme: %s, File type: %s.</info>', self::AREA_TEST_VALUE, self::LOCALE_TEST_VALUE, self::THEME_TEST_VALUE, self::TYPE_TEST_VALUE); $outputMock->expects(self::at(0))->method('writeln')->with($message); $outputMock->expects(self::at(1))->method('writeln')->with('<comment>-> file-test-value/test/file</comment>'); $outputMock->expects(self::at(2))->method('writeln')->with('<info>Successfully processed.</info>'); $this->assetRepositoryMock->expects(self::once())->method('createAsset')->with('file-test-value/test' . DIRECTORY_SEPARATOR . 'file' . '.' . self::TYPE_TEST_VALUE, ['area' => self::AREA_TEST_VALUE, 'theme' => self::THEME_TEST_VALUE, 'locale' => self::LOCALE_TEST_VALUE])->willReturn($assetMock); $this->assetPublisherMock->expects(self::once())->method('publish')->with($assetMock); $assetMock->expects(self::once())->method('getFilePath')->willReturn(self::FILE_TEST_VALUE); $this->sourceThemeDeployCommand->run($this->getInputMock(), $outputMock); }
/** * Run test for execute method */ public function testExecute() { $error = []; /** @var OutputInterface|\PHPUnit_Framework_MockObject_MockObject $outputMock */ $outputMock = $this->getMockBuilder(OutputInterface::class)->getMockForAbstractClass(); $this->clearStaticDirectory(); $this->command->run($this->getInputMock(), $outputMock); /** @var \SplFileInfo $file */ foreach ($this->collectFiles($this->pubStatic) as $file) { $fileInfo = pathinfo($file->getFilename()); if (!in_array('css/' . $fileInfo['filename'], $this->compiledFiles, true) && !$file->isLink()) { $error[] = 'Bad file -> ' . $file->getFilename() . PHP_EOL; } } $this->clearStaticDirectory(); self::assertEmpty($error, implode($error)); }
/** * Run test for execute method with non existing theme * * @expectedException \InvalidArgumentException * @expectedExceptionMessage Verify entered values of the argument and options. */ public function testExecuteNonExistingValue() { /** @var OutputInterface|\PHPUnit_Framework_MockObject_MockObject $outputMock */ $outputMock = $this->getMockBuilder(OutputInterface::class)->getMockForAbstractClass(); $assetMock = $this->getMockBuilder(LocalInterface::class)->getMockForAbstractClass(); $this->validatorMock->expects(self::once())->method('isValid')->with(self::LOCALE_TEST_VALUE)->willReturn(true); $this->assetRepositoryMock->expects(self::once())->method('createAsset')->with('file-test-value/test' . DIRECTORY_SEPARATOR . 'file' . '.' . self::TYPE_TEST_VALUE, ['area' => self::AREA_TEST_VALUE, 'theme' => self::THEME_NONEXISTING_VALUE, 'locale' => self::LOCALE_TEST_VALUE])->willReturn($assetMock); $this->assetPublisherMock->expects(self::once())->method('publish')->with($assetMock)->willThrowException(new \Magento\Framework\View\Asset\File\NotFoundException()); $valueMap = [['area', self::AREA_TEST_VALUE], ['locale', self::LOCALE_TEST_VALUE], ['theme', self::THEME_NONEXISTING_VALUE], ['type', self::TYPE_TEST_VALUE]]; $this->sourceThemeDeployCommand->run($this->getInputMock($valueMap), $outputMock); }