From 72b7a39995906b3545a21d91aef0d83371a35c9e Mon Sep 17 00:00:00 2001 From: Seamus Lee Date: Mon, 24 Jun 2019 20:44:33 +1000 Subject: [PATCH] [TEST] Update Email Common Test to incorporate testing for the fix for dev/core#357 for signatures --- .../CRM/Contact/Form/Task/EmailCommonTest.php | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/tests/phpunit/CRM/Contact/Form/Task/EmailCommonTest.php b/tests/phpunit/CRM/Contact/Form/Task/EmailCommonTest.php index c60d4efc88..e55974b5d5 100644 --- a/tests/phpunit/CRM/Contact/Form/Task/EmailCommonTest.php +++ b/tests/phpunit/CRM/Contact/Form/Task/EmailCommonTest.php @@ -55,28 +55,41 @@ class CRM_Contact_Form_Task_EmailCommonTest extends CiviUnitTestCase { $this->assertEquals('"Seamus Lee" ', $optionValue['values'][$this->_optionValue['id']]['label']); } - public function testPostProcess() { - $this->createLoggedInUser(); + public function testPostProcessWithSignature() { + $mut = new CiviMailUtils($this, TRUE); + Civi::settings()->set('allow_mail_from_logged_in_contact', 1); + $loggedInContactID = $this->createLoggedInUser(); $form = new CRM_Contact_Form_Task_Email(); $_SERVER['REQUEST_METHOD'] = 'GET'; $form->controller = new CRM_Core_Controller(); - for ($i = 0; $i < 27; $i++) { $email = 'spy' . $i . '@secretsquirrels.com'; $contactID = $this->individualCreate(array('email' => $email)); $form->_contactIds[$contactID] = $contactID; $form->_toContactEmails[$this->callAPISuccessGetValue('Email', array('return' => 'id', 'email' => $email))] = $email; } + $loggedInEmail = $this->callAPISuccess('Email', 'create', [ + 'email' => 'mickey@mouse.com', + 'location_type_id' => 1, + 'is_primary' => 1, + 'contact_id' => $loggedInContactID, + 'signature_text' => 'This is a test Signature', + 'signature_html' => '

This is a test Signature

', + ]); $form->_allContactIds = $form->_toContactIds = $form->_contactIds; - $form->_emails = array(1 => 'mickey@mouse.com'); - $form->_fromEmails = array(1 => 'mickey@mouse.com'); - + $form->_emails = array($loggedInEmail['id'] => 'mickey@mouse.com'); + $form->_fromEmails = array($loggedInEmail['id'] => 'mickey@mouse.com'); + CRM_Contact_Form_Task_EmailCommon::preProcessFromAddress($form); CRM_Contact_Form_Task_EmailCommon::buildQuickForm($form); - - CRM_Contact_Form_Task_EmailCommon::submit($form, array( - 'fromEmailAddress' => 1, + CRM_Contact_Form_Task_EmailCommon::submit($form, array_merge($form->_defaultValues, [ + 'from_email_address' => $loggedInEmail['id'], 'subject' => 'Really interesting stuff', + ])); + $mut->checkMailLog(array( + 'This is a test Signature', )); + $mut->stop(); + Civi::settings()->set('allow_mail_from_logged_in_contact', 0); } } -- 2.25.1