From deecfdef44c68864d22f830578e93d2637fedbc3 Mon Sep 17 00:00:00 2001 From: Andrew Hunt Date: Fri, 8 Nov 2019 16:31:17 -0500 Subject: [PATCH] dev/core#1378 Scheduled reminders: test to not send if email is on hold --- .../CRM/Activity/ActionMappingTest.php | 20 +++++++++++++++++-- .../ActionSchedule/AbstractMappingTest.php | 9 +++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/tests/phpunit/CRM/Activity/ActionMappingTest.php b/tests/phpunit/CRM/Activity/ActionMappingTest.php index ff7cb2e1fa..2ec8b7d171 100644 --- a/tests/phpunit/CRM/Activity/ActionMappingTest.php +++ b/tests/phpunit/CRM/Activity/ActionMappingTest.php @@ -141,10 +141,11 @@ class CRM_Activity_ActionMappingTest extends \Civi\ActionSchedule\AbstractMappin ], ]; - // No recipients: Dave has `do_not_email` and Edith is dead. + // No recipients: Dave has `do_not_email`, Edith is dead, and Francis' email + // is on hold. $cs[] = [ '2015-02-01 00:00:00', - 'addDaveMeeting addEdithMeeting scheduleForMeeting startOnTime useHelloFirstName recipientIsActivitySource', + 'addDaveMeeting addEdithMeeting addFrancisMeeting scheduleForMeeting startOnTime useHelloFirstName recipientIsActivitySource', [], ]; @@ -209,6 +210,21 @@ class CRM_Activity_ActionMappingTest extends \Civi\ActionSchedule\AbstractMappin ]); } + /** + * Create an activity record for Francis with type "Meeting". Francis' email + * is misspelled and has bounced, so he should never receive an email reminder. + */ + public function addFrancisMeeting() { + $this->callAPISuccess('Activity', 'create', [ + 'source_contact_id' => $this->contacts['francis']['id'], + 'activity_type_id' => 'Meeting', + 'subject' => 'Subject for Francis', + 'activity_date_time' => date('Y-m-d H:i:s', strtotime($this->targetDate)), + 'status_id' => 2, + 'assignee_contact_id' => [$this->contacts['carol']['id']], + ]); + } + /** * Schedule message delivery for activities of type "Meeting". */ diff --git a/tests/phpunit/Civi/ActionSchedule/AbstractMappingTest.php b/tests/phpunit/Civi/ActionSchedule/AbstractMappingTest.php index 43104f6922..e30b2bb756 100644 --- a/tests/phpunit/Civi/ActionSchedule/AbstractMappingTest.php +++ b/tests/phpunit/Civi/ActionSchedule/AbstractMappingTest.php @@ -241,6 +241,15 @@ abstract class AbstractMappingTest extends \CiviUnitTestCase { 'email' => 'edith@example.org', 'is_deceased' => 1, ]); + $this->contacts['francis'] = $this->callAPISuccess('Contact', 'create', [ + 'contact_type' => 'Individual', + 'first_name' => 'Francis', + 'last_name' => 'Exemplar', + 'api.Email.create' => [ + 'email' => 'frances@example.org', + 'on_hold' => 1, + ], + ]); } /** -- 2.25.1