public function testConvertRepositoryCapabilitiesConvertsArrayToRepositoryCapabilitiesObject() { $expectedCapabilities = new RepositoryCapabilities(); $expectedCapabilities->setSupportsUnfiling(true); $expectedCapabilities->setSupportsPwcUpdatable(true); $expectedCapabilities->setSupportsMultifiling(true); $expectedCapabilities->setSupportsGetFolderTree(true); $expectedCapabilities->setSupportsGetDescendants(true); $expectedCapabilities->setAclCapability(CapabilityAcl::cast(CapabilityAcl::MANAGE)); $expectedCapabilities->setChangesCapability(CapabilityChanges::cast(CapabilityChanges::PROPERTIES)); $expectedCapabilities->setContentStreamUpdatesCapability(CapabilityContentStreamUpdates::cast(CapabilityContentStreamUpdates::ANYTIME)); $creatablePropertyTypes = new CreatablePropertyTypes(); $creatablePropertyTypes->setCanCreate(array(PropertyType::cast(PropertyType::DATETIME), PropertyType::cast(PropertyType::ID), PropertyType::cast(PropertyType::HTML))); $creatablePropertyTypes->setExtensions($this->cmisExtensionsDummy); $expectedCapabilities->setCreatablePropertyTypes($creatablePropertyTypes); $expectedCapabilities->setQueryCapability(CapabilityQuery::cast(CapabilityQuery::BOTHCOMBINED)); $newTypeSettableAttributes = new NewTypeSettableAttributes(); $newTypeSettableAttributes->setCanSetId(true); $newTypeSettableAttributes->setExtensions($this->cmisExtensionsDummy); $expectedCapabilities->setNewTypeSettableAttributes($newTypeSettableAttributes); $expectedCapabilities->setJoinCapability(CapabilityJoin::cast(CapabilityJoin::NONE)); $expectedCapabilities->setRenditionsCapability(CapabilityRenditions::cast(CapabilityRenditions::NONE)); $expectedCapabilities->setOrderByCapability(CapabilityOrderBy::cast(CapabilityOrderBy::NONE)); $expectedCapabilities->setExtensions($this->cmisExtensionsDummy); $repositoryInfoArray = current($this->getResponseFixtureContentAsArray('Cmis/v1.1/BrowserBinding/getRepositoryInfo-full-response.log')); $result = $this->jsonConverter->convertRepositoryCapabilities($repositoryInfoArray[JSONConstants::JSON_REPINFO_CAPABILITIES]); $this->assertEquals($expectedCapabilities, $result); return $result; }
/** * Create NewTypeSettableAttributes object and populate given data to it * * @param string[]|null $data * @return NewTypeSettableAttributes|null Returns object or <code>null</code> if given data is empty */ public function convertNewTypeSettableAttributes(array $data = null) { if (empty($data)) { return null; } $object = new NewTypeSettableAttributes(); $object->populate($data, array_combine(JSONConstants::getCapabilityNewTypeSettableAttributeKeys(), array_map(function ($key) { // add a prefix "canSet" to all keys as this are the property names return 'canSet' . ucfirst($key); }, JSONConstants::getCapabilityNewTypeSettableAttributeKeys())), true); $object->setExtensions($this->convertExtension($data, JSONConstants::getCapabilityNewTypeSettableAttributeKeys())); return $object; }