<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.3 |
+ | CiviCRM version 4.5 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013 |
+ | Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
+--------------------------------------------------------------------+
*/
-
require_once 'CiviTest/CiviSeleniumTestCase.php';
class WebTest_Member_OfflineMembershipRenewTest extends CiviSeleniumTestCase {
}
function testOfflineMembershipRenew() {
- $this->open($this->sboxPath);
$this->webtestLogin();
// make sure period is correct for the membership type we testing for,
$this->webtestFillDate('join_date', '-2 year');
// Let Start Date and End Date be auto computed
- // added sleep to make sure jscript onchange for total_amount has a chance to fire
+
+ // Because it tends to cause problems, all uses of sleep() must be justified in comments
+ // Sleep should never be used for wait for anything to load from the server
+ // Justification for this instance: make sure onchange for total_amount has a chance to fire
sleep(2);
// Clicking save.
$this->waitForTextPresent($sourceText);
// Is status message correct?
- $this->assertElementContainsText('crm-notification-container', "{$membershipTypes['membership_type']} membership for $firstName Memberson has been added.",
- "Status message didn't show up after saving!"
- );
+ $this->waitForText('crm-notification-container', "{$membershipTypes['membership_type']} membership for $firstName Memberson has been added.");
- $this->waitForElementPresent("xpath=//div[@id='Memberships']//table/tbody/tr/td[9]/span[2][text()='more']/ul/li/a[text()='Renew']");
+ $this->waitForElementPresent("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span[2][text()='more']/ul/li/a[text()='Renew']");
// click through to the Membership Renewal Link
- $this->click("xpath=//div[@id='Memberships']//table/tbody/tr/td[9]/span[2][text()='more']/ul/li/a[text()='Renew']");
+ $this->click("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span[2][text()='more']/ul/li/a[text()='Renew']");
$this->waitForElementPresent('_qf_MembershipRenewal_cancel-bottom');
// page was loaded
$this->waitForTextPresent($sourceText);
- $this->waitForElementPresent("xpath=//div[@id='Memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
+ $this->waitForElementPresent("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
// click through to the membership view screen
- $this->click("xpath=//div[@id='Memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
+ $this->click("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
$this->waitForElementPresent('_qf_MembershipView_cancel-bottom');
}
function testOfflineMemberRenewOverride() {
- $this->open($this->sboxPath);
$this->webtestLogin();
// add membership type
$this->waitForTextPresent($sourceText);
// Is status message correct?
- $this->assertElementContainsText('crm-notification-container', "{$membershipTypes['membership_type']} membership for $firstName Memberson has been added.",
- "Status message didn't show up after saving!"
- );
+ $this->waitForText('crm-notification-container', "{$membershipTypes['membership_type']} membership for $firstName Memberson has been added.");
- $this->waitForElementPresent("xpath=//div[@id='Memberships']//table/tbody/tr/td[9]/span[2][text()='more']/ul/li/a[text()='Renew']");
+ $this->waitForElementPresent("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span[2][text()='more']/ul/li/a[text()='Renew']");
// click through to the Membership Renewal Link
- $this->click("xpath=//div[@id='Memberships']//table/tbody/tr/td[9]/span[2][text()='more']/ul/li/a[text()='Renew']");
+ $this->click("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span[2][text()='more']/ul/li/a[text()='Renew']");
$this->waitForElementPresent('_qf_MembershipRenewal_cancel-bottom');
// page was loaded
$this->waitForTextPresent($sourceText);
- $this->waitForElementPresent("xpath=//div[@id='Memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
+ $this->waitForElementPresent("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
// click through to the membership view screen
- $this->click("xpath=//div[@id='Memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
+ $this->click("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
$this->waitForElementPresent('_qf_MembershipView_cancel-bottom');
}
function testOfflineMembershipRenewChangeType() {
- $this->open($this->sboxPath);
$this->webtestLogin();
// make sure period is correct for the membership type we testing for,
$this->webtestFillDate('join_date', '-2 year');
// Let Start Date and End Date be auto computed
- // added sleep to make sure jscript onchange for total_amount has a chance to fire
+
+ // Because it tends to cause problems, all uses of sleep() must be justified in comments
+ // Sleep should never be used for wait for anything to load from the server
+ // Justification for this instance: make sure onchange for total_amount has a chance to fire
sleep(2);
// Clicking save.
$this->waitForTextPresent($sourceText);
// Is status message correct?
- $this->assertElementContainsText('crm-notification-container', "{$membershipTypes['membership_type']} membership for $firstName Memberson has been added.",
- "Status message didn't show up after saving!"
- );
+ $this->waitForText('crm-notification-container', "{$membershipTypes['membership_type']} membership for $firstName Memberson has been added.");
- $this->waitForElementPresent("xpath=//div[@id='Memberships']//table/tbody/tr/td[7]/span[2][text()='more']/ul/li/a[text()='Renew']");
+ $this->waitForElementPresent("xpath=//div[@id='inactive-memberships']//table/tbody/tr/td[7]/span[2][text()='more']/ul/li/a[text()='Renew']");
// click through to the Membership Renewal Link
- $this->click("xpath=//div[@id='Memberships']//table/tbody/tr/td[7]/span[2][text()='more']/ul/li/a[text()='Renew']");
+ $this->click("xpath=//div[@id='inactive-memberships']//table/tbody/tr/td[7]/span[2][text()='more']/ul/li/a[text()='Renew']");
$this->waitForElementPresent('_qf_MembershipRenewal_cancel-bottom');
$this->select('membership_type_id[1]', "label={$newMembershipType['membership_type']}");
$this->click('membership_type_id[0]');
+ // Because it tends to cause problems, all uses of sleep() must be justified in comments
+ // Sleep should never be used for wait for anything to load from the server
+ // Justification for this instance: wait for onchange handler
sleep(2);
// save the renewed membership
$this->click('_qf_MembershipRenewal_upload-bottom');
- $this->waitForPageToLoad($this->getTimeoutMsec());
// page was loaded
$this->waitForTextPresent($sourceText);
- $this->waitForElementPresent("xpath=//div[@id='Memberships']//div[@id='memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
+ $this->waitForElementPresent("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
// click through to the membership view screen
- $this->click("xpath=//div[@id='Memberships']//div[@id='memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
+ $this->click("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
$this->waitForElementPresent('_qf_MembershipView_cancel-bottom');
}
function testOfflineMembershipRenewMultipleTerms() {
- $this->open($this->sboxPath);
$this->webtestLogin();
// make sure period is correct for the membership type we testing for,
$this->type('check_number', '1023');
$this->select('contribution_status_id', "label=Completed");
$this->click('send_receipt');
- // added sleep to make sure jscript onchange for total_amount has a chance to fire
+
+ // Because it tends to cause problems, all uses of sleep() must be justified in comments
+ // Sleep should never be used for wait for anything to load from the server
+ // Justification for this instance: make sure onchange for total_amount has a chance to fire
sleep(2);
// Clicking save.
$this->waitForTextPresent($sourceText);
// Is status message correct?
- $this->assertElementContainsText('crm-notification-container', "{$membershipTypes['membership_type']} membership for $firstName Memberson has been added.",
- "Status message didn't show up after saving!"
- );
- $this->assertElementContainsText('crm-notification-container', "A membership confirmation and receipt has been sent to {$firstName}@memberson.com.",
- "Email sent to member message didn't show up after saving membership!"
- );
+ $this->waitForText('crm-notification-container', "{$membershipTypes['membership_type']} membership for $firstName Memberson has been added.");
+ $this->waitForText('crm-notification-container', "A membership confirmation and receipt has been sent to {$firstName}@memberson.com.");
- $this->waitForElementPresent("xpath=//div[@id='Memberships']//table/tbody/tr/td[9]/span[2][text()='more']/ul/li/a[text()='Renew']");
+ $this->waitForElementPresent("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span[2][text()='more']/ul/li/a[text()='Renew']");
// click through to the Membership Renewal Link
- $this->click("xpath=//div[@id='Memberships']//table/tbody/tr/td[9]/span[2][text()='more']/ul/li/a[text()='Renew']");
+ $this->click("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span[2][text()='more']/ul/li/a[text()='Renew']");
$this->waitForElementPresent('_qf_MembershipRenewal_cancel-bottom');
// Record contribution and set number of terms to 2
$this->waitForElementPresent('num_terms');
$this->type('num_terms', '');
$this->type('num_terms', '2');
- // added sleep to make sure jscript onchange for total_amount has a chance to fire
+
+ // Because it tends to cause problems, all uses of sleep() must be justified in comments
+ // Sleep should never be used for wait for anything to load from the server
+ // Justification for this instance: make sure onchange for total_amount has a chance to fire
sleep(2);
$this->click('total_amount');
$this->verifyValue('total_amount', "200.00");
// save the renewed membership
$this->click('_qf_MembershipRenewal_upload-bottom');
- $this->waitForPageToLoad($this->getTimeoutMsec());
// page was loaded
$this->waitForTextPresent($sourceText);
- $this->waitForElementPresent("xpath=//div[@id='Memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
+ $this->waitForElementPresent("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
// click through to the membership view screen
- $this->click("xpath=//div[@id='Memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
+ $this->click("xpath=//div[@id='memberships']//table/tbody/tr/td[9]/span/a[text()='View']");
$this->waitForElementPresent('_qf_MembershipView_cancel-bottom');
);
$this->webtestVerifyTabularData($verifyMembershipRenewData);
}
-}
\ No newline at end of file
+}