<?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_OnlineMembershipRenewTest extends CiviSeleniumTestCase {
parent::setUp();
}
+ /**
+ * FIXME: This test tries to update a contribution page (id=2) that may not exist :(
+ */
function testOnlineMembershipRenew() {
// a random 7-char string and an even number to make this pass unique
$hash = substr(sha1(rand()), 0, 7);
// this contribution page for membership signup
// select newly created processor
$xpath = "xpath=//label[text() = '{$processorName}']/preceding-sibling::input[1]";
- $this->assertTrue($this->isTextPresent($processorName));
+ $this->waitForText('css=.crm-contribution-contributionpage-amount-form-block-payment_processor', $processorName);
$this->check($xpath);
// save
$this->waitForElementPresent("_qf_Amount_next");
- $this->click('_qf_Amount_next');
- $this->waitForPageToLoad();
+ $this->clickLink('_qf_Amount_next');
// go to Membership block
$this->click('css=#tab_membership a');
$this->waitForElementPresent("member_is_active");
$this->check("member_is_active");
-
- $this->waitForElementPresent("new_title");
+
+ $this->waitForElementPresent("new_title");
+
if ($this->isElementPresent("member_price_set_id")) {
- $this->waitForElementPresent("member_price_set_id");
+ $this->waitForElementPresent("member_price_set_id");
+
$this->select("member_price_set_id", "label=- none -");
}
-
+
$this->waitForElementPresent("membership_type-block");
$this->check("xpath=//tr[@id='membership_type-block']/td[2]/table/tbody/tr/td/label[text()='General']/../input[2]");
$this->check("xpath=//tr[@id='membership_type-block']/td[2]/table/tbody/tr/td/label[text()='Student']/../input[2]");
$this->click("_qf_MembershipBlock_next-bottom");
$this->waitForTextPresent("'MembershipBlock' information has been saved");
-
+
// go to Profiles
$this->click('css=#tab_custom a');
// fill in Profiles
$this->waitForElementPresent('custom_pre_id');
- $this->select('custom_pre_id', 'value=1');
+ $this->select('css=tr.crm-contribution-contributionpage-custom-form-block-custom_pre_id span.crm-profile-selector-select select', 'value=1');
// save
$this->click('_qf_Custom_upload_done');
//Go to online membership signup page
$this->openCiviPage("contribute/transact", "reset=1&id=2", "_qf_Main_upload-bottom");
-
+
$this->click("xpath=//div[@class='crm-section membership_amount-section']/div[2]//span/label/span[2][contains(text(),'Student')]");
//Type first name and last name and email
$this->type("first_name", $firstName);
$this->type("last_name", $lastName);
$this->type("email-5", $email);
+ $this->select("state_province-1", "value=1001");
//Credit Card Info
$this->select("credit_card_type", "value=Visa");
$this->select("billing_state_province_id-5", "value=1004");
$this->type("billing_postal_code-5", "94129");
- $this->click("_qf_Main_upload-bottom");
-
- $this->waitForPageToLoad($this->getTimeoutMsec());
- $this->waitForElementPresent("_qf_Confirm_next-bottom");
+ $this->clickLink("_qf_Main_upload-bottom", "_qf_Confirm_next-bottom");
$this->click("_qf_Confirm_next-bottom");
$this->waitForPageToLoad($this->getTimeoutMsec());
$this->openCiviPage("member/search", "reset=1", "member_end_date_high");
$this->type("sort_name", "$firstName $lastName");
- $this->click("_qf_Search_refresh");
- $this->waitForPageToLoad($this->getTimeoutMsec());
-
- $this->waitForElementPresent('css=#memberSearch table tbody tr td span a.action-item-first');
- $this->click('css=#memberSearch table tbody tr td span a.action-item-first');
+ $this->clickLink("_qf_Search_refresh", 'css=#memberSearch table tbody tr td span a.action-item:first-child');
+ $this->click('css=#memberSearch table tbody tr td span a.action-item:first-child');
$this->waitForElementPresent("_qf_MembershipView_cancel-bottom");
//View Membership Record
$this->type("first_name", $firstName);
$this->type("last_name", $lastName);
$this->type("email-5", $email);
+ $this->select("state_province-1", "value=1001");
//Credit Card Info
$this->select("credit_card_type", "value=Visa");
$this->select("billing_state_province_id-5", "value=1004");
$this->type("billing_postal_code-5", "94129");
- $this->click("_qf_Main_upload-bottom");
-
- $this->waitForPageToLoad($this->getTimeoutMsec());
- $this->waitForElementPresent("_qf_Confirm_next-bottom");
+ $this->clickLink("_qf_Main_upload-bottom", "_qf_Confirm_next-bottom");
$this->click("_qf_Confirm_next-bottom");
$this->waitForPageToLoad($this->getTimeoutMsec());
$this->openCiviPage("member/search", "reset=1", "member_end_date_high");
$this->type("sort_name", "$firstName $lastName");
- $this->click("_qf_Search_refresh");
- $this->waitForPageToLoad($this->getTimeoutMsec());
-
- $this->waitForElementPresent('css=#memberSearch table tbody tr td span a.action-item-first');
- $this->click('css=#memberSearch table tbody tr td span a.action-item-first');
+ $this->clickLink("_qf_Search_refresh", 'css=#memberSearch table tbody tr td span a.action-item:first-child');
+ $this->click('css=#memberSearch table tbody tr td span a.action-item:first-child');
$this->waitForElementPresent("_qf_MembershipView_cancel-bottom");
//View Membership Record
}
}
+ /**
+ * FIXME: This test tries to update a contribution page (id=2) that may not exist :(
+ */
function testOnlineMembershipRenewChangeType() {
// a random 7-char string and an even number to make this pass unique
$hash = substr(sha1(rand()), 0, 7);
//this contribution page for membership signup
$xpath = "xpath=//label[text() = '{$processorName}']/preceding-sibling::input[1]";
- $this->assertTrue($this->isTextPresent($processorName));
+ $this->waitForText('css=.crm-contribution-contributionpage-amount-form-block-payment_processor', $processorName);
$this->check($xpath);
// save
$this->click('css=#tab_membership a');
$this->waitForElementPresent("member_is_active");
$this->check("member_is_active");
-
+
$this->waitForElementPresent("new_title");
if ($this->isElementPresent("member_price_set_id")) {
- $this->waitForElementPresent("member_price_set_id");
+ $this->waitForElementPresent("member_price_set_id");
+
$this->select("member_price_set_id", "label=- none -");
}
-
+
$this->waitForElementPresent("membership_type-block");
$this->check("xpath=//tr[@id='membership_type-block']/td[2]/table/tbody/tr/td/label[text()='General']/../input[2]");
$this->check("xpath=//tr[@id='membership_type-block']/td[2]/table/tbody/tr/td/label[text()='Student']/../input[2]");
$this->click("_qf_MembershipBlock_next-bottom");
$this->waitForTextPresent("'MembershipBlock' information has been saved");
-
+
// go to Profiles
$this->click('css=#tab_custom a');
// fill in Profiles
$this->waitForElementPresent('custom_pre_id');
- $this->select('custom_pre_id', 'value=1');
+ $this->select('css=tr.crm-contribution-contributionpage-custom-form-block-custom_pre_id span.crm-profile-selector-select select', 'value=1');
// save
$this->click('_qf_Custom_upload_done');
$this->type("first_name", $firstName);
$this->type("last_name", $lastName);
+ $this->select("state_province-1", "value=1001");
//Credit Card Info
$this->select("credit_card_type", "value=Visa");
$this->select("credit_card_type", "label=Visa");
$this->select("billing_state_province_id-5", "value=1004");
$this->type("billing_postal_code-5", "94129");
- $this->click("_qf_Main_upload-bottom");
-
- $this->waitForPageToLoad($this->getTimeoutMsec());
- $this->waitForElementPresent("_qf_Confirm_next-bottom");
+ $this->clickLink("_qf_Main_upload-bottom", "_qf_Confirm_next-bottom");
$this->click("_qf_Confirm_next-bottom");
$this->waitForPageToLoad($this->getTimeoutMsec());
$this->openCiviPage("member/search", "reset=1", "member_end_date_high");
$this->type("sort_name", "$firstName $lastName");
- $this->click("_qf_Search_refresh");
- $this->waitForPageToLoad($this->getTimeoutMsec());
-
- $this->waitForElementPresent('css=#memberSearch table tbody tr td span a.action-item-first');
- $this->click('css=#memberSearch table tbody tr td span a.action-item-first');
+ $this->clickLink("_qf_Search_refresh", 'css=#memberSearch table tbody tr td span a.action-item:first-child');
+ $this->click('css=#memberSearch table tbody tr td span a.action-item:first-child');
$this->waitForElementPresent("_qf_MembershipView_cancel-bottom");
- $matches = array();
- preg_match('/id=([0-9]+)/', $this->getLocation(), $matches);
- $membershipCreatedId = $matches[1];
+ $membershipCreatedId = $this->urlArg('id');
$memberSince = date('F jS, Y');
$this->type("cvv2", "000");
$this->select("credit_card_exp_date[M]", "value=1");
$this->select("credit_card_exp_date[Y]", "value=2020");
- $this->click("_qf_Main_upload-bottom");
-
- $this->waitForPageToLoad($this->getTimeoutMsec());
- $this->waitForElementPresent("_qf_Confirm_next-bottom");
+ $this->clickLink("_qf_Main_upload-bottom", "_qf_Confirm_next-bottom");
$this->click("_qf_Confirm_next-bottom");
$this->waitForPageToLoad($this->getTimeoutMsec());
$this->openCiviPage("member/search", "reset=1", "member_end_date_high");
$this->type("sort_name", "$firstName $lastName");
- $this->click("_qf_Search_refresh");
- $this->waitForPageToLoad($this->getTimeoutMsec());
-
- $this->waitForElementPresent('css=#memberSearch table tbody tr td span a.action-item-first');
- $this->click('css=#memberSearch table tbody tr td span a.action-item-first');
+ $this->clickLink("_qf_Search_refresh", 'css=#memberSearch table tbody tr td span a.action-item:first-child');
+ $this->click('css=#memberSearch table tbody tr td span a.action-item:first-child');
$this->waitForElementPresent("_qf_MembershipView_cancel-bottom");
- $matches = array();
- preg_match('/id=([0-9]+)/', $this->getLocation(), $matches);
- $membershipRenewedId = $matches[1];
+ $membershipRenewedId = $this->urlArg('id');
//View Membership Record
$verifyMembershipData = array(
function testUpdateInheritedMembershipOnBehalfOfRenewal() {
// Log in as admin
$this->webtestLogin('admin');
-
+
$this->enableComponents('CiviMember');
//check for online contribution and profile listings permissions
$this->click('_qf_Contact_upload_view');
$this->waitForPageToLoad($this->getTimeoutMsec());
- $this->assertTrue($this->isTextPresent("Organization $title has been created."));
+ $this->waitForText('crm-notification-container', "Organization $title has been created.");
$this->openCiviPage("admin/member/membershipType", "reset=1&action=browse");
$membershipTypeTitle = "Membership Type $title";
$this->type('name', "Membership Type $title");
-
- $this->type('member_of_contact', $title);
- $this->click('member_of_contact');
- $this->waitForElementPresent("css=div.ac_results-inner li");
- $this->click("css=div.ac_results-inner li");
+
+ $this->select2('member_of_contact_id', $title);
$this->type('minimum_fee', '100');
$this->select( 'financial_type_id', 'value=2' );
$this->type('duration_interval', 1);
$this->select('duration_unit', 'label=year');
- $this->select('period_type', 'label=rolling');
+ $this->select('period_type', 'value=rolling');
$this->removeSelection('relationship_type_id', 'label=- select -');
$this->addSelection('relationship_type_id', 'label=Employer of');
$this->click('_qf_MembershipType_upload-bottom');
$this->waitForElementPresent('link=Add Membership Type');
- $this->assertTrue($this->isTextPresent("The membership type 'Membership Type $title' has been saved."));
+ $this->waitForText('crm-notification-container', "The membership type 'Membership Type $title' has been saved.");
$url = $this->getAttribute("xpath=//div[@id='membership_type']//div[@class='dataTables_wrapper']//table/tbody//tr/td[1][text()='{$membershipTypeTitle}']/../td[12]/span/a[3][text()='Delete']/@href");
$this->type('first_name', $firstName);
$this->type('last_name', $lastName);
+ $this->select("state_province-1", "value=1001");
//Credit Card Info
$this->select("credit_card_type", "value=Visa");
$this->select("billing_country_id-5", "value=1228");
$this->select("billing_state_province_id-5", "value=1004");
$this->type("billing_postal_code-5", "94129");
- $this->click("_qf_Main_upload-bottom");
- $this->waitForPageToLoad($this->getTimeoutMsec());
- $this->waitForElementPresent("_qf_Confirm_next-bottom");
+ $this->clickLink("_qf_Main_upload-bottom", "_qf_Confirm_next-bottom");
$this->click("_qf_Confirm_next-bottom");
$this->waitForPageToLoad($this->getTimeoutMsec());
-
// Log in using webtestLogin() method
$this->webtestLogin();
$this->openCiviPage("member/search", "reset=1", "member_end_date_high");
$this->type("sort_name", "$organisationName");
- $this->click("_qf_Search_refresh");
- $this->waitForPageToLoad($this->getTimeoutMsec());
-
- $this->waitForElementPresent('css=#memberSearch table tbody tr td span a.action-item-first');
- $this->click('css=#memberSearch table tbody tr td span a.action-item-first');
+ $this->clickLink("_qf_Search_refresh", 'css=#memberSearch table tbody tr td span a.action-item:first-child');
+ $this->click('css=#memberSearch table tbody tr td span a.action-item:first-child');
$this->waitForElementPresent("_qf_MembershipView_cancel-bottom");
//View Membership Record
$this->openCiviPage("member/search", "reset=1", "member_end_date_high");
$this->type("sort_name", "$lastName, $firstName");
- $this->click("_qf_Search_refresh");
- $this->waitForPageToLoad($this->getTimeoutMsec());
-
- $this->waitForElementPresent('css=#memberSearch table tbody tr td span a.action-item-first');
- $this->click('css=#memberSearch table tbody tr td span a.action-item-first');
+ $this->clickLink("_qf_Search_refresh", 'css=#memberSearch table tbody tr td span a.action-item:first-child');
+ $this->click('css=#memberSearch table tbody tr td span a.action-item:first-child');
$this->waitForElementPresent("_qf_MembershipView_cancel-bottom");
//View Membership Record
//logout
$this->webtestLogout();
- $this->openCiviPage("contribute/transact", "reset=1&id=$pageId");
+ $this->openCiviPage("contribute/transact", "reset=1&id=$pageId", "_qf_Main_upload-bottom");
$this->click("xpath=//div[@class='crm-section membership_amount-section']/div[2]//span/label/span[2][contains(text(),'$membershipTypeTitle')]");
$this->type("email-5", $email);
$this->type('first_name', $firstName);
$this->type('last_name', $lastName);
+ $this->select("state_province-1", "value=1001");
//Credit Card Info
$this->select("credit_card_type", "value=Visa");
$this->select("billing_state_province_id-5", "value=1004");
$this->type("billing_postal_code-5", "94129");
- $this->click("_qf_Main_upload-bottom");
-
- $this->waitForPageToLoad($this->getTimeoutMsec());
- $this->waitForElementPresent("_qf_Confirm_next-bottom");
+ $this->clickLink("_qf_Main_upload-bottom", "_qf_Confirm_next-bottom");
$this->click("_qf_Confirm_next-bottom");
$this->waitForPageToLoad($this->getTimeoutMsec());
$this->openCiviPage("member/search", "reset=1", "member_end_date_high");
$this->type("sort_name", "$organisationName");
- $this->click("_qf_Search_refresh");
- $this->waitForPageToLoad($this->getTimeoutMsec());
-
- $this->waitForElementPresent('css=#memberSearch table tbody tr td span a.action-item-first');
- $this->click('css=#memberSearch table tbody tr td span a.action-item-first');
+ $this->clickLink("_qf_Search_refresh", 'css=#memberSearch table tbody tr td span a.action-item:first-child');
+ $this->click('css=#memberSearch table tbody tr td span a.action-item:first-child');
$this->waitForElementPresent("_qf_MembershipView_cancel-bottom");
//View Membership Record
$this->openCiviPage("member/search", "reset=1", "member_end_date_high");
$this->type("sort_name", "$lastName, $firstName");
- $this->click("_qf_Search_refresh");
- $this->waitForPageToLoad($this->getTimeoutMsec());
-
- $this->waitForElementPresent('css=#memberSearch table tbody tr td span a.action-item-first');
- $this->click('css=#memberSearch table tbody tr td span a.action-item-first');
+ $this->clickLink("_qf_Search_refresh", 'css=#memberSearch table tbody tr td span a.action-item:first-child');
+ $this->click('css=#memberSearch table tbody tr td span a.action-item:first-child');
$this->waitForElementPresent("_qf_MembershipView_cancel-bottom");
//View Membership Record