private function GivenThereIsNoPreviousCallStoredInDB() { $dao = new MockSOAP_RequestLimitatorDao(); $dar = new MockDataAccessResult(); $dar->setReturnValue('rowCount', 0); $dar->setReturnValue('getRow', null); $dao->setReturnValue('searchFirstCallToMethod', $dar); $dao->expectOnce('saveCallToMethod', array('addProject', '*')); return $dao; }
function testGetChangesetValue_doesnt_exist() { $value_dao = new MockTracker_FormElement_Field_Value_TextDao(); $dar = new MockDataAccessResult(); $dar->setReturnValue('getRow', false); $value_dao->setReturnReference('searchById', $dar); $text_field = new Tracker_FormElement_Field_TextTestVersion(); $text_field->setReturnReference('getValueDao', $value_dao); $this->assertNull($text_field->getChangesetValue(null, 123, false)); }
function testUserNameIsAlreadyGroup() { $darUser = new MockDataAccessResult($this); $darUser->setReturnValue('rowCount', 0); $darGroup = new MockDataAccessResult($this); $darGroup->setReturnValue('rowCount', 1); $ldapUserDao = new LDAP_UserDaoTV($this); $ldapUserDao->da = new MockDataAccess($this); $ldapUserDao->da->expectCallCount('quoteSmart', 2); $ldapUserDao->setReturnValueAt(0, 'retrieve', $darUser); $ldapUserDao->setReturnValueAt(1, 'retrieve', $darGroup); $ldapUserDao->expectCallCount('retrieve', 2); $this->assertFalse($ldapUserDao->userNameIsAvailable('coincoin')); }
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 testGetRuleById() { $rules_dar = new MockDataAccessResult(); $rules_dar->setReturnValue('getRow', array('id' => 123, 'tracker_id' => 1, 'source_field_id' => 2, 'source_value_id' => 10, 'target_field_id' => 4, 'rule_type' => 4, 'target_value_id' => 100)); $rules_dao = new MockTracker_RuleDao(); $rules_dao->setReturnReference('searchById', $rules_dar, array(123)); $arf = new Tracker_RuleFactory($rules_dao); $r = $arf->getRuleById(123); $this->assertIsA($r, 'Tracker_Rule'); $this->assertIsA($r, 'Tracker_Rule_Value'); $this->assertEqual($r->id, 123); $this->assertEqual($r->tracker_id, 1); $this->assertEqual($r->source_field, 2); $this->assertEqual($r->target_field, 4); $this->assertEqual($r->source_value, 10); $this->assertEqual($r->target_value, 100); $this->assertFalse($arf->getRuleById(124), 'If id is inexistant, then return will be false'); $this->assertReference($arf->getRuleById(123), $r, 'We do not create two different instances for the same id'); }
public static function errorDar() { $dar = new MockDataAccessResult(); $dar->setReturnValue('valid', false); $dar->setReturnValue('current', false); $dar->setReturnValue('rowCount', 0); $dar->setReturnValue('isError', true); $dar->setReturnValue('getRow', false); return $dar; }
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 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 function testGetRepositoryIDByNameNoRepository() { $repo = new GitRepositorySecondTestVersion(); $pm = new MockProjectManager(); $project = new Mockproject(); $repo->setReturnValue('_getProjectManager', $pm); $pm->setReturnValue('getProjectByUnixName', $project); $dao = new MockGitDao(); $repo->setReturnValue('getDao', $dao); $dar = new MockDataAccessResult(); $dar->setReturnValue('isError', true); $dao->setReturnValue('getProjectRepositoryByName', $dar); $this->assertEqual($repo->getRepositoryIDByName('repo', 'prj'), 0); $repo->expectOnce('_getProjectManager'); $dao->expectOnce('getProjectRepositoryByName'); $project->expectOnce('getID'); $dar->expectOnce('isError'); $dar->expectNever('getRow'); }
function testGetChangesetValue_doesnt_exist() { $value_dao = new MockTracker_FormElement_Field_Value_FileDao(); $dar = new MockDataAccessResult(); $dar->setReturnValue('getRow', false); $value_dao->setReturnReference('searchById', $dar); $file_field = new Tracker_FormElement_Field_FileTestVersion(); $file_field->setReturnReference('getValueDao', $value_dao); $changeset_value = $file_field->getChangesetValue(null, 123, false); $this->assertIsA($changeset_value, 'Tracker_Artifact_ChangesetValue_File'); $this->assertEqual(count($changeset_value->getFiles()), 0); }
function testRestoreOneVersionAlreadyPurged() { $filePath = dirname(__FILE__) . '/_fixtures/version.test'; $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' => 1234567890, 'path' => $filePath)); $dao->expectOnce('searchDeletedVersion', array(1664, 2)); $dao->setReturnValue('searchDeletedVersion', $dar); $em = new MockEventManager($this); $em->expectNever('processEvent', array('plugin_docman_event_restore_version')); $versionFactory->setReturnValue('_getEventManager', $em); $dao->expectNever('restore'); $version = new MockDocman_Version($this); $version->setReturnValue('getNumber', 2); $version->setReturnValue('getItemId', 1664); $this->assertFalse($versionFactory->restore($version)); }
function testGetFieldData() { $bind = new MockTracker_FormElement_Field_List_Bind(); $bind->setReturnValue('getFieldData', '115', array('existing value', '*')); $bind->setReturnValue('getFieldData', '118', array('yet another existing value', '*')); $bind->setReturnValue('getFieldData', null, array('new value', '*')); $bind->setReturnValue('getFieldData', null, array('yet another new value', '*')); $bind->setReturnValue('getFieldData', null, array('existing open value', '*')); $bind->setReturnValue('getFieldData', null, array('yet another existing open value', '*')); $bind->setReturnValue('getFieldData', null, array('', '*')); $odar = new MockDataAccessResult(); $odar->setReturnValue('getRow', false); $open_value_dao = new MockTracker_FormElement_Field_List_OpenValueDao(); $odar_30 = new MockDataAccessResult(); $odar_30->setReturnValue('getRow', array('id' => '30', 'field_id' => '1', 'label' => 'existing open value')); $odar_40 = new MockDataAccessResult(); $odar_40->setReturnValue('getRow', array('id' => '40', 'field_id' => '1', 'label' => 'yet another existing open value')); $open_value_dao->setReturnReference('searchByExactLabel', $odar_30, array(1, 'existing open value')); $open_value_dao->setReturnReference('searchByExactLabel', $odar_40, array(1, 'yet another existing open value')); $open_value_dao->setReturnReference('searchByExactLabel', $odar, array(1, 'new value')); $open_value_dao->setReturnReference('searchByExactLabel', $odar, array(1, 'yet another new value')); $open_value_dao->setReturnReference('searchByExactLabel', $odar, array(1, '')); $f = new Tracker_FormElement_Field_OpenListTestVersion(); $f->setReturnReference('getOpenValueDao', $open_value_dao); $f->setReturnReference('getBind', $bind); $f->setReturnValue('getId', 1); $this->assertEqual("!new value,!yet another new value", $f->getFieldData('new value,yet another new value', true)); $this->assertEqual("!new value,b115", $f->getFieldData('new value,existing value', true)); $this->assertEqual("!new value,o30,b115", $f->getFieldData('new value,existing open value,existing value', true)); $this->assertNull($f->getFieldData('', true)); }
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 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)); }
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'); }
public function arrayToDar() { $argList = func_get_args(); $dar = new MockDataAccessResult(); $rowCount = 0; foreach ($argList as $row) { $dar->setReturnValueAt($rowCount, 'valid', true); $dar->setReturnValueAt($rowCount, 'current', $row); $rowCount++; } $dar->setReturnValueAt($rowCount, 'valid', false); $dar->setReturnValue('rowCount', $rowCount); $dar->setReturnValue('isError', false); return $dar; }
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(); }
public function testIsUserNameAvailableWithStringAlreadyQueuded() { $seDao = new MockSystemEventDao($this); $dar = new MockDataAccessResult($this); $dar->setReturnValue('rowCount', 1); $seDao->ExpectOnce('searchWithParam', array('tail', 'titi', array(SystemEvent::TYPE_USER_RENAME), array(SystemEvent::STATUS_NEW, SystemEvent::STATUS_RUNNING))); $seDao->setReturnValue('searchWithParam', $dar); $se = new SystemEventManagerTestVersion($this); $se->setReturnValue('_getDao', $seDao); $this->assertFalse($se->isUserNameAvailable('titi')); }
function testGetChangesetValue_doesnt_exist() { $value_dao = new $this->dao_class(); $dar = new MockDataAccessResult(); $dar->setReturnValue('valid', false); $value_dao->setReturnReference('searchById', $dar); $list_field = new $this->field_class(); $list_field->setReturnReference('getValueDao', $value_dao); $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()), 0); }
function testDeletedUserGetSession() { $cm = new MockCookieManager($this); $dar_valid_hash = new MockDataAccessResult($this); $user123 = new MockUser($this); $userAnonymous = new MockUser($this); $dao = new MockUserDao($this); $um = new UserManagerTestVersion($this); $user123->setReturnValue('getId', 123); $user123->setReturnValue('getUserName', 'user_123'); $user123->setReturnValue('isAnonymous', false); $user123->setReturnValue('isDeleted', true); $userAnonymous->setReturnValue('isAnonymous', true); $cm->setReturnValue('getCookie', 'valid_hash'); $um->setReturnValue('_getServerIp', '212.212.123.12'); $dar_valid_hash->setReturnValue('getRow', array('user_name' => 'user_123', 'user_id' => 123)); $dao->setReturnReference('searchBySessionHashAndIp', $dar_valid_hash, array('valid_hash', '212.212.123.12')); $um->setReturnReference('getUserInstanceFromRow', $user123, array(array('user_name' => 'user_123', 'user_id' => 123))); $um->setReturnReference('getUserInstanceFromRow', $userAnonymous, array(array('user_id' => 0))); $dao->expectNever('storeLastAccessDate'); $dao->expectOnce('deleteAllUserSessions', array(123)); $um->setReturnReference('getDao', $dao); $um->setReturnReference('_getCookieManager', $cm); $user = $um->getCurrentUser(); $this->assertTrue($user->isAnonymous(), 'A deleted user should not be able to use a valid session'); }
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 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 testRestoreDeletedFilesNoFiles() { $refFile = new FRSFile(array('file_id' => 12)); $dar = new MockDataAccessResult($this); $dar->setReturnValue('isError', false); $dar->setReturnValue('rowCount', 0); $dao = new MockFRSFileDao($this); $dao->expectOnce('searchFilesToRestore'); $dao->setReturnValue('searchFilesToRestore', $dar); $ff = new FRSFileFactoryTestRestoreFiles($this); $ff->setReturnValue('_getFRSFileDao', $dao); $backend = new MockBackendSystem($this); $ff->expectNever('restoreFile', array($refFile, $backend)); $ff->setReturnValue('restoreFile', false); $this->assertTrue($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); $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)); }