ILIAS  trunk Revision v11.0_alpha-1843-g9e1fad99175
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilMailTemplateServiceTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 {
23  public function testDefaultTemplateCanBeSetByContext(): void
24  {
25  $repo = $this->getMockBuilder(ilMailTemplateRepository::class)->disableOriginalConstructor()->getMock();
26 
27  $template = new ilMailTemplate();
28  $template->setTplId(1);
29  $template->setAsDefault(false);
30  $template->setContext('phpunit');
31 
32  $otherTemplate = clone $template;
33  $otherTemplate->setTplId(2);
34  $otherTemplate->setAsDefault(false);
35 
36  $yetAnotherTemplate = clone $template;
37  $yetAnotherTemplate->setTplId(3);
38  $yetAnotherTemplate->setAsDefault(true);
39 
40  $all = [
41  $template,
42  $otherTemplate,
43  $yetAnotherTemplate,
44  ];
45 
46  $repo->expects($this->once())->method('findByContextId')->with($template->getContext())->willReturn($all);
47  $repo->expects($this->exactly(count($all)))->method('store');
48  $mustache_factory = $this->getMockBuilder(ilMustacheFactory::class)->getMock();
49  $service = new ilMailTemplateService($repo, $mustache_factory);
50 
51  $service->setAsContextDefault($template);
52 
53  $this->assertTrue($template->isDefault());
54  $this->assertFalse($otherTemplate->isDefault());
55  $this->assertFalse($yetAnotherTemplate->isDefault());
56  }
57 
59  {
60  $repo = $this->getMockBuilder(ilMailTemplateRepository::class)->disableOriginalConstructor()->getMock();
61 
62  $template = new ilMailTemplate();
63  $template->setTplId(1);
64  $template->setAsDefault(true);
65  $template->setContext('phpunit');
66 
67  $repo->expects($this->once())->method('store')->with($template);
68  $mustache_factory = $this->getMockBuilder(ilMustacheFactory::class)->getMock();
69  $service = new ilMailTemplateService($repo, $mustache_factory);
70 
71  $service->unsetAsContextDefault($template);
72 
73  $this->assertFalse($template->isDefault());
74  }
75 }
Class ilMailTemplate.
$service
Definition: ltiservices.php:40