ILIAS  release_8 Revision v8.23
ilMailTemplateServiceTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
26 {
30  public function testDefaultTemplateCanBeSetByContext(): void
31  {
32  $repo = $this->getMockBuilder(ilMailTemplateRepository::class)->disableOriginalConstructor()->getMock();
33 
34  $template = new ilMailTemplate();
35  $template->setTplId(1);
36  $template->setAsDefault(false);
37  $template->setContext('phpunit');
38 
39  $otherTemplate = clone $template;
40  $otherTemplate->setTplId(2);
41  $otherTemplate->setAsDefault(false);
42 
43  $yetAnotherTemplate = clone $template;
44  $yetAnotherTemplate->setTplId(3);
45  $yetAnotherTemplate->setAsDefault(true);
46 
47  $all = [
48  $template,
49  $otherTemplate,
50  $yetAnotherTemplate,
51  ];
52 
53  $repo->expects($this->once())->method('findByContextId')->with($template->getContext())->willReturn($all);
54  $repo->expects($this->exactly(count($all)))->method('store');
55  $service = new ilMailTemplateService($repo);
56 
57  $service->setAsContextDefault($template);
58 
59  $this->assertTrue($template->isDefault());
60  $this->assertFalse($otherTemplate->isDefault());
61  $this->assertFalse($yetAnotherTemplate->isDefault());
62  }
63 
68  {
69  $repo = $this->getMockBuilder(ilMailTemplateRepository::class)->disableOriginalConstructor()->getMock();
70 
71  $template = new ilMailTemplate();
72  $template->setTplId(1);
73  $template->setAsDefault(true);
74  $template->setContext('phpunit');
75 
76  $repo->expects($this->once())->method('store')->with($template);
77  $service = new ilMailTemplateService($repo);
78 
79  $service->unsetAsContextDefault($template);
80 
81  $this->assertFalse($template->isDefault());
82  }
83 }
Class ilMailTemplateServiceTest.
Class ilMailTemplateService.
Class ilMailTemplate.
Class ilMailBaseTest.
$service
Definition: ltiservices.php:43