/** * get inserted revision data list by document id * * @param string $id document id * @param ConfigEntity $config document config entity * @return array */ public function fetchById($id, ConfigEntity $config) { $query = $this->connection->table($this->table)->where('id', $id); $configs = $this->revisionManager->getHandler()->getConfigHandler()->gets($config->get('group')); $query = $this->revisionManager->join($configs, $query->getQuery()); return $query->orderBy($this->table . '.revisionNo', 'desc')->get(['*', 'documents_revision.revisionId as revisionId', 'documents_revision.revisionNo as revisionNo']); }
/** * test manager * * @return void */ public function testManager() { $query = m::mock('Illuminate\\Database\\Query\\Builder'); $type = m::mock('Xpressengine\\DynamicField\\AbstractType'); $type->shouldReceive('insertRevision'); $type->shouldReceive('setConfig'); $type->shouldReceive('joinRevision')->andReturn($query); $registerHandler = m::mock('Xpressengine\\DynamicField\\RegisterHandler'); $registerHandler->shouldReceive('getType')->andReturn($type); $handler = m::mock('Xpressengine\\DynamicField\\DynamicFieldHandler'); $handler->shouldReceive('getRegisterHandler')->andReturn($registerHandler); $revision = new RevisionManager($handler); $this->assertInstanceOf('Xpressengine\\DynamicField\\DynamicFieldHandler', $revision->getHandler()); $config1 = m::mock('Xpressengine\\Config\\ConfigEntity'); $config1->shouldReceive('get')->with('typeId')->andReturn('typeId'); $configs = [$config1]; $revision->add($configs, ['data' => 'data']); $this->assertInstanceOf('Illuminate\\Database\\Query\\Builder', $revision->join($configs, $query)); }