05f7e3e6d77a1fdc1763e078964ded027cf6d3bc
[civicrm-core.git] / tests / phpunit / CRM / Core / BAO / MessageTemplateTest.php
1 <?php
2
3 /**
4 * Class CRM_Core_BAO_MessageTemplateTest
5 * @group headless
6 */
7 class CRM_Core_BAO_MessageTemplateTest extends CiviUnitTestCase {
8
9 public function setUp() {
10 parent::setUp();
11 }
12
13 public function tearDown() {
14 parent::tearDown();
15 }
16
17 /**
18 * Test message template send.
19 *
20 * @throws \CRM_Core_Exception
21 */
22 public function testCaseActivityCopyTemplate() {
23 $client_id = $this->individualCreate();
24 $contact_id = $this->individualCreate();
25
26 $tplParams = [
27 'isCaseActivity' => 1,
28 'client_id' => $client_id,
29 // activityTypeName means label here not name, but it's ok because label is desired here (dev/core#1116-ok-label)
30 'activityTypeName' => 'Follow up',
31 'activity' => [
32 'fields' => [
33 [
34 'label' => 'Case ID',
35 'type' => 'String',
36 'value' => '1234',
37 ],
38 ],
39 ],
40 'activitySubject' => 'Test 123',
41 'idHash' => substr(sha1(CIVICRM_SITE_KEY . '1234'), 0, 7),
42 ];
43
44 list($sent, $subject, $message) = CRM_Core_BAO_MessageTemplate::sendTemplate(
45 [
46 'valueName' => 'case_activity',
47 'contactId' => $contact_id,
48 'tplParams' => $tplParams,
49 'from' => 'admin@example.com',
50 'toName' => 'Demo',
51 'toEmail' => 'admin@example.com',
52 'attachments' => NULL,
53 ]
54 );
55
56 $this->assertEquals('[case #' . $tplParams['idHash'] . '] Test 123', $subject);
57 $this->assertContains('Your Case Role', $message);
58 $this->assertContains('Case ID : 1234', $message);
59 }
60
61 }