Merge pull request #3119 from pradpnayak/CRM-14380
[civicrm-core.git] / tests / phpunit / api / v3 / CaseTest.php
index 8114c3b22fb197dd02f5ca90739cc887a613497b..82cb124868413024034452c54d6e35054f425ceb 100644 (file)
@@ -45,7 +45,6 @@ class api_v3_CaseTest extends CiviUnitTestCase {
   protected $followup_activity_type_value;
   protected $caseTypeId;
   protected $caseStatusGroup;
-  protected $caseTypeGroup;
   protected $optionValues;
 
   /**
@@ -66,20 +65,6 @@ class api_v3_CaseTest extends CiviUnitTestCase {
       'name' => 'case_status',
       'format.only_id' => 1)
     );
-    $this->caseTypeGroup = $this->callAPISuccess('option_group', 'get', array(
-      'name' => 'case_type',
-      'format.only_id' => 1)
-    );
-    $caseTypes = $this->callAPISuccess('option_value', 'Create', array(
-        'option_group_id' => $this->caseTypeGroup,
-        'name' => 'housing_support',
-        'label' => "Housing Support",
-        'sequential' => 1,
-        'description' => 'Help homeless individuals obtain temporary and long-term housing',
-      ));
-
-    $this->caseTypeId = $caseTypes['values'][0]['value'];
-    $this->optionValues[] = $caseTypes['id'];
     $optionValues = array(
       'Medical evaluation' => 'Medical evaluation',
       'Mental health evaluation' => "Mental health evaluation",
@@ -98,7 +83,8 @@ class api_v3_CaseTest extends CiviUnitTestCase {
       // store for cleanup
       $this->optionValues[] = $activityTypes['id'];
     }
-    $tablesToTruncate = array(
+    $this->caseTypeId = 1;
+    $this->tablesToTruncate = array(
       'civicrm_activity',
       'civicrm_contact',
       'civicrm_custom_group',
@@ -106,12 +92,15 @@ class api_v3_CaseTest extends CiviUnitTestCase {
       'civicrm_case',
       'civicrm_case_contact',
       'civicrm_case_activity',
+      'civicrm_case_type',
       'civicrm_activity_contact',
       'civicrm_relationship',
       'civicrm_relationship_type',
     );
 
-    $this->quickCleanup($tablesToTruncate);
+    $this->quickCleanup($this->tablesToTruncate);
+
+    $this->loadAllFixtures();
 
     $activityTypes = $this->callAPISuccess('option_value', 'get', array(
       'option_group_id' => 2,
@@ -120,79 +109,6 @@ class api_v3_CaseTest extends CiviUnitTestCase {
       'sequential' => 1,
     ));
     $this->followup_activity_type_value = $activityTypes['values'][0]['value'];
-    //  Insert a row in civicrm_contact creating contact 17
-    $op = new PHPUnit_Extensions_Database_Operation_Insert();
-    $op->execute($this->_dbconn,
-      new PHPUnit_Extensions_Database_DataSet_XMLDataSet(
-        dirname(__FILE__) . '/dataset/contact_17.xml'
-      )
-    );
-
-    //Create relationship types
-    $relTypeParams = array(
-      'name_a_b' => 'Case Coordinator is',
-      'label_a_b' => 'Case Coordinator is',
-      'name_b_a' => 'Case Coordinator',
-      'label_b_a' => 'Case Coordinator',
-      'description' => 'Case Coordinator',
-      'contact_type_a' => 'Individual',
-      'contact_type_b' => 'Individual',
-      'is_reserved' => 0,
-      'is_active' => 1,
-    );
-    $this->relationshipTypeCreate($relTypeParams);
-
-    $relTypeParams = array(
-      'name_a_b' => 'Homeless Services Coordinator is',
-      'label_a_b' => 'Homeless Services Coordinator is',
-      'name_b_a' => 'Homeless Services Coordinator',
-      'label_b_a' => 'Homeless Services Coordinator',
-      'description' => 'Homeless Services Coordinator',
-      'contact_type_a' => 'Individual',
-      'contact_type_b' => 'Individual',
-      'is_reserved' => 0,
-      'is_active' => 1,
-    );
-    $this->relationshipTypeCreate($relTypeParams);
-
-    $relTypeParams = array(
-      'name_a_b' => 'Health Services Coordinator is',
-      'label_a_b' => 'Health Services Coordinator is',
-      'name_b_a' => 'Health Services Coordinator',
-      'label_b_a' => 'Health Services Coordinator',
-      'description' => 'Health Services Coordinator',
-      'contact_type_a' => 'Individual',
-      'contact_type_b' => 'Individual',
-      'is_reserved' => 0,
-      'is_active' => 1,
-    );
-    $this->relationshipTypeCreate($relTypeParams);
-
-    $relTypeParams = array(
-      'name_a_b' => 'Senior Services Coordinator is',
-      'label_a_b' => 'Senior Services Coordinator is',
-      'name_b_a' => 'Senior Services Coordinator',
-      'label_b_a' => 'Senior Services Coordinator',
-      'description' => 'Senior Services Coordinator',
-      'contact_type_a' => 'Individual',
-      'contact_type_b' => 'Individual',
-      'is_reserved' => 0,
-      'is_active' => 1,
-    );
-    $this->relationshipTypeCreate($relTypeParams);
-
-    $relTypeParams = array(
-      'name_a_b' => 'Benefits Specialist is',
-      'label_a_b' => 'Benefits Specialist is',
-      'name_b_a' => 'Benefits Specialist',
-      'label_b_a' => 'Benefits Specialist',
-      'description' => 'Benefits Specialist',
-      'contact_type_a' => 'Individual',
-      'contact_type_b' => 'Individual',
-      'is_reserved' => 0,
-      'is_active' => 1,
-    );
-    $this->relationshipTypeCreate($relTypeParams);
 
     // enable the default custom templates for the case type xml files
     $this->customDirectories(array('template_path' => TRUE));
@@ -224,20 +140,7 @@ class api_v3_CaseTest extends CiviUnitTestCase {
    * @access protected
    */
   function tearDown() {
-    foreach ($this->optionValues as $id) {
-      $this->callAPISuccess('option_value', 'delete', array('id' => $id));
-    }
-    $tablesToTruncate = array(
-      'civicrm_contact',
-      'civicrm_activity',
-      'civicrm_case',
-      'civicrm_case_contact',
-      'civicrm_case_activity',
-      'civicrm_activity_contact',
-      'civicrm_relationship',
-      'civicrm_relationship_type',
-    );
-    $this->quickCleanup($tablesToTruncate, TRUE);
+    $this->quickCleanup($this->tablesToTruncate, TRUE);
 
     $this->customDirectories(array('template_path' => FALSE));
   }
@@ -275,7 +178,7 @@ class api_v3_CaseTest extends CiviUnitTestCase {
 
     // Check result
     $result = $this->callAPISuccess('case', 'get', array('id' => $id));
-    $this->assertEquals($result['values'][$id]['id'], 1, 'in line ' . __LINE__);
+    $this->assertEquals($result['values'][$id]['id'], $id, 'in line ' . __LINE__);
     $this->assertEquals($result['values'][$id]['case_type_id'], $this->caseTypeId, 'in line ' . __LINE__);
     $this->assertEquals($result['values'][$id]['subject'], $params['subject'], 'in line ' . __LINE__);
   }
@@ -287,7 +190,8 @@ class api_v3_CaseTest extends CiviUnitTestCase {
     // Create Case
     $params = $this->_params;
     // Test using name instead of value
-    $params['case_type_id'] = 'housing_support';
+    unset($params['case_type_id']);
+    $params['case_type'] = 'Housing Support';
     $result = $this->callAPISuccess('case', 'create', $params);
     $id = $result['id'];
     $result = $this->callAPISuccess('case', 'get', array('id' => $id));