19declare(strict_types=1);
22use Psr\Http\Message\ServerRequestInterface;
25use PHPUnit\Framework\Attributes\DoesNotPerformAssertions;
37 $lng = $this->getMockBuilder(ilLanguage::class)->disableOriginalConstructor()->getMock();
38 $user = $this->getMockBuilder(ilObjUser::class)->disableOriginalConstructor()->getMock();
51 #[DoesNotPerformAssertions]
54 $ctrl = $this->getMockBuilder(ilCtrl::class)->disableOriginalConstructor()->getMock();
55 $form = $this->getMockBuilder(ilMailOptionsFormGUI::class)->disableOriginalConstructor()->getMock();
57 $ctrl->method(
'getCmd')->willReturn(
'showOptions');
59 $request = $this->getMockBuilder(ServerRequestInterface::class)->disableOriginalConstructor()->getMock();
60 $request->method(
'getQueryParams')->willReturn([]);
63 $http = $this->getMockBuilder(GlobalHttpState::class)->getMock();
64 $http->method(
'wrapper')->willReturn($wrapper);
66 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
'get'])->getMock();
67 $settings->method(
'get')->willReturnCallback(
static function (
string $key, ?
string $default =
null) {
68 if ($key ===
'show_mail_settings') {
78 $this->createMock(\
ILIAS\Data\Clock\ClockInterface::class),
80 $this->createMock(ilDBInterface::class),
81 $this->createMock(UserSettings::class)
84 $gui = $this->getMailOptionsGUI(
$http, $ctrl, $options);
86 $gui->executeCommand();
91 $ctrl = $this->getMockBuilder(ilCtrl::class)->disableOriginalConstructor()->getMock();
92 $form = $this->getMockBuilder(ilMailOptionsFormGUI::class)->disableOriginalConstructor()->getMock();
94 $ctrl->method(
'getCmd')->willReturn(
'showOptions');
96 $request = $this->getMockBuilder(ServerRequestInterface::class)->disableOriginalConstructor()->getMock();
97 $request->method(
'getQueryParams')->willReturn([]);
100 $http = $this->getMockBuilder(GlobalHttpState::class)->getMock();
101 $http->method(
'wrapper')->willReturn($wrapper);
103 $ctrl->expects($this->once())->method(
'redirectByClass')->with(ilMailGUI::class);
105 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
'get'])->getMock();
106 $settings->method(
'get')->willReturnCallback(
static function (
string $key, ?
string $default =
null) {
107 if ($key ===
'show_mail_settings') {
117 $this->createMock(\
ILIAS\Data\Clock\ClockInterface::class),
119 $this->createMock(ilDBInterface::class),
120 $this->createMock(UserSettings::class)
123 $gui = $this->getMailOptionsGUI(
$http, $ctrl, $options);
124 $gui->setForm($form);
125 $gui->executeCommand();
130 $this->expectException(ilCtrlException::class);
132 $request = $this->getMockBuilder(ServerRequestInterface::class)->disableOriginalConstructor()->getMock();
133 $ctrl = $this->createMock(ilCtrlInterface::class);
134 $form = $this->getMockBuilder(ilMailOptionsFormGUI::class)->disableOriginalConstructor()->getMock();
136 $ctrl->method(
'getCmd')->willReturn(
'showOptions');
138 $ctrl->expects($this->once())->method(
'redirectByClass')->with(PersonalSettingsGUI::class)->willThrowException(
142 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
'get'])->getMock();
143 $settings->method(
'get')->willReturnCallback(
static function (
string $key, ?
string $default =
null) {
144 if ($key ===
'show_mail_settings') {
151 $request = $this->getMockBuilder(ServerRequestInterface::class)->disableOriginalConstructor()->getMock();
152 $request->method(
'getQueryParams')->willReturn([
153 'referrer' => ilPersonalSettingsGUI::class,
157 $http = $this->getMockBuilder(GlobalHttpState::class)->getMock();
158 $http->method(
'wrapper')->willReturn($wrapper);
163 $this->createMock(\
ILIAS\Data\Clock\ClockInterface::class),
165 $this->createMock(ilDBInterface::class),
166 $this->createMock(UserSettings::class)
169 $gui = $this->getMailOptionsGUI(
$http, $ctrl, $options);
170 $gui->setForm($form);
171 $gui->executeCommand();
@ilCtrl_Calls ILIAS\User\Settings\PersonalSettingsGUI: ILIAS\User\Account\DeleteAccountGUI @ilCtrl_Ca...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getMailOptionsGUI(GlobalHttpState $http_state, ilCtrlInterface $ctrl, ilMailOptions $mail_options)
testMailOptionsAreNotAccessibleIfGlobalAccessIsDeniedAndUserWillBeRedirectedToPersonalSettings()
testMailOptionsAreAccessibleIfGlobalAccessIsNotDenied()
testMailOptionsAreNotAccessibleIfGlobalAccessIsDeniedAndUserWillBeRedirectedToMailSystem()
Interface GlobalHttpState.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.