19 private $objectManagerHelper;
29 private $dependencyInfoProvider;
36 $this->objectManagerHelper =
new ObjectManagerHelper($this);
38 $this->configMock = $this->getMockBuilder(ConfigInterface::class)
39 ->getMockForAbstractClass();
41 $this->dependencyInfoProvider = $this->objectManagerHelper->getObject(
42 DependencyInfoProvider::class,
44 'config' => $this->configMock,
51 $indexerId =
'indexer_1';
56 $this->addSeparateIndexersToConfigMock([
58 'indexer_id' => $indexerId,
59 'dependencies' => $dependencies,
62 $this->assertSame($dependencies, $this->dependencyInfoProvider->getIndexerIdsToRunBefore($indexerId));
67 $indexerId =
'indexer_1';
69 ->method(
'getIndexer')
71 $this->expectException(NoSuchEntityException::class);
72 $this->expectExceptionMessage((
string)
__(
"%1 indexer does not exist.", $indexerId));
73 $this->dependencyInfoProvider->getIndexerIdsToRunBefore($indexerId);
84 $this->addSeparateIndexersToConfigMock($indexersData);
85 $this->addAllIndexersToConfigMock($indexersData);
88 array_values($this->dependencyInfoProvider->getIndexerIdsToRunAfter($indexerId))
99 'indexer' =>
'indexer_2',
102 'indexer_id' =>
'indexer_2',
103 'dependencies' => [],
106 'indexer_id' =>
'indexer_4',
112 'indexer_id' =>
'indexer_3',
118 'indexer_id' =>
'indexer_1',
125 'indexer_id' =>
'indexer_5',
126 'dependencies' => [],
129 'dependent_indexers' => [
'indexer_4',
'indexer_1'],
136 $indexerId =
'indexer_1';
138 ->method(
'getIndexer')
140 $this->expectException(NoSuchEntityException::class);
141 $this->expectExceptionMessage((
string)
__(
"%1 indexer does not exist.", $indexerId));
142 $this->dependencyInfoProvider->getIndexerIdsToRunAfter($indexerId);
148 private function addSeparateIndexersToConfigMock(array $indexers)
151 ->method(
'getIndexer')
155 return [$elem[
'indexer_id'], $elem];
165 private function addAllIndexersToConfigMock(array $indexers)
168 ->method(
'getIndexers')
169 ->willReturn($indexers);
testGetDependenciesNonExistentIndexer()
getDependentIndexerIdsDataProvider()
testGetDependentIndexerIdsNonExistentIndexer()
testGetDependentIndexerIds(string $indexerId, array $indexersData, array $dependentIndexerIds)