webtestLogin(); $this->openCiviPage('pledge/add', 'reset=1&context=standalone', '_qf_Pledge_upload'); // create new contact using dialog $firstName = 'Ma' . substr(sha1(rand()), 0, 4); $lastName = 'An' . substr(sha1(rand()), 0, 7); $this->webtestNewDialogContact($firstName, $lastName, $firstName . '@example.com'); $this->type('amount', '100'); $this->type('installments', '10'); $this->select('frequency_unit', 'value=week'); $this->type('frequency_day', '2'); $this->webtestFillDate('acknowledge_date', 'now'); $this->select('contribution_page_id', 'value=3'); //Honoree section $this->click('Honoree'); $this->waitForElementPresent('honor_email'); $this->click('CIVICRM_QFID_1_2'); $this->select('honor_prefix_id', 'value=3'); $honorFirstName = 'Fo' . substr(sha1(rand()), 0, 4); $honorLastName = 'Ba' . substr(sha1(rand()), 0, 7); $this->type('honor_first_name', $honorFirstName); $this->type('honor_last_name', $honorLastName); $this->type('honor_email', $honorFirstName . '@example.com'); //PaymentReminders $this->click('PaymentReminders'); $this->waitForElementPresent('additional_reminder_day'); $this->type('initial_reminder_day', '4'); $this->type('max_reminders', '2'); $this->type('additional_reminder_day', '4'); $this->click('_qf_Pledge_upload-bottom'); $this->waitForPageToLoad($this->getTimeoutMsec()); $this->waitForText('crm-notification-container', "Pledge has been recorded and the payment schedule has been created."); // verify if Pledge is created $this->waitForElementPresent("xpath=//div[@id='Pledges']//table//tbody/tr[1]/td[10]/span/a[text()='View']"); //click through to the Pledge view screen $this->click("xpath=//div[@id='Pledges']//table//tbody/tr[1]/td[10]/span/a[text()='View']"); $this->waitForElementPresent('_qf_PledgeView_next-bottom'); $pledgeDate = date('F jS, Y', strtotime('now')); $this->webtestVerifyTabularData(array( 'Pledge By' => $firstName . ' ' . $lastName, 'Total Pledge Amount' => '$ 100.00', 'To be paid in' => '10 installments of $ 10.00 every 1 week(s)', 'Payments are due on the' => '2 day of the period', 'Pledge Made' => $pledgeDate, 'Financial Type' => 'Donation', 'Pledge Status' => 'Pending', 'In Honor of' => 'Mr. ' . $honorFirstName . ' ' . $honorLastName, 'Initial Reminder Day' => '4 days prior to schedule date', 'Maximum Reminders Send' => 2, 'Send additional reminders' => '4 days after the last one sent', ) ); $this->clickLink('_qf_PledgeView_next-bottom', "xpath=//div[@id='Pledges']//table//tbody/tr[1]/td[10]/span/a[text()='View']"); $this->click("xpath=//div[@id='Pledges']//table//tbody/tr[1]/td[1]/span/a"); $this->waitForElementPresent("xpath=//div[@id='Pledges']//table//tbody//tr//td/table/tbody/tr[2]/td[8]/a[text()='Record Payment (Check, Cash, EFT ...)']"); } }