Merge pull request #71 from dpradeep/merge-20140930
[civicrm-core.git] / tests / phpunit / WebTest / Profile / ProfileCountryState.php
index 20d6def39c43777a8c7b7f4997242b8a67f01d5b..9d90225a67d0c4a9cf76226da293f7f806443260 100644 (file)
@@ -1,9 +1,9 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.4                                                |
+ | 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_Profile_ProfileCountryState
+ */
 class WebTest_Profile_ProfileCountryState extends CiviSeleniumTestCase {
 
   protected function setUp() {
@@ -32,7 +36,7 @@ class WebTest_Profile_ProfileCountryState extends CiviSeleniumTestCase {
   }
 
   function testStateCountry() {
-    $this->webtestLogin();    
+    $this->webtestLogin();
     $config = CRM_Core_Config::singleton();
     // Add new profile.
     $this->openCiviPage('admin/uf/group', 'reset=1');
@@ -43,15 +47,20 @@ class WebTest_Profile_ProfileCountryState extends CiviSeleniumTestCase {
     $profileTitle = 'Country state province web test temp';
     $this->type('title', $profileTitle);
 
+    // Standalone form or directory
+    $this->click('uf_group_type_Profile');
+
     //click on save
     $this->click('_qf_Group_next');
     $this->waitForPageToLoad($this->getTimeoutMsec());
-    
+
 
     //check for  profile create
     $this->waitForText('crm-notification-container', "Profile '{$profileTitle}' has been added. You can add fields to this profile now.");
     $gid = $this->urlArg('gid');
+
     //Add Country field to profile
+    $this->openCiviPage('admin/uf/group/field/add', array('action' => 'add', 'reset' => 1, 'gid' => $gid), 'field_name[0]');
     $this->click('field_name[0]');
     $this->select('field_name[0]', 'value=Contact');
     $this->click("//option[@value='Contact']");
@@ -99,7 +108,7 @@ class WebTest_Profile_ProfileCountryState extends CiviSeleniumTestCase {
         $this->click("_qf_Localization_next-bottom");
         $this->waitForPageToLoad($this->getTimeoutMsec());
         $this->waitForText('crm-notification-container', "Saved");
-      } 
+      }
       $this->openCiviPage("profile/create", "gid=$gid&reset=1", NULL);
 
       $this->waitForElementPresent("xpath=//form[@id='Edit']/div[2]/div/div/div[2]/select");
@@ -108,18 +117,14 @@ class WebTest_Profile_ProfileCountryState extends CiviSeleniumTestCase {
       $states = CRM_Core_PseudoConstant::stateProvinceForCountry($countryID, 'id');
       $stateID = array_rand($states);
       $this->select("xpath=//form[@id='Edit']/div[2]/div/div/div[2]/select", "value=$countryID");
-      sleep(2);
-      $this->waitForElementPresent("xpath=//form[@id='Edit']/div[2]/div/div[2]/div[2]/select");
+      $this->waitForElementPresent("xpath=//form[@id='Edit']/div[2]/div/div[2]/div[2]/select/option[@value=$stateID]");
       $this->click("xpath=//form[@id='Edit']/div[2]/div/div[2]/div[2]/select");
       $this->select("xpath=//form[@id='Edit']/div[2]/div/div[2]/div[2]/select", "value=$stateID");
       $this->clickLink('_qf_Edit_next', NULL);
-      $this->openCiviPage('admin/uf/group', 'reset=1');
-      $this->waitForElementPresent("xpath=//div[@id='user-profiles']/div/div/table/tbody//tr/td/span[text() = '$profileTitle']/../../td[7]/span[2][text()='more']/ul/li[4]/a[text()='Delete']");
-      $this->click("xpath=//div[@id='user-profiles']/div/div/table/tbody//tr/td/span[text() = '$profileTitle']/../../td[7]/span[2][text()='more']/ul/li[4]/a[text()='Delete']");
 
-      $this->waitForElementPresent('_qf_Group_next-bottom');
-      $this->click('_qf_Group_next-bottom');
-      $this->waitForElementPresent('newCiviCRMProfile-bottom');
+      // Delete profile
+      $this->openCiviPage('admin/uf/group', 'action=delete&id=' . $gid, '_qf_Group_next-bottom');
+      $this->clickLink('_qf_Group_next-bottom', 'newCiviCRMProfile-bottom');
       $this->waitForText('crm-notification-container', "Profile '{$profileTitle}' has been deleted.");
 
       $this->openCiviPage("admin/setting/localization", "reset=1", "_qf_Localization_next-bottom");
@@ -143,4 +148,4 @@ class WebTest_Profile_ProfileCountryState extends CiviSeleniumTestCase {
       }
     }
   }
-}
\ No newline at end of file
+}