From 9827fb70676cfe645c779943d9b29c166d05c1b8 Mon Sep 17 00:00:00 2001 From: demeritcowboy Date: Thu, 2 Jan 2020 18:04:40 -0500 Subject: [PATCH] fix recent items item --- CRM/Activity/Form/ActivityView.php | 10 +-- .../CRM/Activity/Form/ActivityViewTest.php | 75 +++++++++++++++++++ 2 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 tests/phpunit/CRM/Activity/Form/ActivityViewTest.php diff --git a/CRM/Activity/Form/ActivityView.php b/CRM/Activity/Form/ActivityView.php index 422e30eef3..3ef07b7aa1 100644 --- a/CRM/Activity/Form/ActivityView.php +++ b/CRM/Activity/Form/ActivityView.php @@ -95,13 +95,13 @@ class CRM_Activity_Form_ActivityView extends CRM_Core_Form { $values['attachment'] = CRM_Core_BAO_File::attachmentInfo('civicrm_activity', $activityId); $this->assign('values', $values); - $url = CRM_Utils_System::url(implode("/", $this->urlPath), "reset=1&id={$activityId}&action=view&cid={$values['source_contact_id']}"); - CRM_Utils_Recent::add($this->_values['subject'], + $url = CRM_Utils_System::url(implode("/", $this->urlPath), "reset=1&id={$activityId}&action=view&cid={$defaults['source_contact_id']}"); + CRM_Utils_Recent::add($defaults['subject'], $url, - $values['id'], + $activityId, 'Activity', - $values['source_contact_id'], - $values['source_contact'] + $defaults['source_contact_id'], + $defaults['source_contact'] ); } diff --git a/tests/phpunit/CRM/Activity/Form/ActivityViewTest.php b/tests/phpunit/CRM/Activity/Form/ActivityViewTest.php new file mode 100644 index 0000000000..da40d0b39b --- /dev/null +++ b/tests/phpunit/CRM/Activity/Form/ActivityViewTest.php @@ -0,0 +1,75 @@ +quickCleanup($tablesToTruncate); + } + + /** + * Test that the smarty template for ActivityView contains what we expect + * after preProcess(). + */ + public function testActivityViewPreProcess() { + // create activity + $activity = $this->activityCreate(); + + // $activity doesn't contain everything we need, so do another get call + $activityMoreInfo = $this->callAPISuccess('activity', 'getsingle', ['id' => $activity['id']]); + + // do preProcess + $activityViewForm = new CRM_Activity_Form_ActivityView(); + $activityViewForm->controller = new CRM_Core_Controller_Simple('CRM_Activity_Form_ActivityView', 'Activity'); + $activityViewForm->set('id', $activity['id']); + $activityViewForm->set('context', 'activity'); + $activityViewForm->set('cid', $activity['target_contact_id']); + $activityViewForm->preProcess(); + + // check one of the smarty template vars + // not checking EVERYTHING + $templateVar = $activityViewForm->getTemplate()->get_template_vars('values'); + $expected = [ + 'assignee_contact' => [0 => $activity['target_contact_id']], + // it's always Julia + 'assignee_contact_value' => 'Anderson, Julia', + 'target_contact' => [0 => $activity['target_contact_id']], + 'target_contact_value' => 'Anderson, Julia', + 'source_contact' => $activityMoreInfo['source_contact_sort_name'], + 'case_subject' => NULL, + 'id' => (int) $activity['id'], + 'subject' => $activity['values'][$activity['id']]['subject'], + 'activity_subject' => $activity['values'][$activity['id']]['subject'], + 'activity_date_time' => $activityMoreInfo['activity_date_time'], + 'location' => $activity['values'][$activity['id']]['location'], + 'activity_location' => $activity['values'][$activity['id']]['location'], + 'details' => $activity['values'][$activity['id']]['details'], + 'activity_details' => $activity['values'][$activity['id']]['details'], + 'is_test' => '0', + 'activity_is_test' => '0', + 'is_auto' => '0', + 'is_current_revision' => '1', + 'is_deleted' => '0', + 'activity_is_deleted' => '0', + 'is_star' => '0', + 'created_date' => $activityMoreInfo['created_date'], + 'activity_created_date' => $activityMoreInfo['created_date'], + 'modified_date' => $activityMoreInfo['modified_date'], + 'activity_modified_date' => $activityMoreInfo['modified_date'], + 'attachment' => NULL, + ]; + + $this->assertEquals($expected, $templateVar); + } + +} -- 2.25.1