From 891833fd09c4c24049bd099d46a3d6a2fb07a9ef Mon Sep 17 00:00:00 2001 From: Andrew Hunt Date: Fri, 19 Apr 2019 16:06:24 -0400 Subject: [PATCH] CiviCase: test for activity query latest activity --- tests/phpunit/CRM/Case/BAO/CaseTest.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/phpunit/CRM/Case/BAO/CaseTest.php b/tests/phpunit/CRM/Case/BAO/CaseTest.php index 7c8f1ed47f..0d1c270d5f 100644 --- a/tests/phpunit/CRM/Case/BAO/CaseTest.php +++ b/tests/phpunit/CRM/Case/BAO/CaseTest.php @@ -31,6 +31,28 @@ class CRM_Case_BAO_CaseTest extends CiviUnitTestCase { CRM_Core_BAO_ConfigSetting::enableComponent('CiviCase'); } + /** + * Make sure that the latest case activity works accurately. + */ + public function testCaseActivity() { + $userID = $this->createLoggedInUser(); + + $addTimeline = civicrm_api3('Case', 'addtimeline', [ + 'case_id' => 1, + 'timeline' => "standard_timeline", + ]); + + $query = CRM_Case_BAO_Case::getCaseActivityQuery('recent', $userID, ' civicrm_case.id IN( 1 )'); + $res = CRM_Core_DAO::executeQuery($query); + $openCaseType = CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Open Case'); + while ($res->fetch()) { + $message = 'Failed asserting that the case activity query has a activity_type_id property:'; + $this->assertObjectHasAttribute('activity_type_id', $res, $message . PHP_EOL . print_r($res, TRUE)); + $message = 'Failed asserting that the latest activity from Case ID 1 was "Open Case":'; + $this->assertEquals($openCaseType, $res->activity_type_id, $message . PHP_EOL . print_r($res, TRUE)); + } + } + protected function tearDown() { parent::tearDown(); $this->quickCleanup($this->tablesToTruncate, TRUE); -- 2.25.1