ILIAS  trunk Revision v11.0_alpha-2662-g519ff7d528f
ilMailTransportSettingsTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 {
23  public function testSystemAsIncomingTypeWontUpdate(): void
24  {
25  $mail_options = $this->getMockBuilder(ilMailOptions::class)
26  ->disableOriginalConstructor()
27  ->onlyMethods(['updateOptions'])
28  ->getMock();
29 
30  $mail_options->setIncomingType(0);
31  $mail_options->setEmailAddressmode(3);
32 
33  $setting = new ilMailTransportSettings($mail_options);
34  $setting->adjust('test@ilias-test.de', 'someone@php-test.net');
35 
36  $this->assertSame(0, $mail_options->getIncomingType());
37  $this->assertSame(3, $mail_options->getEmailAddressMode());
38  }
39 
41  {
42  $mail_options = $this->getMockBuilder(ilMailOptions::class)
43  ->disableOriginalConstructor()
44  ->onlyMethods(['updateOptions'])
45  ->getMock();
46 
47  $mail_options->expects($this->once())->method('updateOptions');
48  $mail_options->setIncomingType(2);
49  $mail_options->setEmailAddressmode(4);
50 
51  $setting = new ilMailTransportSettings($mail_options);
52  $setting->adjust('test@ilias-test.de', '');
53 
54  $this->assertSame(3, $mail_options->getEmailAddressMode());
55  }
56 
58  {
59  $mail_options = $this->getMockBuilder(ilMailOptions::class)
60  ->disableOriginalConstructor()
61  ->onlyMethods(['updateOptions'])
62  ->getMock();
63 
64  $mail_options->expects($this->once())->method('updateOptions');
65  $mail_options->setIncomingType(2);
66  $mail_options->setEmailAddressmode(3);
67 
68  $setting = new ilMailTransportSettings($mail_options);
69  $setting->adjust('', 'test@ilias-test.de');
70 
71  $this->assertSame(4, $mail_options->getEmailAddressMode());
72  }
73 
74  public function testNoMailWillResultInUpdateProcess(): void
75  {
76  $mail_options = $this->getMockBuilder(ilMailOptions::class)
77  ->disableOriginalConstructor()
78  ->onlyMethods(['updateOptions'])
79  ->getMock();
80 
81  $mail_options->expects($this->once())->method('updateOptions');
82  $mail_options->setIncomingType(2);
83  $mail_options->setEmailAddressmode(3);
84 
85  $setting = new ilMailTransportSettings($mail_options);
86  $setting->adjust('', '');
87 
88  $this->assertSame(0, $mail_options->getIncomingType());
89  }
90 
91  public function testNothingWillBeAdjusted(): void
92  {
93  $mail_options = $this->getMockBuilder(ilMailOptions::class)
94  ->disableOriginalConstructor()
95  ->onlyMethods(['updateOptions'])
96  ->getMock();
97 
98  $mail_options->expects($this->never())->method('updateOptions');
99  $mail_options->setIncomingType(2);
100  $mail_options->setEmailAddressmode(5);
101 
102  $setting = new ilMailTransportSettings($mail_options);
103  $setting->adjust('test@ilias-test.de', 'someone@php-test.net');
104 
105  $this->assertSame(2, $mail_options->getIncomingType());
106  $this->assertSame(5, $mail_options->getEmailAddressMode());
107  }
108 }