IndexerRegistryTest.php 1.3 KB

123456789101112131415161718192021222324252627
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Indexer\Test\Unit;
  7. class IndexerRegistryTest extends \PHPUnit\Framework\TestCase
  8. {
  9. public function testGetCreatesIndexerInstancesAndReusesExistingOnes()
  10. {
  11. $firstIndexer = $this->createMock(\Magento\Framework\Indexer\IndexerInterface::class);
  12. $firstIndexer->expects($this->once())->method('load')->with('first-indexer')->willReturnSelf();
  13. $secondIndexer = $this->createMock(\Magento\Framework\Indexer\IndexerInterface::class);
  14. $secondIndexer->expects($this->once())->method('load')->with('second-indexer')->willReturnSelf();
  15. $objectManager = $this->createMock(\Magento\Framework\ObjectManagerInterface::class);
  16. $objectManager->expects($this->at(0))->method('create')->willReturn($firstIndexer);
  17. $objectManager->expects($this->at(1))->method('create')->willReturn($secondIndexer);
  18. $unit = new \Magento\Framework\Indexer\IndexerRegistry($objectManager);
  19. $this->assertSame($firstIndexer, $unit->get('first-indexer'));
  20. $this->assertSame($secondIndexer, $unit->get('second-indexer'));
  21. $this->assertSame($firstIndexer, $unit->get('first-indexer'));
  22. }
  23. }