1 | <?php |
||
2 | |||
3 | declare(strict_types=1); |
||
4 | |||
5 | /* |
||
6 | * @copyright 2020 Mautic Contributors. All rights reserved |
||
7 | * @author Mautic |
||
8 | * |
||
9 | * @link https://mautic.org |
||
10 | * |
||
11 | * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html |
||
12 | */ |
||
13 | |||
14 | namespace Mautic\CoreBundle\Test\EventListener; |
||
15 | |||
16 | use Mautic\CoreBundle\Controller\MauticController; |
||
17 | use Mautic\CoreBundle\CoreEvents; |
||
18 | use Mautic\CoreBundle\EventListener\CoreSubscriber; |
||
19 | use Mautic\CoreBundle\Factory\MauticFactory; |
||
20 | use Mautic\CoreBundle\Helper\BundleHelper; |
||
21 | use Mautic\CoreBundle\Helper\CoreParametersHelper; |
||
22 | use Mautic\CoreBundle\Helper\UserHelper; |
||
23 | use Mautic\CoreBundle\Menu\MenuHelper; |
||
24 | use Mautic\CoreBundle\Service\FlashBag; |
||
25 | use Mautic\CoreBundle\Templating\Helper\AssetsHelper; |
||
26 | use Mautic\FormBundle\Entity\FormRepository; |
||
27 | use Mautic\UserBundle\Model\UserModel; |
||
28 | use PHPUnit\Framework\MockObject\MockObject; |
||
29 | use PHPUnit\Framework\TestCase; |
||
30 | use Symfony\Component\EventDispatcher\EventDispatcherInterface; |
||
31 | use Symfony\Component\HttpFoundation\Request; |
||
32 | use Symfony\Component\HttpFoundation\RequestStack; |
||
33 | use Symfony\Component\HttpKernel\Event\FilterControllerEvent; |
||
34 | use Symfony\Component\HttpKernel\KernelEvents; |
||
35 | use Symfony\Component\Security\Core\Authorization\AuthorizationChecker; |
||
36 | use Symfony\Component\Security\Http\SecurityEvents; |
||
37 | use Symfony\Component\Translation\TranslatorInterface; |
||
38 | |||
39 | class CoreSubscriberTest extends TestCase |
||
40 | { |
||
41 | /** |
||
42 | * @var BundleHelper|MockObject |
||
43 | */ |
||
44 | private $bundleHelper; |
||
45 | |||
46 | /** |
||
47 | * @var MenuHelper|MockObject |
||
48 | */ |
||
49 | private $menuHelper; |
||
50 | |||
51 | /** |
||
52 | * @var UserHelper|MockObject |
||
53 | */ |
||
54 | private $userHelper; |
||
55 | |||
56 | /** |
||
57 | * @var AssetsHelper|MockObject |
||
58 | */ |
||
59 | private $assetsHelper; |
||
60 | |||
61 | /** |
||
62 | * @var CoreParametersHelper|MockObject |
||
63 | */ |
||
64 | private $coreParametersHelper; |
||
65 | |||
66 | /** |
||
67 | * @var MockObject|AuthorizationChecker |
||
68 | */ |
||
69 | private $securityContext; |
||
70 | |||
71 | /** |
||
72 | * @var UserModel|MockObject |
||
73 | */ |
||
74 | private $userModel; |
||
75 | |||
76 | /** |
||
77 | * @var MockObject|EventDispatcherInterface |
||
78 | */ |
||
79 | private $dispatcher; |
||
80 | |||
81 | /** |
||
82 | * @var MockObject|TranslatorInterface |
||
83 | */ |
||
84 | private $translator; |
||
85 | |||
86 | /** |
||
87 | * @var MockObject|RequestStack |
||
88 | */ |
||
89 | private $requestStack; |
||
90 | |||
91 | /** |
||
92 | * @var FormRepository|MockObject |
||
93 | */ |
||
94 | private $formRepository; |
||
95 | |||
96 | /** |
||
97 | * @var MauticFactory|MockObject |
||
98 | */ |
||
99 | private $factory; |
||
100 | |||
101 | /** |
||
102 | * @var FlashBag|MockObject |
||
103 | */ |
||
104 | private $flashBag; |
||
105 | |||
106 | /** |
||
107 | * @var CoreSubscriber |
||
108 | */ |
||
109 | private $subscriber; |
||
110 | |||
111 | protected function setUp(): void |
||
112 | { |
||
113 | $this->bundleHelper = $this->createMock(BundleHelper::class); |
||
114 | $this->menuHelper = $this->createMock(MenuHelper::class); |
||
115 | $this->userHelper = $this->createMock(UserHelper::class); |
||
116 | $this->assetsHelper = $this->createMock(AssetsHelper::class); |
||
117 | $this->coreParametersHelper = $this->createMock(CoreParametersHelper::class); |
||
118 | $this->securityContext = $this->createMock(AuthorizationChecker::class); |
||
119 | $this->userModel = $this->createMock(UserModel::class); |
||
120 | $this->dispatcher = $this->createMock(EventDispatcherInterface::class); |
||
121 | $this->translator = $this->createMock(TranslatorInterface::class); |
||
122 | $this->requestStack = $this->createMock(RequestStack::class); |
||
123 | |||
124 | $this->formRepository = $this->createMock(FormRepository::class); |
||
125 | $this->factory = $this->createMock(MauticFactory::class); |
||
126 | $this->flashBag = $this->createMock(FlashBag::class); |
||
127 | |||
128 | $this->subscriber = new CoreSubscriber( |
||
129 | $this->bundleHelper, |
||
130 | $this->menuHelper, |
||
131 | $this->userHelper, |
||
132 | $this->assetsHelper, |
||
133 | $this->coreParametersHelper, |
||
134 | $this->securityContext, |
||
135 | $this->userModel, |
||
136 | $this->dispatcher, |
||
137 | $this->translator, |
||
138 | $this->requestStack, |
||
139 | $this->formRepository, |
||
140 | $this->factory, |
||
141 | $this->flashBag |
||
142 | ); |
||
143 | |||
144 | parent::setUp(); |
||
145 | } |
||
146 | |||
147 | public function testGetSubscribedEvents(): void |
||
148 | { |
||
149 | self::assertSame( |
||
150 | [ |
||
151 | KernelEvents::CONTROLLER => [ |
||
152 | ['onKernelController', 0], |
||
153 | ['onKernelRequestAddGlobalJS', 0], |
||
154 | ], |
||
155 | CoreEvents::BUILD_MENU => ['onBuildMenu', 9999], |
||
156 | CoreEvents::BUILD_ROUTE => ['onBuildRoute', 0], |
||
157 | CoreEvents::FETCH_ICONS => ['onFetchIcons', 9999], |
||
158 | SecurityEvents::INTERACTIVE_LOGIN => ['onSecurityInteractiveLogin', 0], |
||
159 | ], |
||
160 | CoreSubscriber::getSubscribedEvents() |
||
161 | ); |
||
162 | } |
||
163 | |||
164 | public function testOnKernelController() |
||
165 | { |
||
166 | $user = null; |
||
167 | |||
168 | $this->userHelper->expects(self::once()) |
||
169 | ->method('getUser') |
||
170 | ->willReturn($user); |
||
171 | |||
172 | $request = $this->createMock(Request::class); |
||
173 | $controller = $this->getMockBuilder(MauticController::class) |
||
0 ignored issues
–
show
|
|||
174 | ->setMethods(['initialize', 'setRequest', 'setFactory', 'setUser', 'setCoreParametersHelper', 'setDispatcher', 'setTranslator', 'setFlashBag']) |
||
175 | ->getMock(); |
||
176 | $controllers = [$controller]; |
||
177 | |||
178 | $event = $this->createMock(FilterControllerEvent::class); |
||
179 | $event->expects(self::once()) |
||
180 | ->method('getController') |
||
181 | ->willReturn($controllers); |
||
182 | $event->expects(self::once()) |
||
183 | ->method('getRequest') |
||
184 | ->willReturn($request); |
||
185 | |||
186 | $controller->expects(self::once()) |
||
187 | ->method('setRequest') |
||
188 | ->with($request); |
||
189 | $controller->expects(self::once()) |
||
190 | ->method('setFactory') |
||
191 | ->with($this->factory); |
||
192 | $controller->expects(self::once()) |
||
193 | ->method('setUser') |
||
194 | ->with($user); |
||
195 | $controller->expects(self::once()) |
||
196 | ->method('setCoreParametersHelper') |
||
197 | ->with($this->coreParametersHelper); |
||
198 | $controller->expects(self::once()) |
||
199 | ->method('setCoreParametersHelper') |
||
200 | ->with($this->coreParametersHelper); |
||
201 | $controller->expects(self::once()) |
||
202 | ->method('setDispatcher') |
||
203 | ->with($this->dispatcher); |
||
204 | $controller->expects(self::once()) |
||
205 | ->method('setTranslator') |
||
206 | ->with($this->translator); |
||
207 | $controller->expects(self::once()) |
||
208 | ->method('setFlashBag') |
||
209 | ->with($this->flashBag); |
||
210 | $controller->expects(self::once()) |
||
211 | ->method('initialize') |
||
212 | ->with($event); |
||
213 | |||
214 | $this->subscriber->onKernelController($event); |
||
215 | } |
||
216 | } |
||
217 |
This function has been deprecated. The supplier of the function has supplied an explanatory message.
The explanatory message should give you some clue as to whether and when the function will be removed and what other function to use instead.