X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fapi%2Fv3%2FCaseTest.php;h=f25387702d66e379e171b0483c75a8344c36f455;hb=aebbcca99b6fe1be7dff8d1306d62a91fc8d3328;hp=65c0154e9506f31b88c0ac194f2521d56d8f1dea;hpb=bfd5da64bde46b359a0d9195c0a30364ff277f58;p=civicrm-core.git diff --git a/tests/phpunit/api/v3/CaseTest.php b/tests/phpunit/api/v3/CaseTest.php index 65c0154e95..f25387702d 100644 --- a/tests/phpunit/api/v3/CaseTest.php +++ b/tests/phpunit/api/v3/CaseTest.php @@ -185,6 +185,14 @@ class api_v3_CaseTest extends CiviCaseTestCase { foreach ($relationships['values'] as $key => $values) { $this->assertEquals($values['end_date'], date('Y-m-d')); } + + //Verify there are no active relationships. + $activeCaseRelationships = CRM_Case_BAO_Case::getCaseRoles($result['values'][$id]['client_id'][1], $id); + $this->assertEquals(count($activeCaseRelationships), 0, "Checking for empty array"); + + //Check if getCaseRoles() is able to return inactive relationships. + $caseRelationships = CRM_Case_BAO_Case::getCaseRoles($result['values'][$id]['client_id'][1], $id, NULL, FALSE); + $this->assertEquals(count($caseRelationships), 1); } /** @@ -324,6 +332,43 @@ class api_v3_CaseTest extends CiviCaseTestCase { $this->assertEquals(0, $result['count']); } + /** + * Test Case role relationship is correctly created + * for contacts. + */ + public function testCaseRoleRelationships() { + // Create Case + $case = $this->callAPISuccess('case', 'create', $this->_params); + $relType = $this->relationshipTypeCreate(array('name_a_b' => 'Test AB', 'name_b_a' => 'Test BA', 'contact_type_b' => 'Individual')); + $relContact = $this->individualCreate(array('first_name' => 'First', 'last_name' => 'Last')); + + $_REQUEST = array( + 'rel_type' => "{$relType}_b_a", + 'rel_contact' => $relContact, + 'case_id' => $case['id'], + 'is_unit_test' => TRUE, + ); + $ret = CRM_Contact_Page_AJAX::relationship(); + $this->assertEquals(0, $ret['is_error']); + //Check if relationship exist for the case. + $relationship = $this->callAPISuccess('Relationship', 'get', array( + 'sequential' => 1, + 'relationship_type_id' => $relType, + 'case_id' => $case['id'], + )); + $this->assertEquals($relContact, $relationship['values'][0]['contact_id_a']); + $this->assertEquals($this->_params['contact_id'], $relationship['values'][0]['contact_id_b']); + + //Check if activity is assigned to correct contact. + $activity = $this->callAPISuccess('Activity', 'get', array( + 'subject' => 'Test BA : Mr. First Last II', + )); + $activityContact = $this->callAPISuccess('ActivityContact', 'get', array( + 'contact_id' => $relContact, + 'activity_id' => $activity['id'], + )); + } + /** * Test get function based on activity. */