示例#1
0
 public function testLoadByIndexer()
 {
     $indexerId = 'indexer_id';
     $this->_resourceMock->expects($this->once())->method('load')->with($this->model, $indexerId)->willReturnSelf();
     $this->model->loadByIndexer($indexerId);
     $this->assertEquals($indexerId, $this->model->getIndexerId());
 }
示例#2
0
 /**
  * Synchronize status for indexers
  *
  * @param \Magento\Indexer\Model\Indexer\State $state
  * @return \Magento\Indexer\Model\Indexer\State
  */
 public function afterSetStatus(\Magento\Indexer\Model\Indexer\State $state)
 {
     if (in_array($state->getIndexerId(), $this->indexerIds)) {
         $indexerId = $state->getIndexerId() == \Magento\Catalog\Model\Indexer\Category\Product::INDEXER_ID ? \Magento\Catalog\Model\Indexer\Product\Category::INDEXER_ID : \Magento\Catalog\Model\Indexer\Category\Product::INDEXER_ID;
         $relatedIndexerState = $this->state->loadByIndexer($indexerId);
         $relatedIndexerState->setData('status', $state->getStatus());
         $relatedIndexerState->save();
     }
     return $state;
 }
示例#3
0
 /**
  * Synchronize status for indexers
  *
  * @param State $state
  * @return State
  */
 public function afterSave(State $state)
 {
     if (in_array($state->getIndexerId(), $this->indexerIds)) {
         $indexerId = $state->getIndexerId() === Product::INDEXER_ID ? Category::INDEXER_ID : Product::INDEXER_ID;
         $relatedIndexerState = $this->state->loadByIndexer($indexerId);
         if ($relatedIndexerState->getStatus() !== $state->getStatus()) {
             $relatedIndexerState->setData('status', $state->getStatus());
             $relatedIndexerState->save();
         }
     }
     return $state;
 }
示例#4
0
 /**
  * {@inheritdoc}
  */
 public function getIndexerId()
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getIndexerId');
     if (!$pluginInfo) {
         return parent::getIndexerId();
     } else {
         return $this->___callPlugins('getIndexerId', func_get_args(), $pluginInfo);
     }
 }