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 testGetMessageForUserParentListened() { $language = new MockBaseLanguage(); $language->setReturnValue('getText', 'notif_modified_by', array('plugin_docman', 'notif_modified_by')); $language->setReturnValue('getText', 'notif_wiki_new_version', array('plugin_docman', 'notif_wiki_new_version', 'wiki')); $language->setReturnValue('getText', 'notif_something_happen', array('plugin_docman', 'notif_something_happen')); $language->setReturnValue('getText', 'notif_footer_message', array('plugin_docman', 'notif_footer_message')); $language->setReturnValue('getText', 'notif_footer_message_link', array('plugin_docman', 'notif_footer_message_link')); $notificationsManager = new Docman_NotificationsManager_TestVersion(); $notificationsManager->setReturnValue('_getLanguageForUser', $language); $notificationsManager->_url = 'http://www.example.com/plugins/docman/'; $user = new MockUser(); $user->setReturnValue('getRealName', 'John Doe'); $user->setReturnValue('getId', 2); $params['path'] = new MockDocman_Path(); $params['path']->setReturnValue('get', 'Folder1/Folder2/File'); $params['item'] = new MockDocman_Item(); $params['item']->setReturnValue('getId', 10); $parentItem = new MockDocman_Item(); $parentItem->setReturnValue('getId', 1); $notificationsManager->setReturnValue('getListeningUsers', array($user->getId() => $parentItem)); $params['wiki_page'] = 'wiki'; $params['url'] = 'http://www.example.com/plugins/docman/'; $message1 = "Folder1/Folder2/File notif_modified_by John Doe.\nhttp://www.example.com/plugins/docman/&action=details&id=10\n\n\n--------------------------------------------------------------------\nnotif_footer_message\nnotif_footer_message_link\nhttp://www.example.com/plugins/docman/&action=details§ion=notifications&id=1"; $message2 = "Folder1/Folder2/File notif_modified_by John Doe.\nhttp://www.example.com/plugins/docman/&action=details&id=10\n\n\n--------------------------------------------------------------------\nnotif_footer_message\nnotif_footer_message_link\nhttp://www.example.com/plugins/docman/&action=details§ion=notifications&id=1"; $message3 = "notif_wiki_new_version John Doe.\nhttp://www.example.com/plugins/docman/\n\n\n--------------------------------------------------------------------\nnotif_footer_message\nnotif_footer_message_link\nhttp://www.example.com/plugins/docman/&action=details§ion=notifications&id=1"; $message4 = "notif_something_happen\n\n--------------------------------------------------------------------\nnotif_footer_message\nnotif_footer_message_link\nhttp://www.example.com/plugins/docman/&action=details§ion=notifications&id=1"; $this->assertEqual($message1, $notificationsManager->_getMessageForUser($user, 'modified', $params)); $this->assertEqual($message2, $notificationsManager->_getMessageForUser($user, 'new_version', $params)); $this->assertEqual($message3, $notificationsManager->_getMessageForUser($user, 'new_wiki_version', $params)); $this->assertEqual($message4, $notificationsManager->_getMessageForUser($user, 'something happen', $params)); }
/** * 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'); }
function testItemWithoutValueButWatermarkedValueDefined() { // No love for item $loveFactory = new MockDocman_MetadataListOfValuesElementFactory($this); // empty array because no value found $ai = new MockArrayIterator($this); $ai->setReturnValue('rewind', true); $ai->setReturnValue('valid', false); $loveFactory->setReturnValue('getLoveValuesForItem', $ai); // // But watermarked values is defined $dwmv = new MockDocmanWatermark_MetadataValue($this); $dwmv->setReturnValue('getWatermark', 1); $dwmv->setReturnValue('getValueId', 107); $ai = new MockArrayIterator($this); $ai->setReturnValue('rewind', true); $ai->setReturnValueAt(0, 'valid', true); $ai->setReturnValue('current', $dwmv); $ai->setReturnValueAt(1, 'valid', false); $dwmvf = new MockDocmanWatermark_MetadataValueFactory($this); $dwmvf->setReturnValue('getMetadataValuesIterator', $ai); // Setup class $dwmf = new DocmanWatermark_MetadataFactoryTestMetadataValueRetrieval($this); $dwmf->setReturnValue('getDocman_MetadataListOfValuesElementFactory', $loveFactory); $dwmf->setReturnValue('getDocmanWatermark_MetadataValueFactory', $dwmvf); // Parameters & Run $item = new MockDocman_Item($this); $item->setReturnValue('getId', 1789); $md = new MockDocman_Metadata($this); $md->setReturnValue('getId', 1871); $this->assertNull($dwmf->_getWatermarkingValues($item, $md)); }