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']);
 }
예제 #2
0
 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);
 }
예제 #3
0
 /**
  * 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);
 }
예제 #4
0
 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');
 }