+--------------------------------------------------------------------+
| CiviCRM version 4.7 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2015 |
+ | Copyright CiviCRM LLC (c) 2004-2016 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
return $optionLabel;
}
+ /**
+ * CRM-17286 - Test Contribution Export for Soft Credit fields.
+ */
+ public function testContributionExport() {
+ $this->markTestSkipped('Skipping for now as it works fine locally.');
+ $this->webtestLogin();
+
+ // Create a contact to be used as soft creditor
+ $firstName = 'a' . substr(sha1(rand()), 0, 7);
+ $softCreditLname = substr(sha1(rand()), 0, 7);
+ $lastName = 'Anderson';
+ $this->webtestAddContact($firstName, $softCreditLname, FALSE);
+ $this->webtestAddContact($firstName, $lastName, FALSE);
+ $contactId = $this->urlArg('cid');
+
+ $this->openCiviPage('contribute/add', 'reset=1&action=add&context=standalone', '_qf_Contribution_upload-bottom');
+ $this->webtestFillAutocomplete("{$lastName}, {$firstName}");
+ // select financial type
+ $this->select("financial_type_id", "value=1");
+
+ // fill in Received Date
+ $this->webtestFillDate('receive_date');
+
+ // source
+ $this->type("source", "Mailer 1");
+
+ // total amount
+ $this->type("total_amount", "100");
+
+ // create first soft credit
+ $this->click("softCredit");
+ $this->waitForElementPresent("soft_credit_amount_1");
+ $this->webtestFillAutocomplete("{$softCreditLname}, {$firstName}", 's2id_soft_credit_contact_id_1');
+ $this->type("soft_credit_amount_1", "50");
+
+ // Clicking save.
+ $this->clickLink("_qf_Contribution_upload");
+
+ $this->openCiviPage("contribute/search", "reset=1", "_qf_Search_refresh");
+ $this->type("sort_name", $firstName);
+ $this->select('contribution_or_softcredits', 'Both');
+ $this->clickLink("_qf_Search_refresh");
+ // Is contact present in search result?
+ $this->assertElementContainsText('css=div.crm-search-results', $firstName, "Contact did not found in search result!");
+ $contributionID = $this->urlArg('id', $this->getAttribute("xpath=//div[@id='contributionSearch']/table/tbody/tr//td//span//a[text()='Edit']@href"));
+ // select to export all the contacts from search result.
+ $this->click("toggleSelect");
+
+ // Select the task action to export.
+ $this->click("task");
+ $this->select("task", "label=Export contributions");
+ $this->waitForPageToLoad($this->getTimeoutMsec());
+ $this->click('CIVICRM_QFID_2_4');
+ $this->clickLink('_qf_Select_next-bottom');
+
+ $this->select("mapper_1_0_0", 'Contribution');
+ $this->select("mapper_1_0_1", 'Soft Credit Amount');
+
+ $this->select("mapper_1_1_0", 'Contribution');
+ $this->select("mapper_1_1_1", 'Soft Credit For');
+
+ $this->select("mapper_1_2_0", 'Contribution');
+ $this->select("mapper_1_2_1", 'Soft Credit For Contribution ID');
+
+ $this->select("mapper_1_3_0", 'Contribution');
+ $this->select("mapper_1_3_1", 'Soft Credit Type');
+
+ $this->select("mapper_1_4_0", 'Contribution');
+ $this->select("mapper_1_4_1", 'Soft Credit For Contact ID');
+
+ $csvFile = $this->downloadCSV("_qf_Map_next-bottom", 'CiviCRM_Contribution_Search.csv');
+
+ // All other rows to be check.
+ $checkRows = array(
+ 1 => array(
+ 'Soft Credit Amount' => '',
+ 'Soft Credit For' => '',
+ 'Soft Credit For Contribution ID' => '',
+ 'Soft Credit Type' => '',
+ 'Soft Credit For Contact ID' => '',
+ ),
+ 2 => array(
+ 'Soft Credit Amount' => 50.00,
+ 'Soft Credit For' => "{$lastName}, {$firstName}",
+ 'Soft Credit For Contribution ID' => $contributionID,
+ 'Soft Credit Type' => 'Solicited',
+ 'Soft Credit For Contact ID' => $contactId,
+ ),
+ );
+
+ // Read CSV and fire assertions.
+ $this->reviewCSV($csvFile, array(), $checkRows, 2);
+
+ }
+
}