Esempio n. 1
0
 function testRestoreDeletedItemFileWithAllVersionRestoreFailure()
 {
     $itemFactory = new Docman_ItemFactoryTestRestore($this);
     $item = new MockDocman_File($this);
     $item->setReturnValue('getId', 112);
     $item->setReturnValue('getGroupId', 114);
     $itemFactory->setReturnValue('getItemTypeForItem', PLUGIN_DOCMAN_ITEM_TYPE_FILE);
     $dao = new MockDocman_ItemDao($this);
     $dao->expectNever('restore');
     $itemFactory->setReturnValue('_getItemDao', $dao);
     $v1 = new MockDocman_Version($this);
     $v2 = new MockDocman_Version($this);
     $versionFactory = new MockDocman_VersionFactory($this);
     $versionFactory->expectOnce('listVersionsToPurgeForItem', array($item));
     $versionFactory->setReturnValue('listVersionsToPurgeForItem', array($v1, $v2));
     $versionFactory->expectAt(0, 'restore', array($v1));
     $versionFactory->setReturnValueAt(0, 'restore', false);
     $versionFactory->expectAt(1, 'restore', array($v2));
     $versionFactory->setReturnValueAt(1, 'restore', false);
     $itemFactory->setReturnValue('_getVersionFactory', $versionFactory);
     // Event
     $itemFactory->expectNever('_getEventManager');
     $this->assertFalse($itemFactory->restore($item));
 }
 public function setUp()
 {
     $GLOBALS['Language'] = new MockBaseLanguage($this);
     // Mock instanciation
     $controller = new MockDocman_SOAPController();
     $controller->feedback = new MockFeedback();
     $version = new MockDocman_Version();
     $version->setReturnValue('getNumber', 0);
     $this->itemFactory = new MockDocman_ItemFactory();
     $folderFactory = new MockDocman_FolderFactory();
     $this->fileStorage = new MockDocman_FileStorage();
     // Item MD5 Map: id => md5sum
     $this->MD5Map = array(128000 => '99999999999999999999999999999999');
     foreach ($this->MD5Map as $itemId => $md5) {
         $file = new MockDocman_File();
         $file->setReturnValue('getID', $itemId);
         $file->setReturnValue('getCurrentVersion', $version);
         $this->itemFactory->setReturnValue('getItemFromDb', $file, array($itemId));
         $this->itemFactory->setReturnValue('getItemTypeForItem', PLUGIN_DOCMAN_ITEM_TYPE_FILE, array($file));
         $this->fileStorage->setReturnValue('getFileMD5sum', $md5);
     }
     $user = mock('PFUser');
     $user->setReturnValue('getId', 9);
     $userManager = new MockUserManager();
     $userManager->setReturnValue('getUserById', $user);
     $userManager->setReturnValue('getUserByUserName', $user);
     $userManager->setReturnValue('getCurrentUser', $user);
     $controller->setReturnValue('getUser', $user);
     $versionFactory = new MockDocman_VersionFactory();
     $versionFactory->setReturnValue('getAllVersionForItem', array($version));
     $this->lockFactory = new MockDocman_LockFactory();
     $this->permissionManager = new MockPermissionsManager();
     $this->docmanPermissionsManager = new MockDocman_PermissionsManager();
     $this->docmanPermissionsManager->setReturnValue('getLockFactory', $this->lockFactory);
     // Partial mock of Docman_SOAPActions
     $this->action = new Docman_SOAPActions_Test();
     $this->action->setReturnValue('_getItemFactory', $this->itemFactory);
     $this->action->setReturnValue('_getFolderFactory', $folderFactory);
     $this->action->setReturnValue('_checkOwnerChange', 101, array('*', '*'));
     $this->action->setReturnValue('_getUserManagerInstance', $userManager);
     $this->action->setReturnValue('_getVersionFactory', $versionFactory);
     $this->action->setReturnValue('_getPermissionsManagerInstance', $this->permissionManager);
     $this->action->setReturnValue('_getDocmanPermissionsManagerInstance', $this->docmanPermissionsManager);
     $this->action->setReturnValue('_getEventManager', new MockEventManager());
     $this->action->setReturnValue('_getFileStorage', $this->fileStorage);
     $this->action->__construct($controller);
 }
Esempio n. 3
0
 function testCannotDeleteNonExistantVersion()
 {
     // Definition acceptance criteria:
     // test is complete if there is an info flash message that tells version is deleted
     $ctrl = new MockDocman_Controller($this);
     $ctrl->feedback = new MockFeedback($this);
     // Test log message
     $ctrl->feedback->expectOnce('log', array('error', '*'));
     $GLOBALS['Language']->setReturnValue('getText', 'bla');
     $GLOBALS['Language']->expectOnce('getText', array('plugin_docman', 'error_item_not_deleted_unknown_version'));
     // Setup of the test
     $actions = new Docman_ActionsTest($this);
     $ctrl->request = new MockHTTPRequest($this);
     $ctrl->request->setReturnValue('get', '102', array('group_id'));
     $ctrl->request->setReturnValue('get', '344', array('id'));
     $ctrl->request->setReturnValue('get', '1', array('version'));
     $ctrl->request->setReturnValue('valid', true);
     $actions->_controler = $ctrl;
     $item = new MockDocman_File($this);
     $item->expectNever('accept');
     $if = new MockDocman_ItemFactory($this);
     $if->setReturnValue('getItemFromDb', $item, array(344));
     $if->setReturnValue('getItemTypeForItem', PLUGIN_DOCMAN_ITEM_TYPE_FILE);
     $actions->setReturnValue('_getItemFactory', $if);
     $actions->expectOnce('_getItemFactory', array(102));
     $vf = new MockDocman_VersionFactory($this);
     $v1 = new MockDocman_Version($this);
     $v1->setReturnValue('getNumber', 0);
     $v1->setReturnValue('getLabel', 'label 4');
     $v2 = new MockDocman_Version($this);
     $v2->setReturnValue('getNumber', 2);
     $v2->setReturnValue('getLabel', 'label 5');
     $vf->setReturnValue('getAllVersionForItem', array($v1, $v2));
     $actions->setReturnValue('_getVersionFactory', $vf);
     $actions->setReturnValue('_getEventManager', new MockEventManager($this));
     // Run test
     $actions->deleteVersion();
 }