ILIAS  release_7 Revision v7.30-3-g800a261c036
ilMailTransportSettingsTest.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 testSystemAsIncomingTypeWontUpdate() : void
15 {
16 $mailOptions = $this->getMockBuilder(ilMailOptions::class)
17 ->disableOriginalConstructor()
18 ->onlyMethods(['updateOptions'])
19 ->getMock();
20
21 $mailOptions->setIncomingType(0);
22 $mailOptions->setEmailAddressMode(3);
23
24 $setting = new ilMailTransportSettings($mailOptions);
25 $setting->adjust('test@ilias-test.de', 'someone@php-test.net');
26
27 $this->assertEquals(0, $mailOptions->getIncomingType());
28 $this->assertEquals(3, $mailOptions->getEmailAddressMode());
29 }
30
35 {
36 $mailOptions = $this->getMockBuilder(ilMailOptions::class)
37 ->disableOriginalConstructor()
38 ->onlyMethods(['updateOptions'])
39 ->getMock();
40
41 $mailOptions->expects($this->once())->method('updateOptions');
42 $mailOptions->setIncomingType(2);
43 $mailOptions->setEmailAddressMode(4);
44
45 $setting = new ilMailTransportSettings($mailOptions);
46 $setting->adjust('test@ilias-test.de', '');
47
48 $this->assertEquals(3, $mailOptions->getEmailAddressMode());
49 }
50
55 {
56 $mailOptions = $this->getMockBuilder(ilMailOptions::class)
57 ->disableOriginalConstructor()
58 ->onlyMethods(['updateOptions'])
59 ->getMock();
60
61 $mailOptions->expects($this->once())->method('updateOptions');
62 $mailOptions->setIncomingType(2);
63 $mailOptions->setEmailAddressMode(3);
64
65 $setting = new ilMailTransportSettings($mailOptions);
66 $setting->adjust('', 'test@ilias-test.de');
67
68 $this->assertEquals(4, $mailOptions->getEmailAddressMode());
69 }
70
74 public function testNoMailWillResultInUpdateProcess() : void
75 {
76 $mailOptions = $this->getMockBuilder(ilMailOptions::class)
77 ->disableOriginalConstructor()
78 ->onlyMethods(['updateOptions'])
79 ->getMock();
80
81 $mailOptions->expects($this->once())->method('updateOptions');
82 $mailOptions->setIncomingType(2);
83 $mailOptions->setEmailAddressMode(3);
84
85 $setting = new ilMailTransportSettings($mailOptions);
86 $setting->adjust('', '');
87
88 $this->assertEquals(0, $mailOptions->getIncomingType());
89 }
90
94 public function testNothingWillBeAdjusted() : void
95 {
96 $mailOptions = $this->getMockBuilder(ilMailOptions::class)
97 ->disableOriginalConstructor()
98 ->onlyMethods(['updateOptions'])
99 ->getMock();
100
101 $mailOptions->expects($this->never())->method('updateOptions');
102 $mailOptions->setIncomingType(2);
103 $mailOptions->setEmailAddressMode(5);
104
105 $setting = new ilMailTransportSettings($mailOptions);
106 $setting->adjust('test@ilias-test.de', 'someone@php-test.net');
107
108 $this->assertEquals(2, $mailOptions->getIncomingType());
109 $this->assertEquals(5, $mailOptions->getEmailAddressMode());
110 }
111}
An exception for terminatinating execution or to throw for unit testing.
Class ilMailBaseTest.
Class ilMailTransportSettingsTest.