Пример #1
0
 function testCannotDeleteVersionOnNonFile()
 {
     // Definition acceptance criteria:
     // test is complete if there is an error and the error message is the right one
     $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_nonfile_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_Folder($this);
     $if = new MockDocman_ItemFactory($this);
     $if->setReturnValue('getItemFromDb', $item);
     $if->expectOnce('getItemFromDb', array(344));
     $if->setReturnValue('getItemTypeForItem', PLUGIN_DOCMAN_ITEM_TYPE_FOLDER);
     $actions->setReturnValue('_getItemFactory', $if);
     $actions->expectOnce('_getItemFactory', array(102));
     $actions->setReturnValue('_getEventManager', new MockEventManager($this));
     // Run test
     $actions->deleteVersion();
 }
Пример #2
0
 function testRestoreOneVersion()
 {
     $filePath = dirname(__FILE__) . '/_fixtures/version.test';
     touch($filePath);
     $versionFactory = new Docman_VersionFactoryTestVersion($this);
     $dao = new MockDocman_VersionDao($this);
     $versionFactory->setReturnValue('_getVersionDao', $dao);
     $dar = new MockDataAccessResult($this);
     $dar->setReturnValue('isError', false);
     $dar->setReturnValue('getRow', array('purge_date' => null, 'label' => 'Ho hisse la saucisse', 'path' => $filePath));
     $dao->expectOnce('searchDeletedVersion', array(1664, 2));
     $dao->setReturnValue('searchDeletedVersion', $dar);
     $file = new MockDocman_File($this);
     $file->setReturnValue('getGroupId', 114);
     $if = new MockDocman_ItemFactory($this);
     $if->expectOnce('getItemFromDb', array(1664, array('ignore_deleted' => true)));
     $if->setReturnValue('getItemFromDb', $file);
     $versionFactory->setReturnValue('_getItemFactory', $if);
     $user = new MockUser($this);
     $um = new MockUserManager($this);
     $um->setReturnValue('getCurrentUser', $user);
     $versionFactory->setReturnValue('_getUserManager', $um);
     $em = new MockEventManager($this);
     $em->expectOnce('processEvent', array('plugin_docman_event_restore_version', array('group_id' => 114, 'item' => $file, 'old_value' => '2 (Ho hisse la saucisse)', 'user' => $user)));
     $versionFactory->setReturnValue('_getEventManager', $em);
     $dao->expectOnce('restore', array(1664, 2));
     $dao->setReturnValue('restore', true);
     $version = new MockDocman_Version($this);
     $version->setReturnValue('getNumber', 2);
     $version->setReturnValue('getItemId', 1664);
     $this->assertTrue($versionFactory->restore($version));
     unlink($filePath);
 }