function testStoreEventsDoNotOverrideUsers() { $listeningUsers = new ArrayIterator(array(array('user_id' => 1, 'object_id' => 1), array('user_id' => 2, 'object_id' => 1), array('user_id' => 3, 'object_id' => 1))); $user1 = mock('PFUser'); $user1->setReturnValue('getId', 1); $user2 = mock('PFUser'); $user2->setReturnValue('getId', 2); $user3 = mock('PFUser'); $user3->setReturnValue('getId', 3); $um = new MockUserManager(); $um->setReturnValueAt(0, 'getUserById', $user1); $um->setReturnValueAt(1, 'getUserById', $user2); $um->setReturnValueAt(2, 'getUserById', $user3); $dpm = new MockDocman_PermissionsManager(); $dpm->setReturnValue('userCanRead', true); $dpm->setReturnValue('userCanAccess', true); $item = new MockDocman_Item(); $item->setReturnValue('getId', 1); $params = array('item' => $item); $nm = new Docman_NotificationsManager_DeleteTestVersion(); $nm->setReturnValue('_getListeningUsers', $listeningUsers); $nm->setReturnValue('_getUserManager', $um); $nm->setReturnValue('_getPermissionsManager', $dpm); $nm->_listeners = array(); $nm->_storeEvents(1, 'removed', $params); $this->assertEqual($user1, $nm->_listeners[1]['user']); $this->assertEqual($user2, $nm->_listeners[2]['user']); $this->assertEqual($user3, $nm->_listeners[3]['user']); }
function testAdd_monitoringSuccess() { $controller = new MockDocman_Controller(); $controller->feedback = new MockFeedback(); $user = new MockUser(); $user->setReturnValue('getId', 123); $user->setReturnValue('getName', 'Carol'); $controller->feedback->expectOnce('log', array('info', '*')); $GLOBALS['Language']->expectOnce('getText', array('plugin_docman', 'notifications_added', array($user->getName()))); $notificationsManager = new MockDocman_NotificationsManager(); $notificationsManager->setReturnValue('exist', false); $notificationsManager->setReturnValue('add', true); $controller->notificationsManager = $notificationsManager; $actions = new Docman_ActionsTest(); $actions->_controler = $controller; $actions->event_manager = new MockEventManager($this); $docmanPermissionsManager = new MockDocman_PermissionsManager(); $docmanPermissionsManager->setReturnValue('userCanRead', true); $actions->setReturnValue('_getDocmanPermissionsManagerInstance', $docmanPermissionsManager); $params['listeners_to_add'] = array($user); $params['item'] = new MockDocman_Item(); $params['invalid_users'] = false; $actions->add_monitoring($params); $notificationsManager->expectCallCount('exist', 1); $notificationsManager->expectCallCount('add', 1); }
/** * Testing when the folder have childrens */ function testGetChildSuccess() { $webDAVDocmanFolder = new WebDAVDocmanFolderTestVersion3($this); $item = new MockDocman_Item(); $item->setReturnValue('getTitle', 'SomeName'); $folder = new WebDAVDocmanFolderTestVersion3($this); $folder->setReturnValue('getItem', $item); $docmanItemFactory = new MockDocman_ItemFactory(); $docmanItemFactory->setReturnValue('getChildrenFromParent', array($item)); $utils = new MockWebDAVUtils(); $docmanPermissionManager = new MockDocman_PermissionsManager(); $docmanPermissionManager->setReturnValue('userCanAccess', true); $utils->setReturnValue('getDocmanPermissionsManager', $docmanPermissionManager); $utils->setReturnValue('getDocmanItemFactory', $docmanItemFactory); $utils->setReturnValue('retrieveName', 'SomeName'); $webDAVDocmanFolder->setReturnValue('getUtils', $utils); $webDAVDocmanFolder->setReturnValue('getWebDAVDocmanFolder', $folder); $this->assertEqual($webDAVDocmanFolder->getChild('SomeName'), $folder); }
function testMoveDocmanNoWriteOnDestination() { $tree = new TestTreeTestVersion(); $utils = new MockWebDAVUtils(); $utils->setReturnValue('isWriteEnabled', true); $tree->setReturnValue('getUtils', $utils); $destination = new TestFolder(); $tree->setReturnValue('getNodeForPath', $destination, array('destination')); $source = new TestFolder(); $tree->setReturnValue('getNodeForPath', $source, array('source')); $sourceItem = new MockDocman_Item(); $sourceItem->setReturnValue('getGroupId', 1); $source->setItem($sourceItem); $destinationItem = new MockDocman_Item(); $destinationItem->setReturnValue('getGroupId', 1); $destination->setItem($destinationItem); $dpm = new MockDocman_PermissionsManager(); $dpm->setReturnValue('userCanAccess', true); $dpm->setReturnValue('userCanWrite', false); $utils->setReturnValue('getDocmanPermissionsManager', $dpm); $dpm->expectNever('currentUserCanWriteSubItems'); $this->expectException('Sabre_DAV_Exception_MethodNotAllowed'); $tree->move('source', 'destination/item'); }