4.6 Webtest fixes
[civicrm-core.git] / tests / phpunit / WebTest / Event / AddEventTest.php
index 0f18e4a5a9e71a3fffe0433c61b9b0fc931f4297..20861695aefc710df11635b9e0aac4abe50d0f39 100644 (file)
@@ -877,12 +877,11 @@ WHERE ceft.entity_id = %1 AND ceft.entity_table = 'civicrm_contribution'";
 
     //Participant Status
     $this->openCiviPage("admin/participant_status", "reset=1&action=browse");
-    $this->_testEnableParticipantStatuses('Awaiting approval');
-    $this->isElementPresent("xpath=//td[@class='crm-particpant-label'][contains(text(), 'Awaiting approval')]/../td[9]/span/a[2][text()='Disable']");
-    $this->_testEnableParticipantStatuses('Pending from approval');
-    $this->isElementPresent("xpath=//td[@class='crm-particpant-label'][contains(text(), 'Pending from approval')]/../td[9]/span/a[2][text()='Disable']");
-    $this->_testEnableParticipantStatuses('Rejected');
-    $this->isElementPresent("xpath=//td[@class='crm-particpant-label'][contains(text(), 'Rejected')]/../td[9]/span/a[2][text()='Disable']");
+    foreach (array('Awaiting approval', 'Pending from approval', 'Rejected') as $label) {
+      $status = $this->webtest_civicrm_api("ParticipantStatusType", "getsingle", array('label' => $label));
+      $this->_testEnableParticipantStatuses($status['id']);
+      $this->isElementPresent("xpath=//tr[@id='participant_status_type-{$status['id']}']/td[9]/span/a[2][text()='Disable']");
+    }
 
     //Create New Event
 
@@ -967,11 +966,11 @@ WHERE ceft.entity_id = %1 AND ceft.entity_table = 'civicrm_contribution'";
   /**
    * @param $status
    */
-  public function _testEnableParticipantStatuses($status) {
+  public function _testEnableParticipantStatuses($statusId) {
     // enable participant status
-    if ($this->isElementPresent("xpath=//td[@class='crm-participant-label crm-editable crm-editable-enabled'][contains(text(), '{$status}')]/../td[9]/span/a[2][text()='Enable']")) {
-      $this->click("xpath=//td[@class='crm-participant-label crm-editable crm-editable-enabled'][contains(text(), '{$status}')]/../td[9]/span/a[2][text()='Enable']");
-      $this->waitForElementPresent("xpath=//td[@class='crm-participant-label crm-editable crm-editable-enabled'][contains(text(), '{$status}')]/../td[9]/span/a[2][text()='Disable']");
+    if ($this->isElementPresent("xpath=//tr[@id='participant_status_type-{$statusId}']/td[9]/span/a[2][text()='Enable']")) {
+      $this->click("xpath=//tr[@id='participant_status_type-{$statusId}']/td[9]/span/a[2][text()='Enable']");
+      $this->waitForElementPresent("xpath=//tr[@id='participant_status_type-{$statusId}']/td[9]/span/a[2][text()='Disable']");
     }
   }