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));
 }
Beispiel #5
0
 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;
 }
Beispiel #6
0
 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');
     }
 }
Beispiel #9
0
 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, '');
 }
Beispiel #10
0
 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());
 }
Beispiel #12
0
 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));
 }
Beispiel #13
0
 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');
 }
Beispiel #16
0
 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);
 }
Beispiel #18
0
 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));
 }