/** * test get config * * @return void */ public function testGetConfig() { $parentConfig = m::mock('Xpressengine\\Config\\ConfigEntity'); $instanceConfig1 = m::mock('Xpressengine\\Config\\ConfigEntity'); $instanceConfig1->shouldReceive('get')->with('instanceId')->andReturn('1'); $instanceConfig2 = m::mock('Xpressengine\\Config\\ConfigEntity'); $configManager = m::mock('Xpressengine\\Config\\ConfigManager'); $configManager->shouldReceive('get')->with(ConfigHandler::CONFIG_NAME)->andReturn($parentConfig); $configManager->shouldReceive('get')->with(sprintf('%s.instance1', ConfigHandler::CONFIG_NAME))->andReturn($instanceConfig1); $configManager->shouldReceive('children')->with($parentConfig)->andReturn([$instanceConfig1, $instanceConfig2]); /** @var \Xpressengine\Config\ConfigManager $configManager */ $configHandler = new ConfigHandler($configManager); $this->assertInstanceOf('Xpressengine\\Config\\ConfigManager', $configHandler->getConfigManager()); $config = $configHandler->getDefault(); $this->assertInstanceOf('Xpressengine\\Config\\ConfigEntity', $config); $configs = $configHandler->gets(); $this->assertEquals(2, count($configs)); $config = $configHandler->get(); $this->assertInstanceOf('Xpressengine\\Config\\ConfigEntity', $config); $config = $configHandler->get('instance1'); $this->assertInstanceOf('Xpressengine\\Config\\ConfigEntity', $config); $this->assertEquals('1', $config->get('instanceId')); }
/** * destroy document instance * * @param string $instanceId instance id * @param int $chunk chunk count * @return void */ public function destroyInstance($instanceId, $chunk = 100) { $config = $this->configHandler->get($instanceId); $this->instanceManager->remove($config); $documentHandler = $this; Document::where('instanceId', $config->get('instanceId'))->chunk($chunk, function ($docs) use($documentHandler) { foreach ($docs as $doc) { $documentHandler->remove($doc); } }); }
/** * get document config * * @param string $boardId board id * @return ConfigEntity */ public function getDocument($boardId) { return $this->document->get($boardId); }
/** * get revision list * * @param string $id document id * @return array */ public function getRevisions($id) { $origin = $this->repo->findById($id); $config = $this->configHandler->get($origin['instanceId']); $docs = $this->repo->getsRevision($id, $config); foreach ($docs as $key => $row) { $doc = new DocumentEntity($row); $docs[$key] = $doc; } return $docs; }