objectManager = new ObjectManager($this); $this->subjectMock = $this->createMock(\Magento\Indexer\Model\Processor::class); $this->contextMock = $this->createMock(\Magento\Framework\Indexer\CacheContext::class); $this->eventManagerMock = $this->createMock(\Magento\Framework\Event\Manager::class); $this->cacheMock = $this->createMock(\Magento\Framework\App\CacheInterface::class); $this->plugin = new CleanCache( $this->contextMock, $this->eventManagerMock ); $this->objectManager->setBackwardCompatibleProperty( $this->plugin, 'cache', $this->cacheMock ); } /** * Test afterUpdateMview * * @return void */ public function testAfterUpdateMview() { $tags = ['tag_name1', 'tag_name2']; $this->eventManagerMock->expects($this->once()) ->method('dispatch') ->with( $this->equalTo('clean_cache_after_reindex'), $this->equalTo(['object' => $this->contextMock]) ); $this->contextMock->expects($this->atLeastOnce()) ->method('getIdentities') ->willReturn($tags); $this->cacheMock->expects($this->once()) ->method('clean') ->with($tags); $this->plugin->afterUpdateMview($this->subjectMock); } }