Merge pull request #21522 from eileenmcnaughton/flex
[civicrm-core.git] / tests / phpunit / CRM / Case / Form / EmailTest.php
1 <?php
2
3 /**
4 * @group headless
5 */
6 class CRM_Case_Form_EmailTest extends CiviCaseTestCase {
7
8 public function testOpeningEmailForm() {
9 $loggedInUserId = $this->createLoggedInUser();
10 $clientId = $this->individualCreate();
11 $caseObj = $this->createCase($clientId, $loggedInUserId);
12
13 $url = "civicrm/case/email/add?reset=1&action=add&atype=3&cid={$loggedInUserId}&caseid={$caseObj->id}";
14
15 $_SERVER['REQUEST_URI'] = $url;
16 $urlParts = explode('?', $url);
17 $_GET['q'] = $urlParts[0];
18
19 $parsed = [];
20 parse_str($urlParts[1], $parsed);
21 foreach ($parsed as $param => $value) {
22 $_REQUEST[$param] = $value;
23 }
24
25 $item = CRM_Core_Invoke::getItem([$_GET['q']]);
26 ob_start();
27 CRM_Core_Invoke::runItem($item);
28 $contents = ob_get_contents();
29 ob_end_clean();
30
31 foreach ($parsed as $param => $dontcare) {
32 unset($_REQUEST[$param]);
33 }
34
35 // Anything here could be subject to change. Just tried to pick a few that
36 // might be less likely to. Really just trying to see if it opens the
37 // right form and with no errors.
38 $this->assertStringContainsString('name="from_email_address"', $contents);
39 $this->assertStringContainsString('name="subject"', $contents);
40 $this->assertStringContainsString('name="_qf_Email_upload"', $contents);
41 $this->assertStringContainsString('anthony_anderson@civicrm.org', $contents);
42 $this->assertStringContainsString('CRM_Case_Form_Task_Email', $contents);
43 }
44
45 }