ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
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 
6 
12 {
16  protected function getMailOptionsGUI(
17  ServerRequestInterface $request,
18  ilCtrl $ctrl,
19  ilMailOptions $mail_options
20  ) : ilMailOptionsGUI {
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 }
Class ilMailOptions this class handles user mails.
This class provides processing control methods.
testMailOptionsAreNotAccessibleIfGlobalAccessIsDeniedAndUserWillBeRedirectedToPersonalSettings()
Class ilMailOptionsGUITest.
Class ilMailBaseTest.
$lng
getMailOptionsGUI(ServerRequestInterface $request, ilCtrl $ctrl, ilMailOptions $mail_options)
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
Definition: latex.php:41
testMailOptionsAreNotAccessibleIfGlobalAccessIsDeniedAndUserWillBeRedirectedToMailSystem()