ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilMailTransportSettingsTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
26 {
30  public function testSystemAsIncomingTypeWontUpdate(): void
31  {
32  $mailOptions = $this->getMockBuilder(ilMailOptions::class)
33  ->disableOriginalConstructor()
34  ->onlyMethods(['updateOptions'])
35  ->getMock();
36 
37  $mailOptions->setIncomingType(0);
38  $mailOptions->setEmailAddressMode(3);
39 
40  $setting = new ilMailTransportSettings($mailOptions);
41  $setting->adjust('test@ilias-test.de', 'someone@php-test.net');
42 
43  $this->assertSame(0, $mailOptions->getIncomingType());
44  $this->assertSame(3, $mailOptions->getEmailAddressMode());
45  }
46 
51  {
52  $mailOptions = $this->getMockBuilder(ilMailOptions::class)
53  ->disableOriginalConstructor()
54  ->onlyMethods(['updateOptions'])
55  ->getMock();
56 
57  $mailOptions->expects($this->once())->method('updateOptions');
58  $mailOptions->setIncomingType(2);
59  $mailOptions->setEmailAddressMode(4);
60 
61  $setting = new ilMailTransportSettings($mailOptions);
62  $setting->adjust('test@ilias-test.de', '');
63 
64  $this->assertSame(3, $mailOptions->getEmailAddressMode());
65  }
66 
71  {
72  $mailOptions = $this->getMockBuilder(ilMailOptions::class)
73  ->disableOriginalConstructor()
74  ->onlyMethods(['updateOptions'])
75  ->getMock();
76 
77  $mailOptions->expects($this->once())->method('updateOptions');
78  $mailOptions->setIncomingType(2);
79  $mailOptions->setEmailAddressMode(3);
80 
81  $setting = new ilMailTransportSettings($mailOptions);
82  $setting->adjust('', 'test@ilias-test.de');
83 
84  $this->assertSame(4, $mailOptions->getEmailAddressMode());
85  }
86 
90  public function testNoMailWillResultInUpdateProcess(): void
91  {
92  $mailOptions = $this->getMockBuilder(ilMailOptions::class)
93  ->disableOriginalConstructor()
94  ->onlyMethods(['updateOptions'])
95  ->getMock();
96 
97  $mailOptions->expects($this->once())->method('updateOptions');
98  $mailOptions->setIncomingType(2);
99  $mailOptions->setEmailAddressMode(3);
100 
101  $setting = new ilMailTransportSettings($mailOptions);
102  $setting->adjust('', '');
103 
104  $this->assertSame(0, $mailOptions->getIncomingType());
105  }
106 
110  public function testNothingWillBeAdjusted(): void
111  {
112  $mailOptions = $this->getMockBuilder(ilMailOptions::class)
113  ->disableOriginalConstructor()
114  ->onlyMethods(['updateOptions'])
115  ->getMock();
116 
117  $mailOptions->expects($this->never())->method('updateOptions');
118  $mailOptions->setIncomingType(2);
119  $mailOptions->setEmailAddressMode(5);
120 
121  $setting = new ilMailTransportSettings($mailOptions);
122  $setting->adjust('test@ilias-test.de', 'someone@php-test.net');
123 
124  $this->assertSame(2, $mailOptions->getIncomingType());
125  $this->assertSame(5, $mailOptions->getEmailAddressMode());
126  }
127 }
Class ilMailTransportSettingsTest.
Class ilMailBaseTest.