ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
ilMailTemplateServiceTest.php
Go to the documentation of this file.
1 <?php declare(strict_types=1);
2 
3 /* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
10 {
14  public function testDefaultTemplateCanBeSetByContext() : void
15  {
16  $repo = $this->getMockbuilder(ilMailTemplateRepository::class)->disableOriginalConstructor()->getMock();
17 
18  $template = new ilMailTemplate();
19  $template->setTplId(1);
20  $template->setAsDefault(false);
21  $template->setContext('phpunit');
22 
23  $otherTemplate = clone $template;
24  $otherTemplate->setTplId(2);
25  $otherTemplate->setAsDefault(false);
26 
27  $yetAnotherTemplate = clone $template;
28  $yetAnotherTemplate->setTplId(3);
29  $yetAnotherTemplate->setAsDefault(true);
30 
31  $all = [
32  $template,
33  $otherTemplate,
34  $yetAnotherTemplate,
35  ];
36 
37  $repo->expects($this->once())->method('findByContextId')->with($template->getContext())->willReturn($all);
38  $repo->expects($this->exactly(count($all)))->method('store');
39  $service = new ilMailTemplateService($repo);
40 
41  $service->setAsContextDefault($template);
42 
43  $this->assertTrue($template->isDefault());
44  $this->assertFalse($otherTemplate->isDefault());
45  $this->assertFalse($yetAnotherTemplate->isDefault());
46  }
47 
51  public function testDefaultTemplateForContextCanBeUnset() : void
52  {
53  $repo = $this->getMockbuilder(ilMailTemplateRepository::class)->disableOriginalConstructor()->getMock();
54 
55  $template = new ilMailTemplate();
56  $template->setTplId(1);
57  $template->setAsDefault(true);
58  $template->setContext('phpunit');
59 
60  $repo->expects($this->once())->method('store')->with($template);
61  $service = new ilMailTemplateService($repo);
62 
63  $service->unsetAsContextDefault($template);
64 
65  $this->assertFalse($template->isDefault());
66  }
67 }
Class ilMailTemplateServiceTest.
Class ilMailTemplateService.
Class ilMailTemplate.
Class ilMailBaseTest.
$service
Definition: result.php:17