8 use Magento\Framework\Indexer\IndexerInterfaceFactory;
40 $this->configMock = $this->getMockForAbstractClass(
41 \
Magento\Framework\Indexer\ConfigInterface::class,
49 $this->indexerFactoryMock = $this->createPartialMock(
50 IndexerInterfaceFactory::class,
53 $this->indexersFactoryMock = $this->createPartialMock(
54 \
Magento\Indexer\Model\Indexer\CollectionFactory::class,
57 $this->viewProcessorMock = $this->getMockForAbstractClass(
58 \
Magento\Framework\Mview\ProcessorInterface::class,
63 $this->model = new \Magento\Indexer\Model\Processor(
65 $this->indexerFactoryMock,
66 $this->indexersFactoryMock,
67 $this->viewProcessorMock
73 $indexers = [
'indexer1' => [],
'indexer2' => []];
75 $this->configMock->expects($this->once())->method(
'getIndexers')->will($this->returnValue($indexers));
77 $state1Mock = $this->createPartialMock(\
Magento\Indexer\Model\Indexer\State::class, [
'getStatus',
'__wakeup']);
85 $indexer1Mock = $this->createPartialMock(
86 \
Magento\Indexer\Model\Indexer::class,
87 [
'load',
'getState',
'reindexAll']
89 $indexer1Mock->expects($this->once())->method(
'getState')->will($this->returnValue($state1Mock));
90 $indexer1Mock->expects($this->once())->method(
'reindexAll');
92 $state2Mock = $this->createPartialMock(\
Magento\Indexer\Model\Indexer\State::class, [
'getStatus',
'__wakeup']);
100 $indexer2Mock = $this->createPartialMock(
101 \
Magento\Indexer\Model\Indexer::class,
102 [
'load',
'getState',
'reindexAll']
104 $indexer2Mock->expects($this->never())->method(
'reindexAll');
105 $indexer2Mock->expects($this->once())->method(
'getState')->will($this->returnValue($state2Mock));
107 $this->indexerFactoryMock->expects($this->at(0))->method(
'create')->will($this->returnValue($indexer1Mock));
108 $this->indexerFactoryMock->expects($this->at(1))->method(
'create')->will($this->returnValue($indexer2Mock));
110 $this->model->reindexAllInvalid();
115 $indexerMock = $this->createMock(\
Magento\Indexer\Model\Indexer::class);
116 $indexerMock->expects($this->exactly(2))->method(
'reindexAll');
117 $indexers = [$indexerMock, $indexerMock];
119 $indexersMock = $this->createMock(\
Magento\Indexer\Model\Indexer\Collection::class);
120 $this->indexersFactoryMock->expects($this->once())->method(
'create')->will($this->returnValue($indexersMock));
121 $indexersMock->expects($this->once())->method(
'getItems')->will($this->returnValue($indexers));
123 $this->model->reindexAll();
128 $this->viewProcessorMock->expects($this->once())->method(
'update')->with(
'indexer')->willReturnSelf();
129 $this->model->updateMview();
134 $this->viewProcessorMock->expects($this->once())->method(
'clearChangelog')->with(
'indexer')->willReturnSelf();
135 $this->model->clearChangelog();