configMock = $this->createPartialMock(Config::class, ['getType', 'isEnabled']); $this->fullPageCacheMock = $this->createPartialMock(Type::class, ['clean']); $this->observerMock = $this->createMock(Observer::class); $objectManager = new ObjectManager($this); $this->model = $objectManager->getObject( FlushAllCache::class, [ 'config' => $this->configMock, 'fullPageCache' => $this->fullPageCacheMock ] ); } /** * Test case for flushing all the cache */ public function testExecute() { $this->configMock->expects( $this->once() )->method( 'getType' )->willReturn( Config::BUILT_IN ); $this->fullPageCacheMock->expects($this->once())->method('clean'); $this->model->execute($this->observerMock); } /** * Test case for flushing all the cache with varnish enabled */ public function testExecuteWithVarnish() { $this->configMock->expects( $this->once() )->method( 'getType' )->willReturn( Config::VARNISH ); $this->fullPageCacheMock->expects($this->never())->method('clean'); $this->model->execute($this->observerMock); } }