ILIAS  release_7 Revision v7.30-3-g800a261c036
ilMailOptionsGUITest.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
5use Psr\Http\Message\ServerRequestInterface;
6
12{
16 protected function getMailOptionsGUI(
17 ServerRequestInterface $request,
18 ilCtrl $ctrl,
19 ilMailOptions $mail_options
21 $tpl = $this->getMockBuilder(ilGlobalPageTemplate::class)->disableOriginalConstructor()->getMock();
22 $lng = $this->getMockBuilder(ilLanguage::class)->disableOriginalConstructor()->getMock();
23 $user = $this->getMockBuilder(ilObjUser::class)->disableOriginalConstructor()->getMock();
24 $mail = $this->getMockBuilder(ilFormatMail::class)->disableOriginalConstructor()->getMock();
25 $mailBox = $this->getMockBuilder(ilMailbox::class)->disableOriginalConstructor()->getMock();
26
27 return new ilMailOptionsGUI(
28 $tpl,
29 $ctrl,
30 $lng,
31 $user,
32 $request,
33 $mail,
34 $mailBox,
35 $mail_options
36 );
37 }
38
44 {
45 $request = $this->getMockBuilder(ServerRequestInterface::class)->disableOriginalConstructor()->getMock();
46 $request->method('getQueryParams')->willReturn([]);
47 $ctrl = $this->getMockBuilder(ilCtrl::class)->disableOriginalConstructor()->getMock();
48 $ctrl->method('getCmd')->willReturn('showOptions');
49 $form = $this->getMockBuilder(ilMailOptionsFormGUI::class)->disableOriginalConstructor()->getMock();
50 $db = $this->createMock(ilDBInterface::class);
51
52 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods(['get'])->getMock();
53 $settings->method('get')->willReturnCallback(static function (string $key, $default = false) {
54 if ($key === 'show_mail_settings') {
55 return '1';
56 }
57
58 return $default;
59 });
60
61 $options = new ilMailOptions(
62 0,
63 null,
64 $settings,
65 $db
66 );
67
68 $gui = $this->getMailOptionsGUI($request, $ctrl, $options);
69 $gui->setForm($form);
70 $gui->executeCommand();
71 }
72
77 {
78 $request = $this->getMockBuilder(ServerRequestInterface::class)->disableOriginalConstructor()->getMock();
79 $request->method('getQueryParams')->willReturn([]);
80 $ctrl = $this->getMockBuilder(ilCtrl::class)->disableOriginalConstructor()->getMock();
81 $ctrl->method('getCmd')->willReturn('showOptions');
82 $form = $this->getMockBuilder(ilMailOptionsFormGUI::class)->disableOriginalConstructor()->getMock();
83 $db = $this->createMock(ilDBInterface::class);
84
85 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods(['get'])->getMock();
86 $settings->method('get')->willReturnCallback(static function (string $key, $default = false) {
87 if ($key === 'show_mail_settings') {
88 return '0';
89 }
90
91 return $default;
92 });
93
94 $ctrl->expects($this->once())->method('redirectByClass')->with('ilMailGUI');
95
96 $options = new ilMailOptions(
97 0,
98 null,
99 $settings,
100 $db
101 );
102
103 $gui = $this->getMailOptionsGUI($request, $ctrl, $options);
104 $gui->setForm($form);
105 $gui->executeCommand();
106 }
107
112 {
113 $request = $this->getMockBuilder(ServerRequestInterface::class)->disableOriginalConstructor()->getMock();
114 $request->method('getQueryParams')->willReturn([
115 'referrer' => 'ilPersonalSettingsGUI'
116 ]);
117 $ctrl = $this->getMockBuilder(ilCtrl::class)->disableOriginalConstructor()->getMock();
118 $ctrl->expects($this->once())->method('redirectByClass')->with('ilPersonalSettingsGUI');
119 $ctrl->method('getCmd')->willReturn('showOptions');
120 $form = $this->getMockBuilder(ilMailOptionsFormGUI::class)->disableOriginalConstructor()->getMock();
121 $db = $this->createMock(ilDBInterface::class);
122
123 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods(['get'])->getMock();
124 $settings->method('get')->willReturnCallback(static function (string $key, $default = false) {
125 if ($key === 'show_mail_settings') {
126 return '0';
127 }
128
129 return $default;
130 });
131
132 $options = new ilMailOptions(
133 0,
134 null,
135 $settings,
136 $db
137 );
138
139 $gui = $this->getMailOptionsGUI($request, $ctrl, $options);
140 $gui->setForm($form);
141 $gui->executeCommand();
142 }
143}
An exception for terminatinating execution or to throw for unit testing.
This class provides processing control methods.
Class ilGlobalPageTemplate.
Class ilMailBaseTest.
Class ilMailOptionsGUITest.
getMailOptionsGUI(ServerRequestInterface $request, ilCtrl $ctrl, ilMailOptions $mail_options)
testMailOptionsAreNotAccessibleIfGlobalAccessIsDeniedAndUserWillBeRedirectedToPersonalSettings()
testMailOptionsAreAccessibleIfGlobalAccessIsNotDenied()
@doesNotPerformAssertions
testMailOptionsAreNotAccessibleIfGlobalAccessIsDeniedAndUserWillBeRedirectedToMailSystem()
Class ilMailOptions this class handles user mails.
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
Definition: latex.php:41
$lng