CRM-15099 - Webtest for Gift Membership
authoratif-shaikh <shaikh388@gmail.com>
Thu, 14 Aug 2014 14:48:51 +0000 (20:18 +0530)
committeratif-shaikh <shaikh388@gmail.com>
Thu, 14 Aug 2014 14:48:51 +0000 (20:18 +0530)
https://issues.civicrm.org/jira/browse/CRM-15099

tests/phpunit/WebTest/Member/StandaloneAddTest.php

index 8123794d5e08dbeafb0998e994c1210782755f11..bd51f8c4a765803e976e3544d420c5d7627a0f1a 100644 (file)
@@ -88,6 +88,74 @@ class WebTest_Member_StandaloneAddTest extends CiviSeleniumTestCase {
     $this->webtestVerifyTabularData($expected);
   }
 
+  function testStandaloneGiftMembership() {
+
+    $this->webtestLogin();
+
+    // create contact
+    $firstName = substr(sha1(rand()), 0, 7);
+    $this->webtestAddContact($firstName, "Memberson", "Memberson{$firstName}@memberson.name");
+    $contactName = "Memberson, $firstName";
+
+    $giftMemberfirstName = substr(sha1(rand()), 0, 7);
+    $this->webtestAddContact($giftMemberfirstName, "Memberson", "Memberson{$giftMemberfirstName}@memberson.name");
+    $giftMembercontactName = "Memberson, $giftMemberfirstName";
+
+    // add membership type
+    $membershipTypes = $this->webtestAddMembershipType();
+
+    // now add membership
+    $this->openCiviPage("member/add", "reset=1&action=add&context=standalone", "_qf_Membership_upload");
+
+    // select contact
+    $this->webtestFillAutocomplete($firstName);
+
+    // fill in Membership Organization
+    $this->select("membership_type_id[0]", "label={$membershipTypes['member_of_contact']}");
+
+    // select membership type
+    $this->select("membership_type_id[1]", "label={$membershipTypes['membership_type']}");
+
+    // fill in Source
+    $this->type("source", "Membership StandaloneAddTest Webtest");
+
+    // fill in Start Date
+    $this->webtestFillDate('start_date');
+
+    // add softcredit details
+    $totalAmount = 100;
+    $financialType = 'Donation';
+    $this->clickLink('is_different_contribution_contact','total_amount',FALSE);
+
+    $this->select('soft_credit_type_id', 'Gift');
+    $this->select2('soft_credit_contact_id', $giftMembercontactName);
+    $this->select('financial_type_id','Donation');
+    $this->type('total_amount', $totalAmount);
+    $this->select('payment_instrument_id', 'Check');
+    $this->select('contribution_status_id', 'Completed');
+
+    $this->click("_qf_Membership_upload");
+
+    //View Membership
+    $this->waitForElementPresent("xpath=//div[@id='memberships']//table//tbody/tr[1]/td[9]/span/a[text()='View']");
+    $this->click("xpath=//div[@id='memberships']//table/tbody/tr[1]/td[9]/span/a[text()='View']");
+    $this->waitForElementPresent("_qf_MembershipView_cancel-bottom");
+
+    // verify soft credit data
+    $expected = array(
+      '1' => $giftMemberfirstName.' Memberson',
+      '2' => $totalAmount,
+      '3' => 'Gift',
+      '4' => 'Donation',
+      '6' => 'Completed',
+    );
+
+    foreach($expected as $key => $value) {
+      $this->verifyText("xpath=//div[@class='crm-accordion-wrapper']//table/tbody//tr/td[$key]", $value);
+    }
+
+  }
+
   function testStandaloneMemberOverrideAdd() {
 
     $this->webtestLogin();