Skip to content

Commit

Permalink
Merge pull request #4 from manishmore/CRM-15701-QA-fixes
Browse files Browse the repository at this point in the history
Webtests fixes for CRM-15701 fix
  • Loading branch information
kurund committed Dec 23, 2014
2 parents 305f63d + e3c14a3 commit e89cb8e
Show file tree
Hide file tree
Showing 2 changed files with 91 additions and 4 deletions.
94 changes: 90 additions & 4 deletions tests/phpunit/WebTest/Contribute/AddBatchesTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -116,17 +116,103 @@ function testBatchAddMembership() {
$this->_verifyData($data, "Membership");
}


function testBatchAddPledge() {
$this->webtestLogin();

// create a new pledge for contact
$contact = WebTest_Pledge_StandaloneAddTest::testStandalonePledgeAdd();

$itemCount = 2;
$softCreditTypes = CRM_Core_OptionGroup::values("soft_credit_type", FALSE);
// create contact
$batchTitle = 'Batch-' . substr(sha1(rand()), 0, 7);

//Open Live Contribution Page
$this->openCiviPage("batch", "reset=1");
$this->click("xpath=//div[@class='crm-submit-buttons']/a");
$this->waitForElementPresent("_qf_Batch_next");
$this->click("title");
$this->type("title", $batchTitle);
$this->select("type_id", "Pledge");
$this->type("item_count", $itemCount);
$this->type("total", 200);
$this->click("_qf_Batch_next");
$this->waitForPageToLoad($this->getTimeoutMsec());

// Add Contact Details
$data = array();
for ($i = 1; $i <= $itemCount; $i++) {
if ($i == 2) {
$data[$i] = array('contact' => $contact, 'amount' => 100);
}
else {
$data[$i] = array(
'first_name' => 'Ma' . substr(sha1(rand()), 0, 7),
'last_name' => 'An' . substr(sha1(rand()), 0, 7),
'amount' => 100,
);
}
$data[$i] += array(
'membership_type' => 'General',
'financial_type' => 'Member Dues',
'soft_credit_first_name' => 'Ar' . substr(sha1(rand()), 0, 7),
'soft_credit_last_name' => 'Ki' . substr(sha1(rand()), 0, 7),
'soft_credit_amount' => 10,
'soft_credit_type' => $softCreditTypes[$i],
);
$this->_fillData($data[$i], $i, "Pledge Payment");
}
$this->click("_qf_Entry_cancel");
$this->waitForPageToLoad($this->getTimeoutMsec());

$this->_verifyData($data, "Pledge");
}

/**
* @param $data
* @param $row
* @param $type
*/
function _fillData($data, $row, $type) {
$email = $data['first_name'] . '@example.com';
$this->webtestNewDialogContact($data['first_name'], $data['last_name'], $email, 4,
"s2id_primary_contact_id_{$row}", $row, 'primary');
if (!empty($data['contact'])) {
$this->select2("s2id_primary_contact_id_{$row}", $data['contact']['email']);
}
else {
$email = $data['first_name'] . '@example.com';
$this->webtestNewDialogContact($data['first_name'], $data['last_name'], $email, 4, "s2id_primary_contact_id_{$row}", $row, 'primary');
}

if ($type == "Contribution") {
if ($type == "Pledge Payment") {
$this->select("field_{$row}_financial_type", $data['financial_type']);
$this->type("field_{$row}_total_amount", $data['amount']);
$this->webtestFillDateTime("field_{$row}_receive_date", "+1 week");
$this->type("field_{$row}_contribution_source", substr(sha1(rand()), 0, 10));
$this->select("field_{$row}_payment_instrument", "Check");
$this->type("field_{$row}_check_number", rand());
$this->click("field[{$row}][send_receipt]");
$this->click("field_{$row}_invoice_id");
$this->type("field_{$row}_invoice_id", substr(sha1(rand()), 0, 10));
$softcreditemail = $data['soft_credit_first_name'] . '@example.com';
$this->webtestNewDialogContact($data['soft_credit_first_name'],
$data['soft_credit_last_name'],
$softcreditemail, 4,
"s2id_soft_credit_contact_id_{$row}",
$row,
'soft_credit'
);
$this->type("soft_credit_amount_{$row}", $data['soft_credit_amount']);
$this->select("soft_credit_type_{$row}", $data['soft_credit_type']);
if (!empty($data['contact'])) {
$pledgeID = CRM_Pledge_BAO_Pledge::getContactPledges($data['contact']['id']);
$this->select("open_pledges_{$row}", "value={$pledgeID[0]}");
$this->click("css=span#{$row}.pledge-adjust-option a");sleep(5);
$this->select("option_type_{$row}", "value=1");
$this->click("css=span#{$row}.pledge-adjust-option a");
$this->type("field_{$row}_total_amount", $data['amount']);
}
}
elseif ($type == "Contribution") {
$this->select("field_{$row}_financial_type", $data['financial_type']);
$this->type("field_{$row}_total_amount", $data['amount']);
$this->webtestFillDateTime("field_{$row}_receive_date", "+1 week");
Expand Down
1 change: 1 addition & 0 deletions tests/phpunit/WebTest/Pledge/StandaloneAddTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ function testStandalonePledgeAdd() {
$this->click("xpath=//div[@class='view-content']//table[@class='selector row-highlight']//tbody/tr[1]/td[1]/span/a");
$this->waitForElementPresent("xpath=//div[@class='view-content']//table[@class='selector row-highlight']//tbody/tr[1]/td[1]/span[2]/a");
$this->waitForElementPresent("xpath=//div[@class='view-content']//table//tbody/tr[2]/td[2]/table/tbody/tr[2]/td[8]/a[text()='Record Payment']");
return $contact;
}
}

0 comments on commit e89cb8e

Please sign in to comment.