added test to save xml file, CRM-14476
authorkurund <kurund@civicrm.org>
Wed, 21 May 2014 13:28:45 +0000 (18:58 +0530)
committerkurund <kurund@civicrm.org>
Wed, 21 May 2014 13:28:45 +0000 (18:58 +0530)
----------------------------------------
* CRM-14476: Extend CaseType API to return/save XML
  https://issues.civicrm.org/jira/browse/CRM-14476

tests/phpunit/api/v3/CaseTypeTest.php
tests/phpunit/api/v3/dataset/sample_case.xml [new file with mode: 0644]

index 66c4566034e91aec7caa00282bef83289049b5b0..6a805a4f5ad80746e7048244fb5220d442e1395f 100644 (file)
@@ -76,10 +76,10 @@ class api_v3_CaseTypeTest extends CiviUnitTestCase {
     $this->callAPIFailure('CaseType', 'create', $params);
   }
 
-  /*
-     * test create methods with valid data
-     * success expected
-     */
+  /**
+   * test create methods with valid data
+   * success expected
+   */
   function testCaseTypeCreate() {
     // Create Case Type
     $params = array(
@@ -144,5 +144,31 @@ class api_v3_CaseTypeTest extends CiviUnitTestCase {
     $result = $this->callAPISuccess('CaseType', 'get', array('id' => $id));
     $this->assertEquals(0, $result['count']);
   }
+
+  /**
+   * test create methods with xml file
+   * success expected
+   */
+  function testCaseTypeCreateWithXML() {
+    $caseXMLFile = dirname(__FILE__) . '/dataset/sample_case.xml';
+
+    // Create Case Type
+    $params = array(
+      'title' => 'Application with XML',
+      'name' => 'Application_with_XML',
+      'is_active' => 1,
+      'weight' => 4,
+      'xml_definition' => file_get_contents($caseXMLFile),
+    );
+
+    $result = $this->callAPISuccess('CaseType', 'create', $params);
+    $id = $result['id'];
+
+    // Check result
+    $result = $this->callAPISuccess('CaseType', 'get', array('id' => $id));
+    $this->assertEquals($result['values'][$id]['id'], $id, 'in line ' . __LINE__);
+    $this->assertEquals($result['values'][$id]['title'], $params['title'], 'in line ' . __LINE__);
+    $this->assertEquals($result['values'][$id]['xml_definition'], $params['xml_definition'], 'in line ' . __LINE__);
+  }
 }
 
diff --git a/tests/phpunit/api/v3/dataset/sample_case.xml b/tests/phpunit/api/v3/dataset/sample_case.xml
new file mode 100644 (file)
index 0000000..d43daea
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+
+<CaseType>
+  <name>Adult Day Care Referral</name>
+  <ActivityTypes>
+    <ActivityType>
+      <name>Open Case</name>
+      <max_instances>1</max_instances>
+    </ActivityType>
+    <ActivityType>
+      <name>Medical evaluation</name>
+    </ActivityType>
+    <ActivityType>
+      <name>Mental health evaluation</name>
+    </ActivityType>
+    <ActivityType>
+      <name>ADC referral</name>
+    </ActivityType>
+    <ActivityType>
+      <name>Follow up</name>
+    </ActivityType>
+  <ActivityType>
+      <name>Change Case Type</name>
+    </ActivityType>
+    <ActivityType>
+      <name>Change Case Status</name>
+    </ActivityType>
+    <ActivityType>
+      <name>Change Case Start Date</name>
+    </ActivityType>
+    <ActivityType>
+      <name>Link Cases</name>
+    </ActivityType>
+  </ActivityTypes>
+  <ActivitySets>
+    <ActivitySet>
+      <name>standard_timeline</name>
+      <label>Standard Timeline</label>
+      <timeline>true</timeline>
+      <ActivityTypes>
+        <ActivityType>
+          <name>Open Case</name>
+          <status>Completed</status>
+        </ActivityType>
+        <ActivityType>
+          <name>Medical evaluation</name>
+          <reference_activity>Open Case</reference_activity>
+          <reference_offset>3</reference_offset>
+          <reference_select>newest</reference_select>
+        </ActivityType>
+        <ActivityType>
+          <name>Mental health evaluation</name>
+          <reference_activity>Open Case</reference_activity>
+          <reference_offset>7</reference_offset>
+          <reference_select>newest</reference_select>
+        </ActivityType>
+        <ActivityType>
+          <name>ADC referral</name>
+          <reference_activity>Open Case</reference_activity>
+          <reference_offset>10</reference_offset>
+          <reference_select>newest</reference_select>
+        </ActivityType>
+        <ActivityType>
+          <name>Follow up</name>
+          <reference_activity>Open Case</reference_activity>
+          <reference_offset>14</reference_offset>
+          <reference_select>newest</reference_select>
+        </ActivityType>
+      </ActivityTypes>
+    </ActivitySet>
+  </ActivitySets>
+  <CaseRoles>
+    <RelationshipType>
+        <name>Senior Services Coordinator</name>
+        <creator>1</creator>
+    </RelationshipType>
+    <RelationshipType>
+        <name>Health Services Coordinator</name>
+    </RelationshipType>
+    <RelationshipType>
+        <name>Benefits Specialist</name>
+    </RelationshipType>
+ </CaseRoles>
+</CaseType>