diff --git a/app/code/Magento/Indexer/Console/Command/IndexerStatusMviewCommand.php b/app/code/Magento/Indexer/Console/Command/IndexerStatusMviewCommand.php index 4fb0c0bcb56493b1e4de1c8744cc1af509719efb..61461a0ba610c96e852abc04869f79b078b8a398 100644 --- a/app/code/Magento/Indexer/Console/Command/IndexerStatusMviewCommand.php +++ b/app/code/Magento/Indexer/Console/Command/IndexerStatusMviewCommand.php @@ -75,8 +75,8 @@ class IndexerStatusMviewCommand extends Command ]; } - usort($rows, function($a, $b) { - return $a[0] <=> $b[0]; + usort($rows, function ($a, $b) { + return strcmp($a[0], $b[0]); }); $table->addRows($rows); diff --git a/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerStatusMviewCommandTest.php b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerStatusMviewCommandTest.php index 7266d009a5ee7285b1bbf40c38ac71c6fab8722f..e6a782cba92fdb396c6f0a6e9c8f9aabd4f032e5 100644 --- a/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerStatusMviewCommandTest.php +++ b/app/code/Magento/Indexer/Test/Unit/Console/Command/IndexerStatusMviewCommandTest.php @@ -13,6 +13,9 @@ use Symfony\Component\Console\Helper\TableHelper; use Magento\Store\Model\Website; use Magento\Framework\Console\Cli; +/** + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + */ class IndexerStatusMviewCommandTest extends \PHPUnit_Framework_TestCase { /** @@ -101,28 +104,7 @@ class IndexerStatusMviewCommandTest extends \PHPUnit_Framework_TestCase foreach ($mviews as $data) { $this->collection->addItem($this->generateMviewStub($data['view'], $data['changelog'])); } - - /** @var Mview\View\Changelog|\PHPUnit_Framework_MockObject_MockObject $stub */ - $changelog = $this->getMockBuilder(\Magento\Framework\Mview\View\Changelog::class) - ->disableOriginalConstructor() - ->getMock(); - - $changelog->expects($this->any()) - ->method('getVersion') - ->willThrowException( - new Mview\View\ChangelogTableNotExistsException(new \Magento\Framework\Phrase("Do not render")) - ); - - /** @var Mview\View|\PHPUnit_Framework_MockObject_MockObject $notInitiatedMview */ - $notInitiatedMview = $this->getMockBuilder(\Magento\Framework\Mview\View::class) - ->disableOriginalConstructor() - ->getMock(); - - $notInitiatedMview->expects($this->any()) - ->method('getChangelog') - ->willReturn($changelog); - - $this->collection->addItem($notInitiatedMview); + $this->collection->addItem($this->getNeverEnabledMviewIndexerWithNoTable()); $tester = new CommandTester($this->command); $this->assertEquals(Cli::RETURN_SUCCESS, $tester->execute([])); @@ -212,6 +194,34 @@ class IndexerStatusMviewCommandTest extends \PHPUnit_Framework_TestCase return $stub; } + /** + * @return Mview\View|\PHPUnit_Framework_MockObject_MockObject + */ + protected function getNeverEnabledMviewIndexerWithNoTable() + { + /** @var Mview\View\Changelog|\PHPUnit_Framework_MockObject_MockObject $stub */ + $changelog = $this->getMockBuilder(\Magento\Framework\Mview\View\Changelog::class) + ->disableOriginalConstructor() + ->getMock(); + + $changelog->expects($this->any()) + ->method('getVersion') + ->willThrowException( + new Mview\View\ChangelogTableNotExistsException(new \Magento\Framework\Phrase("Do not render")) + ); + + /** @var Mview\View|\PHPUnit_Framework_MockObject_MockObject $notInitiatedMview */ + $notInitiatedMview = $this->getMockBuilder(\Magento\Framework\Mview\View::class) + ->disableOriginalConstructor() + ->getMock(); + + $notInitiatedMview->expects($this->any()) + ->method('getChangelog') + ->willReturn($changelog); + + return $notInitiatedMview; + } + public function testExecuteExceptionNoVerbosity() { /** @var \Magento\Framework\Mview\View|\PHPUnit_Framework_MockObject_MockObject $stub */