function testGetFRSPackageFromDb() { $packageArray1 = array('package_id' => 1, 'group_id' => 1, 'name' => 'pkg1', 'status_id' => 2, 'rank' => null, 'approve_license' => null, 'data_array' => null, 'package_releases' => null, 'error_state' => null, 'error_message' => null); $package1 = FRSPackageFactory::getFRSPackageFromArray($packageArray1); $dar1 = new MockDataAccessResult($this); $dar1->setReturnValue('isError', false); $dar1->setReturnValue('current', $packageArray1); $dar1->setReturnValueAt(0, 'valid', true); $dar1->setReturnValueAt(1, 'valid', false); $dar1->setReturnValue('rowCount', 1); $packageArray2 = array('package_id' => 2, 'group_id' => 2, 'name' => 'pkg2', 'status_id' => 1, 'rank' => null, 'approve_license' => null, 'data_array' => null, 'package_releases' => null, 'error_state' => null, 'error_message' => null); $package2 = FRSPackageFactory::getFRSPackageFromArray($packageArray2); $dar2 = new MockDataAccessResult($this); $dar2->setReturnValue('isError', false); $dar2->setReturnValue('current', $packageArray2); $dar2->setReturnValueAt(0, 'valid', true); $dar2->setReturnValueAt(1, 'valid', false); $dar2->setReturnValue('rowCount', 1); $dar3 = new MockDataAccessResult($this); $dar3->setReturnValue('isError', false); $dar3->setReturnValue('current', array()); $dar3->setReturnValueAt(0, 'valid', true); $dar3->setReturnValueAt(1, 'valid', false); $dar3->setReturnValue('rowCount', 0); $dao = new FRSPackageDaoTestVersion(); $dao->da = TestHelper::getPartialMock('DataAccess', array('DataAccess')); $dao->setReturnValue('retrieve', $dar1, array('SELECT p.* FROM frs_package AS p WHERE p.package_id = 1 ORDER BY rank DESC LIMIT 1')); $dao->setReturnValue('retrieve', $dar2, array('SELECT p.* FROM frs_package AS p WHERE p.package_id = 2 AND p.status_id != 0 ORDER BY rank DESC LIMIT 1')); $dao->setReturnValue('retrieve', $dar3); $PackageFactory = new FRSPackageFactoryTestVersion(); $PackageFactory->setReturnValue('_getFRSPackageDao', $dao); $this->assertEqual($PackageFactory->getFRSPackageFromDb(1, null, 0x1), $package1); $this->assertEqual($PackageFactory->getFRSPackageFromDb(2), $package2); }
function testGetChangesetValue() { $fileinfo_dao = new MockTracker_FileInfoDao(); $fi_dar = new MockDataAccessResult(); $row1 = array('id' => 101, 'submitted_by' => 666, 'description' => 'Short desc', 'filename' => 'Screenshot.png', 'filesize' => 123456, 'filetype' => 'image/png'); $row2 = array('id' => 102, 'submitted_by' => 666, 'description' => 'Short desc', 'filename' => 'Screenshot1.png', 'filesize' => 123456, 'filetype' => 'image/png'); $row3 = array('id' => 103, 'submitted_by' => 666, 'description' => 'Short desc', 'filename' => 'Screenshot2.png', 'filesize' => 123456, 'filetype' => 'image/png'); $fi_dar->setReturnValueAt(0, 'getRow', $row1); $fi_dar->setReturnValueAt(1, 'getRow', $row2); $fi_dar->setReturnValueAt(2, 'getRow', $row3); $fi_dar->setReturnValue('getRow', false); $f1 = new MockTracker_FileInfo(); $f2 = new MockTracker_FileInfo(); $f3 = new MockTracker_FileInfo(); $fileinfo_dao->setReturnReference('searchById', $fi_dar); $value_dao = new MockTracker_FormElement_Field_Value_FileDao(); $dar = new MockDataAccessResult(); $dar->setReturnValueAt(0, 'current', array('changesetvalue_id' => 123, 'fileinfo_id' => 101)); $dar->setReturnValueAt(1, 'current', array('changesetvalue_id' => 123, 'fileinfo_id' => 102)); $dar->setReturnValueAt(2, 'current', array('changesetvalue_id' => 123, 'fileinfo_id' => 103)); $dar->setReturnValue('valid', true); $dar->setReturnValueAt(3, 'valid', false); $value_dao->setReturnReference('searchById', $dar); $file_field = new Tracker_FormElement_Field_FileTestVersion(); $file_field->setReturnReference('getValueDao', $value_dao); $file_field->setReturnReference('getFileInfoDao', $fileinfo_dao); $file_field->setReturnReference('getFileInfo', $f1, array(101, $row1)); $file_field->setReturnReference('getFileInfo', $f2, array(102, $row2)); $file_field->setReturnReference('getFileInfo', $f3, array(103, $row3)); $changeset_value = $file_field->getChangesetValue(null, 123, false); $this->assertIsA($changeset_value, 'Tracker_Artifact_ChangesetValue_File'); $this->assertEqual(count($changeset_value->getFiles()), 3); }
function testGetChangesetValue() { $value_dao = new MockTracker_FormElement_Field_Value_ArtifactLinkDao(); $dar = new MockDataAccessResult(); $dar->setReturnValueAt(0, 'valid', true); $dar->setReturnValueAt(0, 'getRow', array('id' => 123, 'field_id' => 1, 'artifact_id' => '999', 'keyword' => 'bug', 'group_id' => '102', 'tracker_id' => '456', 'last_changeset_id' => '789')); $dar->setReturnValue('getRow', false); $value_dao->setReturnReference('searchById', $dar); $field = new Tracker_FormElement_Field_ArtifactLinkTestVersion(); $field->setReturnReference('getValueDao', $value_dao); $this->assertIsA($field->getChangesetValue(null, 123, false), 'Tracker_Artifact_ChangesetValue_ArtifactLink'); }
function testDeleteProjectMailingListsSuccess() { $backend = new BackendMailingList_TestVersion(); $dao = new MockMailingListDao(); $dar = new MockDataAccessResult(); $dar->setReturnValue('isError', false); $dar->setReturnValueAt(0, 'getRow', true); $dar->setReturnValueAt(1, 'getRow', true); $dar->setReturnValueAt(2, 'getRow', false); $dao->setReturnValue('searchByProject', $dar); $dao->setReturnValue('deleteList', true); $backend->setReturnValue('_getMailingListDao', $dao); $backend->expectCallCount('deleteList', 2); $backend->setReturnValue('deleteList', true); $this->assertTrue($backend->deleteProjectMailingLists(1)); }
public static function argListToDar($argList) { $dar = new MockDataAccessResult(); $rowCount = 0; foreach ($argList as $row) { $dar->setReturnValueAt($rowCount, 'valid', true); $dar->setReturnValueAt($rowCount, 'current', $row); $dar->setReturnValueAt($rowCount, 'getRow', $row); $rowCount++; } $dar->setReturnValueAt($rowCount, 'valid', false); $dar->setReturnValue('rowCount', $rowCount); $dar->setReturnValue('count', $rowCount); $dar->setReturnValue('isError', false); return $dar; }
function testPurgeDeletedVersions() { $versionFactory = new Docman_VersionFactoryTestVersion($this); $dar = new MockDataAccessResult($this); $dar->setReturnValue('isError', false); $dar->setReturnValue('current', array('id' => null, 'user_id' => null, 'item_id' => null, 'number' => null, 'label' => null, 'changelog' => null, 'date' => null, 'filename' => null, 'filesize' => null, 'filetype' => null, 'path' => null)); $dar->setReturnValueAt(0, 'valid', true); $dar->setReturnValueAt(1, 'valid', false); $dar->setReturnValue('rowCount', 1); $dao = new MockDocman_VersionDao($this); $dao->expectOnce('listVersionsToPurge'); $dao->setReturnValue('listVersionsToPurge', $dar); $versionFactory->setReturnValue('_getVersionDao', $dao); $versionFactory->expectOnce('purgeDeletedVersion'); $this->assertTrue($versionFactory->PurgeDeletedVersions(1234567890)); }
function testGetChangesetValue() { $value_dao = new MockTracker_FormElement_Field_Value_TextDao(); $dar = new MockDataAccessResult(); $dar->setReturnValueAt(0, 'getRow', array('id' => 123, 'field_id' => 1, 'value' => 'My Text', 'body_format' => 'text')); $dar->setReturnValue('getRow', false); $value_dao->setReturnReference('searchById', $dar); $text_field = new Tracker_FormElement_Field_TextTestVersion(); $text_field->setReturnReference('getValueDao', $value_dao); $this->assertIsA($text_field->getChangesetValue(null, 123, false), 'Tracker_Artifact_ChangesetValue_Text'); }
function testGetChangesetValue() { $value_dao = new $this->dao_class(); $dar = new MockDataAccessResult(); $dar->setReturnValueAt(0, 'current', array('id' => '123', 'field_id' => '1', 'bindvalue_id' => '1000')); $dar->setReturnValueAt(1, 'current', array('id' => '123', 'field_id' => '1', 'bindvalue_id' => '1001')); $dar->setReturnValueAt(2, 'current', array('id' => '123', 'field_id' => '1', 'bindvalue_id' => '1002')); $dar->setReturnValue('valid', true); $dar->setReturnValueAt(3, 'valid', false); $value_dao->setReturnReference('searchById', $dar); $bind = new MockTracker_FormElement_Field_List_Bind_Static(); $bind->setReturnValue('getBindValues', array_fill(0, 3, new MockTracker_FormElement_Field_List_BindValue())); $list_field = new $this->field_class(); $list_field->setReturnReference('getValueDao', $value_dao); $list_field->setReturnReference('getBind', $bind); $changeset_value = $list_field->getChangesetValue(null, 123, false); $this->assertIsA($changeset_value, $this->cv_class); $this->assertTrue(is_array($changeset_value->getListValues())); $this->assertEqual(count($changeset_value->getListValues()), 3); foreach ($changeset_value->getListValues() as $bv) { $this->assertIsA($bv, 'Tracker_FormElement_Field_List_BindValue'); } }
function testValidateRecipientEmpty() { $dao =& new MockUserDao($this); $dao->expectAt(0, 'searchStatusByEmail', array('*****@*****.**')); $dao->expectAt(1, 'searchStatusByEmail', array('*****@*****.**')); $dao->expectAt(2, 'searchStatusByEmail', array('*****@*****.**')); $exists_a = new MockDataAccessResult($this); $exists_a->setReturnValue('rowCount', 1); $exists_a->setReturnValue('getRow', false); $exists_a->setReturnValueAt(0, 'getRow', array('email' => '*****@*****.**', 'status' => 'S')); $dao->setReturnValueAt(0, 'searchStatusByEmail', $exists_a); $exists_r = new MockDataAccessResult($this); $exists_r->setReturnValue('rowCount', 1); $exists_r->setReturnValue('getRow', false); $exists_r->setReturnValueAt(0, 'getRow', array('email' => '*****@*****.**', 'status' => 'S')); $dao->setReturnValueAt(1, 'searchStatusByEmail', $exists_r); $mail =& new MailTestVersion($this); $mail->setReturnReference('_getUserDao', $dao); $mail->__construct(); $recipients = $mail->_validateRecipient('exists@1.com, exists@2.com'); $this->assertEqual($recipients, ''); }
function testPluginIsCustom() { $plugin_dao = new MockPluginDao($this); $access_result_custom = new MockDataAccessResult($this); $access_result_custom->setReturnValue('getRow', false); $access_result_custom->setReturnValueAt(0, 'getRow', array('id' => '123', 'name' => 'custom', 'available' => 1)); $plugin_dao->setReturnReferenceAt(0, 'searchByName', $access_result_custom); $access_result_official = new MockDataAccessResult($this); $access_result_official->setReturnValue('getRow', false); $access_result_official->setReturnValueAt(0, 'getRow', array('id' => '124', 'name' => 'official', 'available' => 1)); $plugin_dao->setReturnReferenceAt(1, 'searchByName', $access_result_official); $pf = new PluginFactoryTestVersion($this); $pf->setReturnValueAt(0, '_getClassNameForPluginName', array('class' => 'customPlugin', 'custom' => true)); $pf->setReturnValueAt(1, '_getClassNameForPluginName', array('class' => 'officialPlugin', 'custom' => false)); $pf->PluginFactory($plugin_dao); //Only for test. You should use singleton instead $plugin_custom = $pf->getPluginByName('custom'); $this->assertIsA($plugin_custom, 'Plugin'); $this->assertTrue($pf->pluginIsCustom($plugin_custom)); $plugin_official = $pf->getPluginByName('official'); $this->assertIsA($plugin_official, 'Plugin'); $this->assertFalse($pf->pluginIsCustom($plugin_official)); }
public function itCleansUserFromRecipientsWhenUserCantReadAtLeastOneChangedField() { $field1 = new MockTracker_FormElement_Field_Date(); $value1_previous = new MockTracker_Artifact_ChangesetValue_Date(); $value1_current = new MockTracker_Artifact_ChangesetValue_Date(); $dao = new MockTracker_Artifact_Changeset_ValueDao(); $dar = new MockDataAccessResult(); $fact = new MockTracker_FormElementFactory(); $artifact = new MockTracker_Artifact(); $previous_changeset = new MockTracker_Artifact_Changeset(); $um = new MockUserManager(); $comment = new MockTracker_Artifact_Changeset_Comment(); $current_changeset = new Tracker_Artifact_ChangesetTestVersion(); $previous_changeset->setReturnValue('getId', 65); $previous_changeset->setReturnReference('getValue', $value1_previous, array($field1)); $previous_changeset->setReturnReference('getUserManager', $um); $artifact->setReturnReference('getPreviousChangeset', $previous_changeset, array(66)); $dar->setReturnValueAt(0, 'current', array('changeset_id' => 66, 'field_id' => 1, 'id' => 11, 'has_changed' => 1)); $dar->setReturnValue('valid', true); $dar->setReturnValueAt(2, 'valid', false); $dao->setReturnReference('searchById', $dar); $fact->setReturnReference('getFieldById', $field1, array(1)); $field1->setReturnValue('getId', 1); $field1->setReturnValue('getLabel', 'field1'); $field1->setReturnValue('userCanRead', false); $field1->setReturnReference('getChangesetValue', $value1_current, array('*', 11, 1)); $value1_previous->expectNever('hasChanged'); $value1_current->setReturnValue('hasChanged', true); $value1_current->setReturnValue('diff', 'has changed', array($value1_previous, '*')); $comment->setReturnValue('hasEmptyBody', true); $current_changeset->setReturnValue('getId', 66); $current_changeset->setReturnReference('getValueDao', $dao); $current_changeset->setReturnReference('getFormElementFactory', $fact); $current_changeset->setReturnReference('getArtifact', $artifact); $current_changeset->setReturnReference('getUserManager', $um); $current_changeset->setReturnReference('getComment', $comment); $recipients = array("recipient1" => true, "recipient2" => true, "recipient3" => true); $user1 = stub('PFUser')->getUserName()->returns('recipient1'); $user2 = stub('PFUser')->getUserName()->returns('recipient2'); $user3 = stub('PFUser')->getUserName()->returns('recipient3'); $um->setReturnReference('getUserByUserName', $user1); $um->setReturnReference('getUserByUserName', $user2); $um->setReturnReference('getUserByUserName', $user3); $current_changeset->removeRecipientsThatMayReceiveAnEmptyNotification($recipients); $this->assertEqual($recipients, array()); }
function testPurgeDeletedItems() { $itemFactory = new Docman_ItemFactoryTestVersion($this); $dar = new MockDataAccessResult($this); $dar->setReturnValue('isError', false); $dar->setReturnValue('current', array('id' => null, 'title' => null, 'description' => null, 'createDate' => null, 'updateDate' => null, 'deleteDate' => null, 'rank' => null, 'parentId' => null, 'groupId' => null, 'ownerId' => null, 'status' => null, 'obsolescenceDate' => null)); $dar->setReturnValueAt(0, 'valid', true); $dar->setReturnValueAt(1, 'valid', false); $dar->setReturnValue('rowCount', 1); $dao = new MockDocman_ItemDao($this); $dao->expectOnce('listItemsToPurge'); $dao->setReturnValue('listItemsToPurge', $dar); $itemFactory->setReturnValue('_getItemDao', $dao); $itemFactory->expectOnce('purgeDeletedItem'); $this->assertTrue($itemFactory->PurgeDeletedItems(1234567890)); }
function testArtifactExist() { $url = new URLTestVersion($this); $dao = new MockArtifactDao($this); $exists = new MockDataAccessResult($this); $exists->setReturnValue('getRow', false); $exists->setReturnValueAt(0, 'getRow', array('group_id' => '1')); $exists1 = new MockDataAccessResult($this); $exists1->setReturnValue('getRow', false); $exists1->setReturnValueAt(0, 'getRow', array('group_id' => '1')); $dao->setReturnReferenceAt(0, 'searchArtifactId', $exists); $dao->setReturnReferenceAt(1, 'searchArtifactId', $exists1); $_REQUEST['artifact_id'] = 1; $url->setReturnReference('getArtifactDao', $dao); $this->assertEqual($url->getGroupIdFromURL('/tracker/download.php?artifact_id=exist'), 1); $this->assertNotEqual($url->getGroupIdFromURL('/toto/tracker/download.php?artifact_id=exist'), 1); }
function testNotify() { $defs = array(array('has_changed' => 1, 'isNotificationsSupported' => 1, 'hasNotifications' => 0, 'recipients' => array()), array('has_changed' => 0, 'isNotificationsSupported' => 1, 'hasNotifications' => 1, 'recipients' => array('a_user')), array('has_changed' => 0, 'isNotificationsSupported' => 1, 'hasNotifications' => 0, 'recipients' => array('should_not_appear')), array('has_changed' => 0, 'isNotificationsSupported' => 0, 'hasNotifications' => 1, 'recipients' => array('should_not_appear_(not_supported)')), array('has_changed' => 0, 'isNotificationsSupported' => 1, 'hasNotifications' => 1, 'recipients' => array('multiple_users', '*****@*****.**'))); $fact = new MockTracker_FormElementFactory(); $dar = new MockDataAccessResult(); $dao = new MockTracker_Artifact_Changeset_ValueDao(); $artifact = new MockTracker_Artifact(); $tracker = new MockTracker(); $um = new MockUserManager(); $i = 0; // try DRY in unit tests also... build mocks automatically foreach ($defs as $d) { $id = $i + 1; $changeset_value_id = 1000 + $id; $dar->setReturnValueAt($i++, 'current', array('changeset_id' => 66, 'field_id' => $id, 'id' => $changeset_value_id, 'has_changed' => $d['has_changed'])); $f = new MockTracker_FormElement_Field_Selectbox(); $fact->setReturnReference('getFieldById', $f, array($id)); $f->setReturnValue('getId', $id); $f->setReturnValue('getLabel', 'field_' . $id); $f->setReturnValue('isNotificationsSupported', $d['isNotificationsSupported']); $f->setReturnValue('hasNotifications', $d['hasNotifications']); $f->setReturnValue('getRecipients', $d['recipients']); $p = new MockTracker_Artifact_ChangesetValue_List(); $c = new MockTracker_Artifact_ChangesetValue_List(); $c->setReturnValue('hasChanged', $d['has_changed']); $c->setReturnValue('diff', 'has changed', array($p)); $f->setReturnReference('getChangesetValue', $c, array('*', $changeset_value_id, $d['has_changed'])); unset($f); } $dar->setReturnValue('valid', true); $dar->setReturnValueAt($i, 'valid', false); $dao->setReturnReference('searchById', $dar); $artifact->setReturnReference('getTracker', $tracker); $artifact->setReturnValue('getCommentators', array('comment1', 'comment2')); $artifact->setReturnValue('getId', 666); $tracker->setReturnValue('getItemName', 'story'); $tracker->setReturnValue('isNotificationStopped', false); $tracker->setReturnValue('getRecipients', array(array('recipients' => array('global1', 'global2'), 'on_updates' => false, 'check_permissions' => true), array('recipients' => array('dont_check_perms', 'global3', '*****@*****.**'), 'on_updates' => true, 'check_permissions' => false))); $current_changeset = new Tracker_Artifact_ChangesetTestVersion(); $current_changeset->setReturnValue('getId', 66); $current_changeset->setReturnReference('getValueDao', $dao); $current_changeset->setReturnReference('getFormElementFactory', $fact); $current_changeset->setReturnReference('getArtifact', $artifact); $current_changeset->setReturnReference('getUserManager', $um); $current_changeset->setReturnReference('getTracker', $tracker); $expected_body = <<<BODY story #666 <http://{$GLOBALS['sys_default_domain']}/tracker/?aid=666> BODY; $current_changeset->expect('sendNotification', array(array('a_user', 'multiple_users', '*****@*****.**', 'dont_check_perms', 'global3', 'comment1', 'comment2'), array(), '[story #666]', $expected_body)); $current_changeset->notify(); }
function testGetChangesetValue() { $open_value_dao = new MockTracker_FormElement_Field_List_OpenValueDao(); $odar_10 = new MockDataAccessResult(); $odar_10->setReturnValue('getRow', array('id' => '10', 'field_id' => '1', 'label' => 'Open_1')); $odar_20 = new MockDataAccessResult(); $odar_20->setReturnValue('getRow', array('id' => '10', 'field_id' => '1', 'label' => 'Open_2')); $open_value_dao->setReturnReference('searchById', $odar_10, array(1, '10')); $open_value_dao->setReturnReference('searchById', $odar_20, array(1, '20')); $value_dao = new $this->dao_class(); $dar = new MockDataAccessResult(); $dar->setReturnValueAt(0, 'current', array('id' => '123', 'field_id' => '1', 'bindvalue_id' => '1000', 'openvalue_id' => null)); $dar->setReturnValueAt(1, 'current', array('id' => '123', 'field_id' => '1', 'bindvalue_id' => '1001', 'openvalue_id' => null)); $dar->setReturnValueAt(2, 'current', array('id' => '123', 'field_id' => '1', 'bindvalue_id' => null, 'openvalue_id' => '10')); $dar->setReturnValueAt(3, 'current', array('id' => '123', 'field_id' => '1', 'bindvalue_id' => null, 'openvalue_id' => '20')); $dar->setReturnValueAt(4, 'current', array('id' => '123', 'field_id' => '1', 'bindvalue_id' => '1002', 'openvalue_id' => null)); $dar->setReturnValueAt(5, 'current', array('id' => '123', 'field_id' => '1', 'bindvalue_id' => '1000', 'openvalue_id' => null)); //two foreachs $dar->setReturnValueAt(6, 'current', array('id' => '123', 'field_id' => '1', 'bindvalue_id' => '1001', 'openvalue_id' => null)); //two foreachs $dar->setReturnValueAt(7, 'current', array('id' => '123', 'field_id' => '1', 'bindvalue_id' => null, 'openvalue_id' => '10')); //two foreachs $dar->setReturnValueAt(8, 'current', array('id' => '123', 'field_id' => '1', 'bindvalue_id' => null, 'openvalue_id' => '20')); //two foreachs $dar->setReturnValueAt(9, 'current', array('id' => '123', 'field_id' => '1', 'bindvalue_id' => '1002', 'openvalue_id' => null)); //two foreachs $dar->setReturnValue('valid', true); $dar->setReturnValueAt(5, 'valid', false); $dar->setReturnValueAt(11, 'valid', false); $value_dao->setReturnReference('searchById', $dar); $bind = new MockTracker_FormElement_Field_List_Bind(); $bind_values = array(1000 => new MockTracker_FormElement_Field_List_BindValue(), 1001 => new MockTracker_FormElement_Field_List_BindValue(), 1002 => new MockTracker_FormElement_Field_List_BindValue()); $bind->setReturnValue('getBindValues', $bind_values, array(array('1000', '1001', '1002'))); $list_field = new $this->field_class(); $list_field->setReturnValue('getId', 1); $list_field->setReturnReference('getValueDao', $value_dao); $list_field->setReturnReference('getOpenValueDao', $open_value_dao); $list_field->setReturnReference('getBind', $bind); $changeset_value = $list_field->getChangesetValue(null, 123, false); $this->assertIsA($changeset_value, $this->cv_class); $this->assertTrue(is_array($changeset_value->getListValues())); $this->assertEqual(count($changeset_value->getListValues()), 5); $list_values = $changeset_value->getListValues(); $this->assertIsA($list_values[0], 'Tracker_FormElement_Field_List_BindValue'); $this->assertIsA($list_values[1], 'Tracker_FormElement_Field_List_BindValue'); $this->assertIsA($list_values[2], 'Tracker_FormElement_Field_List_OpenValue'); $this->assertIsA($list_values[3], 'Tracker_FormElement_Field_List_OpenValue'); $this->assertIsA($list_values[4], 'Tracker_FormElement_Field_List_BindValue'); }
function testPreferences() { $dao = new MockUserPreferencesDao($this); $dar = new MockDataAccessResult($this); $empty_dar = new MockDataAccessResult($this); $empty_dar->setReturnValue('getRow', false); $dar->setReturnValueAt(0, 'getRow', array('preference_value' => '123')); $dar->setReturnValueAt(1, 'getRow', false); $dao->setReturnReference('search', $empty_dar, array(666, 'unexisting_preference')); $dao->setReturnReference('search', $dar, array(666, 'existing_preference')); $dao->expectCallCount('search', 2); $dao->setReturnValue('set', true, array(666, 'existing_preference', '456')); $dao->expectOnce('set'); $dao->setReturnValue('delete', true, array(666, 'existing_preference')); $dao->expectOnce('delete'); $user = new UserTestVersion($this); $user->setReturnReference('getPreferencesDao', $dao); $user->setReturnValue('getId', 666); $this->assertFalse($user->getPreference('unexisting_preference'), 'Unexisting preference, should return false'); $this->assertEqual('123', $user->getPreference('existing_preference'), 'Existing preference should return 123'); $this->assertEqual('123', $user->getPreference('existing_preference'), 'Existing preference should return 123, should be cached'); $this->assertTrue($user->setPreference('existing_preference', '456'), 'Updating preference should return true. %s'); $this->assertEqual('456', $user->getPreference('existing_preference'), 'Existing preference has been updated, should now return 456. No call to dao since cached during update'); $this->assertTrue($user->delPreference('existing_preference'), 'Deletion of preference should return true'); $this->assertFalse($user->getPreference('existing_preference'), 'Preferences has been deleted. No call to dao since cached during delete'); }
function testNotAddedToAnyProjectDelayNotExpired() { $darUser = new MockDataAccessResult($this); $darUser->setReturnValueAt(0, 'valid', true); $darUser->setReturnValueAt(1, 'valid', false); $darUser->setReturnValue('current', array('user_id' => 112)); $dao = new UserDaoTestValidity($this); $dao->expectOnce('returnNotProjectMembers'); $dao->setReturnReference('returnNotProjectMembers', $darUser); $darNewMember = new MockDataAccessResult($this); $darNewMember->setReturnValueAt(0, 'valid', true); $darNewMember->setReturnValueAt(1, 'valid', false); $darNewMember->setReturnValue('isError', false); $darNewMember->setReturnValue('rowCount', 0); $dao->expectOnce('delayForBeingNotProjectMembers', array(112)); $dao->setReturnReference('delayForBeingNotProjectMembers', $darNewMember, array(112)); $darAddDate = new MockDataAccessResult($this); $darAddDate->setReturnValueAt(0, 'valid', true); $darAddDate->setReturnValueAt(1, 'valid', false); $darAddDate->setReturnValue('isError', false); $darAddDate->setReturnValue('rowCount', 0); $dao->expectOnce('delayForBeingSubscribed', array(112, 1258307747)); $dao->setReturnReference('delayForBeingSubscribed', $darAddDate, array(112, 1258307747)); $dao->expectNever('suspendAccount'); $dao->suspendUserNotProjectMembers(1258307747); }
function testRestoreDeletedFilesReturnFalse() { $dar = new MockDataAccessResult($this); $dar->setReturnValue('isError', false); $dar->setReturnValueAt(0, 'current', array('file_id' => 12)); $dar->setReturnValueAt(1, 'current', array('file_id' => 13)); $dar->setReturnValueAt(0, 'valid', true); $dar->setReturnValueAt(1, 'valid', true); $dar->setReturnValueAt(2, 'valid', false); $dar->setReturnValue('rowCount', 1); $dao = new MockFRSFileDao($this); $dao->expectOnce('searchFilesToRestore'); $dao->setReturnValue('searchFilesToRestore', $dar); $ff = new FRSFileFactoryTestRestoreFiles($this); $ff->setReturnValue('_getFRSFileDao', $dao); $backend = new MockBackendSystem($this); $ff->expectCallCount('restoreFile', 2); $ff->setReturnValueAt(0, 'restoreFile', false); $ff->setReturnValueAt(1, 'restoreFile', true); $this->assertFalse($ff->restoreDeletedFiles($backend)); }
function testPluginIsCustom() { $plugin_dao = new MockPluginDao($this); $access_result_custom = new MockDataAccessResult($this); $access_result_custom->setReturnValue('getRow', false); $access_result_custom->setReturnValueAt(0, 'getRow', array('id' => '123', 'name' => 'custom', 'available' => 1)); $plugin_dao->setReturnReferenceAt(0, 'searchByName', $access_result_custom); $access_result_official = new MockDataAccessResult($this); $access_result_official->setReturnValue('getRow', false); $access_result_official->setReturnValueAt(0, 'getRow', array('id' => '124', 'name' => 'official', 'available' => 1)); $plugin_dao->setReturnReferenceAt(1, 'searchByName', $access_result_official); $restrictor = mock('PluginResourceRestrictor'); $pf = partial_mock('PluginFactory', array('_getClassNameForPluginName'), array($plugin_dao, $restrictor)); $pf->setReturnValueAt(0, '_getClassNameForPluginName', array('class' => 'customPlugin', 'custom' => true)); $pf->setReturnValueAt(1, '_getClassNameForPluginName', array('class' => 'officialPlugin', 'custom' => false)); $plugin_custom = $pf->getPluginByName('custom'); $this->assertIsA($plugin_custom, 'Plugin'); $this->assertTrue($pf->pluginIsCustom($plugin_custom)); $plugin_official = $pf->getPluginByName('official'); $this->assertIsA($plugin_official, 'Plugin'); $this->assertFalse($pf->pluginIsCustom($plugin_official)); }