Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
DependencyUpdaterPluginTest.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
14 use Magento\CatalogInventory\Model\Indexer\Stock\Processor as CatalogInventoryStockIndexer;
15 
19 class DependencyUpdaterPluginTest extends \PHPUnit\Framework\TestCase
20 {
24  private $configMock;
25 
29  private $plugin;
30 
34  private $providerMock;
35 
39  protected function setUp()
40  {
41  $this->configMock = $this->getMockBuilder(Config::class)
42  ->disableOriginalConstructor()
43  ->getMock();
44  $this->configMock->expects($this->exactly(2))
45  ->method('isElasticsearchEnabled')
46  ->willReturnOnConsecutiveCalls(true, false);
47  $this->providerMock = $this->getMockBuilder(DependencyInfoProvider::class)
48  ->disableOriginalConstructor()
49  ->getMock();
50 
51  $this->plugin = new DependencyUpdaterPlugin($this->configMock);
52  }
53 
57  public function testAfterGetIndexerIdsToRunBefore(): void
58  {
59  $dependencies = [
60  CatalogInventoryStockIndexer::INDEXER_ID,
61  ];
62  $indexerId = CatalogSearchFulltextIndexer::INDEXER_ID;
63 
64  $indexerIds = $this->plugin->afterGetIndexerIdsToRunBefore($this->providerMock, $dependencies, $indexerId);
65  $this->assertContains(CatalogInventoryStockIndexer::INDEXER_ID, $indexerIds);
66 
67  $indexerIds = $this->plugin->afterGetIndexerIdsToRunBefore($this->providerMock, $dependencies, $indexerId);
68  $this->assertNotContains(CatalogInventoryStockIndexer::INDEXER_ID, $indexerIds);
69  }
70 
74  public function testAfterGetIndexerIdsToRunAfter(): void
75  {
76  $dependencies = [
77  CatalogSearchFulltextIndexer::INDEXER_ID,
78  ];
79  $indexerId = CatalogInventoryStockIndexer::INDEXER_ID;
80 
81  $indexerIds = $this->plugin->afterGetIndexerIdsToRunAfter($this->providerMock, $dependencies, $indexerId);
82  $this->assertContains(CatalogSearchFulltextIndexer::INDEXER_ID, $indexerIds);
83 
84  $indexerIds = $this->plugin->afterGetIndexerIdsToRunAfter($this->providerMock, $dependencies, $indexerId);
85  $this->assertNotContains(CatalogSearchFulltextIndexer::INDEXER_ID, $indexerIds);
86  }
87 }