$this->assertTrue(!isset($envelope['myProtectedInt']));
}
+ public function testExampleRender() {
+ $hookCount = 0;
+ $rand = rand(0, 1000);
+ $cid = $this->individualCreate(['first_name' => 'Foo', 'last_name' => 'Bar' . $rand, 'prefix_id' => NULL, 'suffix_id' => NULL]);
+ /** @var \Civi\WorkflowMessage\GenericWorkflowMessage $ex */
+ $ex = $this->createExample()->setContactId($cid);
+ \Civi::dispatcher()->addListener('hook_civicrm_alterMailParams', function($e) use (&$hookCount) {
+ $hookCount++;
+ $this->assertEquals('my_example_wf', $e->params['valueName'], 'ExampleWorkflow::WORKFLOW should propagate to params[valueName]');
+ });
+ $this->assertEquals(0, $hookCount);
+ $rendered = $ex->renderTemplate([
+ 'messageTemplate' => [
+ 'msg_subject' => 'Hello {contact.display_name}',
+ ],
+ ]);
+ $this->assertEquals(1, $hookCount);
+ $this->assertEquals('Hello Foo Bar' . $rand, $rendered['subject']);
+ }
+
public function testImpromptuRender() {
+ $hookCount = 0;
$rand = rand(0, 1000);
$cid = $this->individualCreate(['first_name' => 'Foo', 'last_name' => 'Bar' . $rand, 'prefix_id' => NULL, 'suffix_id' => NULL]);
/** @var \Civi\WorkflowMessage\GenericWorkflowMessage $ex */
$ex = WorkflowMessage::create('some_impromptu_wf', [
'tokenContext' => ['contactId' => $cid],
]);
+ \Civi::dispatcher()->addListener('hook_civicrm_alterMailParams', function($e) use (&$hookCount) {
+ $hookCount++;
+ $this->assertEquals('some_impromptu_wf', $e->params['valueName'], 'Adhoc name should propagate to params[workflow]');
+ });
+ $this->assertEquals(0, $hookCount);
$rendered = $ex->renderTemplate([
'messageTemplate' => [
'msg_subject' => 'Hello {contact.display_name}',
],
]);
+ $this->assertEquals(1, $hookCount);
$this->assertEquals('Hello Foo Bar' . $rand, $rendered['subject']);
}
public function testRenderStoredTemplate() {
+ $hookCount = 0;
$rand = rand(0, 1000);
$cid = $this->individualCreate(['first_name' => 'Foo', 'last_name' => 'Bar' . $rand, 'prefix_id' => NULL, 'suffix_id' => NULL]);
/** @var \Civi\WorkflowMessage\GenericWorkflowMessage $ex */
'survey_id' => NULL,
],
]);
+
+ \Civi::dispatcher()->addListener('hook_civicrm_alterMailParams', function($e) use (&$hookCount) {
+ $hookCount++;
+ $this->assertEquals('petition_sign', $e->params['valueName']);
+ });
+ $this->assertEquals(0, $hookCount);
$rendered = $ex->renderTemplate();
+ $this->assertEquals(1, $hookCount);
$this->assertStringContainsString('Foo Bar' . $rand, $rendered['subject']);
$this->assertStringContainsString('Thank you for signing The Fake Petition', $rendered['html']);
$this->assertStringContainsString('Thank you for signing The Fake Petition', $rendered['text']);