/** * @param array|null $data * @return AllowableActions|null */ public function convertAllowableActions(array $data = null) { if (empty($data)) { return null; } $allowableActions = new AllowableActions(); $actions = array(); $extensions = array(); foreach ($data as $key => $value) { try { if ((bool) $value === true) { $actions[] = Action::cast($key); } } catch (InvalidEnumerationValueException $exception) { $extensions[$key] = $value; } } $allowableActions->setAllowableActions($actions); $allowableActions->setExtensions($this->convertExtension($extensions)); return $allowableActions; }
public function testConvertAllowableActionsConvertsArrayToAllowableActionsObject() { $actions = array(Action::cast(Action::CAN_GET_CONTENT_STREAM), Action::cast(Action::CAN_REMOVE_OBJECT_FROM_FOLDER), Action::cast(Action::CAN_MOVE_OBJECT), Action::cast(Action::CAN_DELETE_CONTENT_STREAM), Action::cast(Action::CAN_GET_PROPERTIES), Action::cast(Action::CAN_GET_OBJECT_PARENTS), Action::cast(Action::CAN_SET_CONTENT_STREAM), Action::cast(Action::CAN_ADD_OBJECT_TO_FOLDER), Action::cast(Action::CAN_DELETE_OBJECT), Action::cast(Action::CAN_UPDATE_PROPERTIES)); $allowableActions = new AllowableActions(); $allowableActions->setAllowableActions($actions); $allowableActions->setExtensions($this->cmisExtensionsDummy); $getObjectResponse = $this->getResponseFixtureContentAsArray('Cmis/v1.1/BrowserBinding/getObject-response.log'); $result = $this->jsonConverter->convertAllowableActions($getObjectResponse[JSONConstants::JSON_OBJECT_ALLOWABLE_ACTIONS]); $this->assertEquals($allowableActions, $result); return $result; }
/** * @depends testSetAllowableActionsAssignsActionsToAttribute */ public function testGetAllowableActionsReturnsArrayWithActions() { $actions = array(Action::cast(Action::CAN_ADD_OBJECT_TO_FOLDER), Action::cast(Action::CAN_APPLY_ACL)); $this->allowableActions->setAllowableActions($actions); $this->assertSame($actions, $this->allowableActions->getAllowableActions()); }