api_v3_CaseTest - Fix failures. Load case-types by name (not title).
authorTim Otten <totten@civicrm.org>
Mon, 14 Jul 2014 02:36:21 +0000 (19:36 -0700)
committerTim Otten <totten@civicrm.org>
Mon, 14 Jul 2014 02:36:21 +0000 (19:36 -0700)
The old title-based lookup worked because it was subjected to munging, but
that mechanism changed in CRM-14798.

Civi/CCase/Events.php
api/v3/Case.php
tests/phpunit/api/v3/CaseTest.php

index 472ac9f6471312a7616dcd6dcb7b2fb3f1e85463..5ff406004669c212f09dcb87cbfd3d3fe9d2762b 100644 (file)
@@ -49,7 +49,11 @@ class Events {
         }
         break;
       case 'Case':
-        $caseId = $event->id;
+        // by the time we get the post-delete event, the record is gone, so
+        // there's nothing to analyze
+        if ($event->action != 'delete') {
+          $caseId = $event->id;
+        }
         break;
       default:
         throw new \CRM_Core_Exception("CRM_Case_Listener does not support entity {$event->entity}");
index 7a6bf6c61d097a3a75f068663e32e08d0dab6685..ccbe0370ccec331fa6c47326c2ab9d97e388caa2 100644 (file)
@@ -417,7 +417,7 @@ function _civicrm_api3_case_read($caseId, $options) {
  */
 function _civicrm_api3_case_format_params(&$params) {
   // figure out case type id from case type and vice-versa
-  $caseTypes = CRM_Case_PseudoConstant::caseType('title', FALSE);
+  $caseTypes = CRM_Case_PseudoConstant::caseType('name', FALSE);
   if (empty($params['case_type_id'])) {
     $params['case_type_id'] = array_search($params['case_type'], $caseTypes);
   }
index 19935366e2fc026ec60932038607d60473a6f1af..4d9c6b0035d1c47730a9fdafaccfee1474982afa 100644 (file)
@@ -97,7 +97,7 @@ class api_v3_CaseTest extends CiviCaseTestCase {
     $params = $this->_params;
     // Test using label instead of value
     unset($params['case_type_id']);
-    $params['case_type'] = 'Housing Support';
+    $params['case_type'] = 'housing_support';
     $result = $this->callAPISuccess('case', 'create', $params);
     $id = $result['id'];
 
@@ -116,7 +116,7 @@ class api_v3_CaseTest extends CiviCaseTestCase {
     $params = $this->_params;
     // Test using name instead of value
     unset($params['case_type_id']);
-    $params['case_type'] = 'Housing Support';
+    $params['case_type'] = 'housing_support';
     $result = $this->callAPISuccess('case', 'create', $params);
     $id = $result['id'];
     $result = $this->callAPISuccess('case', 'get', array('id' => $id));