diff --git a/src/Listener/DefaultComposer.php b/src/Listener/DefaultComposer.php index 5ba2a53..d843d76 100644 --- a/src/Listener/DefaultComposer.php +++ b/src/Listener/DefaultComposer.php @@ -116,6 +116,7 @@ public function createTokenProcessorContext(ComposeBatchEvent $e) { 'controller' => get_class($this), // FIXME: Use template_type, template_options 'smarty' => defined('CIVICRM_MAIL_SMARTY') && CIVICRM_MAIL_SMARTY ? TRUE : FALSE, + 'mailing' => $e->getMailing(), 'mailingId' => $e->getMailing()->id, ); // REMOVE ME: This is a short-term compatibility adjustment. diff --git a/tests/phpunit/Civi/FlexMailer/MailingPreviewTest.php b/tests/phpunit/Civi/FlexMailer/MailingPreviewTest.php index ebb5fd5..b8fb007 100644 --- a/tests/phpunit/Civi/FlexMailer/MailingPreviewTest.php +++ b/tests/phpunit/Civi/FlexMailer/MailingPreviewTest.php @@ -39,8 +39,8 @@ public function setUp() { $this->_email = 'test@test.test'; $this->_params = array( 'subject' => 'Hello {contact.display_name}', - 'body_text' => "This is {contact.display_name}.\nhttps://civicrm.org\nda=({domain.address}) optout=({action.optOutUrl})", - 'body_html' => "

This is {contact.display_name}.

CiviCRM.org

da=({domain.address}) optout=({action.optOutUrl})

", + 'body_text' => "This is {contact.display_name}.\nhttps://civicrm.org\nda=({domain.address}) optout=({action.optOutUrl}) subj=({mailing.subject})", + 'body_html' => "

This is {contact.display_name}.

CiviCRM.org

da=({domain.address}) optout=({action.optOutUrl}) subj=({mailing.subject})

", 'name' => 'mailing name', 'created_id' => $this->_contactID, 'header_id' => '', @@ -87,10 +87,12 @@ public function testMailerPreview() { $this->assertContains("This is $displayName", $previewResult['values']['body_text']); $this->assertContains("civicrm/mailing/optout", $previewResult['values']['body_text']); $this->assertContains("&jid=&qid=&h=fakehash", $previewResult['values']['body_text']); + $this->assertContains("subj=(Hello ", $previewResult['values']['body_text']); $this->assertContains("

This is $displayName.

", $previewResult['values']['body_html']); $this->assertContains("civicrm/mailing/optout", $previewResult['values']['body_html']); $this->assertContains("&jid=&qid=&h=fakehash", $previewResult['values']['body_html']); + $this->assertContains("subj=(Hello ", $previewResult['values']['body_html']); $this->assertEquals('flexmailer', $previewResult['values']['_rendered_by_']); } @@ -114,10 +116,12 @@ public function testMailerPreviewWithoutId() { $this->assertContains("This is $displayName", $previewResult['values']['body_text']); $this->assertContains("civicrm/mailing/optout", $previewResult['values']['body_text']); $this->assertContains("&jid=&qid=&h=fakehash", $previewResult['values']['body_text']); + $this->assertContains("subj=(Hello ", $previewResult['values']['body_text']); $this->assertContains("

This is $displayName.

", $previewResult['values']['body_html']); $this->assertContains("civicrm/mailing/optout", $previewResult['values']['body_html']); $this->assertContains("&jid=&qid=&h=fakehash", $previewResult['values']['body_html']); + $this->assertContains("subj=(Hello ", $previewResult['values']['body_html']); $this->assertEquals('flexmailer', $previewResult['values']['_rendered_by_']); }