Webtest cleanup
authorColeman Watts <coleman@civicrm.org>
Fri, 19 Sep 2014 21:10:08 +0000 (17:10 -0400)
committerColeman Watts <coleman@civicrm.org>
Fri, 19 Sep 2014 21:10:08 +0000 (17:10 -0400)
tests/phpunit/CiviTest/CiviSeleniumTestCase.php
tests/phpunit/WebTest/Contact/AdvancedSearchTest.php
tests/phpunit/WebTest/Contact/ContactTagTest.php
tests/phpunit/WebTest/Contact/SearchTest.php
tests/phpunit/WebTest/Contribute/UpdateContributionTest.php

index 65dd1b8f2d0075eebce4222e241475f3991b9b23..1b4d1bfdbf1429410d4a2ee4e05bf424b7b9e4bd 100644 (file)
@@ -407,12 +407,11 @@ class CiviSeleniumTestCase extends PHPUnit_Extensions_SeleniumTestCase {
    * @return mixed either a string with the (either generated or provided) email or null (if no email)
    */
   function webtestAddContact($fname = 'Anthony', $lname = 'Anderson', $email = NULL, $contactSubtype = NULL) {
-    $url = $this->sboxPath . 'civicrm/contact/add?reset=1&ct=Individual';
+    $args = 'reset=1&ct=Individual';
     if ($contactSubtype) {
-      $url = $url . "&cst={$contactSubtype}";
+      $args .= "&cst={$contactSubtype}";
     }
-    $this->open($url);
-    $this->waitForElementPresent('_qf_Contact_upload_view-bottom');
+    $this->openCiviPage('contact/add', $args, '_qf_Contact_upload_view-bottom');
     $this->type('first_name', $fname);
     $this->type('last_name', $lname);
     if ($email === TRUE) {
@@ -421,9 +420,7 @@ class CiviSeleniumTestCase extends PHPUnit_Extensions_SeleniumTestCase {
     if ($email) {
       $this->type('email_1_email', $email);
     }
-    $this->waitForElementPresent('_qf_Contact_upload_view-bottom');
-    $this->click('_qf_Contact_upload_view-bottom');
-    $this->waitForPageToLoad($this->getTimeoutMsec());
+    $this->clickLink('_qf_Contact_upload_view-bottom');
     return $email;
   }
 
@@ -434,7 +431,6 @@ class CiviSeleniumTestCase extends PHPUnit_Extensions_SeleniumTestCase {
    * @return null|string
    */
   function webtestAddHousehold($householdName = "Smith's Home", $email = NULL) {
-
     $this->openCiviPage("contact/add", "reset=1&ct=Household");
     $this->click('household_name');
     $this->type('household_name', $householdName);
@@ -446,8 +442,7 @@ class CiviSeleniumTestCase extends PHPUnit_Extensions_SeleniumTestCase {
       $this->type('email_1_email', $email);
     }
 
-    $this->click('_qf_Contact_upload_view');
-    $this->waitForPageToLoad($this->getTimeoutMsec());
+    $this->clickLink('_qf_Contact_upload_view');
     return $email;
   }
 
@@ -459,12 +454,11 @@ class CiviSeleniumTestCase extends PHPUnit_Extensions_SeleniumTestCase {
    * @return null|string
    */
   function webtestAddOrganization($organizationName = "Organization XYZ", $email = NULL, $contactSubtype = NULL) {
-
-    $url = $this->sboxPath . 'civicrm/contact/add?reset=1&ct=Organization';
+    $args = 'reset=1&ct=Organization';
     if ($contactSubtype) {
-      $url = $url . "&cst={$contactSubtype}";
+      $args .= "&cst={$contactSubtype}";
     }
-    $this->open($url);
+    $this->openCiviPage('contact/add', $args, '_qf_Contact_upload_view-bottom');
     $this->click('organization_name');
     $this->type('organization_name', $organizationName);
 
@@ -474,8 +468,7 @@ class CiviSeleniumTestCase extends PHPUnit_Extensions_SeleniumTestCase {
     if ($email) {
       $this->type('email_1_email', $email);
     }
-    $this->click('_qf_Contact_upload_view');
-    $this->waitForPageToLoad($this->getTimeoutMsec());
+    $this->clickLink('_qf_Contact_upload_view');
     return $email;
   }
 
@@ -798,7 +791,7 @@ class CiviSeleniumTestCase extends PHPUnit_Extensions_SeleniumTestCase {
     $paymentProcessorLink = $this->getAttribute("xpath=//table[@class='selector row-highlight']//tbody//tr/td[text()='{$processorName}']/../td[7]/span/a[1]@href");
     return $this->urlArg('id', $paymentProcessorLink);
   }
+
   function webtestAddCreditCardDetails() {
     $this->waitForElementPresent('credit_card_type');
     $this->select('credit_card_type', 'label=Visa');
@@ -1926,7 +1919,7 @@ class CiviSeleniumTestCase extends PHPUnit_Extensions_SeleniumTestCase {
     else {
       $text = "The financial type \"{$financialType['name']}\" has been updated.";
     }
-    $this->assertSuccessMsg($text);
+    $this->checkCRMAlert($text);
   }
 
   /**
@@ -2193,20 +2186,23 @@ class CiviSeleniumTestCase extends PHPUnit_Extensions_SeleniumTestCase {
   }
 
   /**
-   * Wait for unobtrusive status message as set by CRM.status
+   * Check for unobtrusive status message as set by CRM.status
    */
-  function waitForStatusMsg() {
+  function checkCRMStatus($text=NULL) {
     $this->waitForElementPresent("css=.crm-status-box-outer.status-success");
+    if ($text) {
+      $this->assertElementContainsText("css=.crm-status-box-outer.status-success", $text);
+    }
   }
-  
+
   /**
-   * Wait for unobtrusive status message as set by CRM.status
+   * Check for obtrusive status message as set by CRM.alert
    */
-  function assertSuccessMsg($text) {
-    $this->waitForElementPresent("css=div.success");
-    $this->assertElementContainsText("css=div.success", $text);
+  function checkCRMAlert($text, $type='success') {
+    $this->waitForElementPresent("css=div.ui-notify-message.$type");
+    $this->waitForText("css=div.ui-notify-message.$type", $text);
   }
-  
+
   /**
    * function to enable or disable Pop-ups via Display Preferences
    */
@@ -2217,7 +2213,7 @@ class CiviSeleniumTestCase extends PHPUnit_Extensions_SeleniumTestCase {
         $this->click('ajaxPopupsEnabled');
     }
     if ($enabled) {
-      $this->assertChecked('ajaxPopupsEnabled');      
+      $this->assertChecked('ajaxPopupsEnabled');
     }
     else {
       $this->assertNotChecked('ajaxPopupsEnabled');
index b8493d34723665328daf17e0c508e85cdbb01718..eaa7ed4463c3a7c850345f49f313dce24bf2337f 100644 (file)
@@ -64,7 +64,7 @@ class WebTest_Contact_AdvancedSearchTest extends CiviSeleniumTestCase {
     // go to tag tab and add to new tag
     $this->clickAjaxLink("css=li#tab_tag a", "css=div#tagtree");
     $this->click("xpath=//ul/li/span/label[text()=\"$tagName\"]");
-    $this->waitForStatusMsg();
+    $this->checkCRMStatus();
 
     // register for event ( auto add activity and contribution )
     $this->clickAjaxLink("link=Register for Event");
index 41ee7ad46c1ef6500f71c6989d05ce0f62d6bda7..5c2d623f8cd313d8d13fdd9e830c04e6bf7e0983 100644 (file)
@@ -73,7 +73,7 @@ class WebTest_Contact_ContactTagTest extends CiviSeleniumTestCase {
 
     // check tag we have created
     $this->click("xpath=//ul/li/span/label[text()=\"$tagName\"]");
-    $this->waitForStatusMsg();
+    $this->checkCRMStatus();
   }
 
   function testTagSetContact() {
index 49722373328c313155c91984d70b2b0fe59a5564..1f10ce2524c3ac019afef04ea211cb3fc022dd78 100644 (file)
@@ -126,7 +126,7 @@ class WebTest_Contact_SearchTest extends CiviSeleniumTestCase {
 
     // select tag
     $this->click("xpath=//ul/li/span/label[text()=\"$tagName\"]");
-    $this->waitForStatusMsg();
+    $this->checkCRMStatus();
 
     // visit contact search page
     $this->openCiviPage("contact/search", "reset=1");
index fabf2eb9be354a1b1fa11ce503adee4464b9381b..2b659d0e63957bc30a9c4f04bdd3450ed6d39d96 100755 (executable)
@@ -184,7 +184,7 @@ class WebTest_Contribute_UpdateContributionTest extends CiviSeleniumTestCase {
    $this->select('product_name_0', "label=$premiumName2 ( $sku2 )");
    // Clicking save.
    $this->clickLink("_qf_Contribution_upload", "xpath=//div[@class='view-content']//table[@class='selector row-highlight']//tbody/tr[1]/td[7][text()='$premiumName2']", FALSE);
-   $this->assertSuccessMsg("The contribution record has been saved.");
+   $this->checkCRMAlert("The contribution record has been saved.");
 
    //Assertions
    $actualAmount = $this->_getPremiumActualCost($contId, $to, $from, $cost2, "'civicrm_contribution'");