]>
Commit | Line | Data |
---|---|---|
2899ebb5 A |
1 | <?php |
2 | ||
3 | declare(strict_types=1); | |
4 | ||
5 | namespace Shaarli\Front\Controller\Admin; | |
6 | ||
7 | use Shaarli\Container\ShaarliTestContainer; | |
8 | use Shaarli\Front\Controller\Visitor\FrontControllerMockHelper; | |
66063ed1 | 9 | use Shaarli\History; |
2899ebb5 A |
10 | |
11 | /** | |
12 | * Trait FrontControllerMockHelper | |
13 | * | |
14 | * Helper trait used to initialize the ShaarliContainer and mock its services for admin controller tests. | |
15 | * | |
16 | * @property ShaarliTestContainer $container | |
17 | */ | |
18 | trait FrontAdminControllerMockHelper | |
19 | { | |
20 | use FrontControllerMockHelper { | |
21 | FrontControllerMockHelper::createContainer as parentCreateContainer; | |
22 | } | |
23 | ||
24 | /** | |
25 | * Mock the container instance | |
26 | */ | |
27 | protected function createContainer(): void | |
28 | { | |
29 | $this->parentCreateContainer(); | |
30 | ||
66063ed1 A |
31 | $this->container->history = $this->createMock(History::class); |
32 | ||
2899ebb5 | 33 | $this->container->loginManager->method('isLoggedIn')->willReturn(true); |
ef00f9d2 | 34 | $this->container->sessionManager->method('checkToken')->willReturn(true); |
2899ebb5 | 35 | } |
66063ed1 A |
36 | |
37 | ||
38 | /** | |
39 | * Pass a reference of an array which will be populated by `sessionManager->setSessionParameter` | |
40 | * calls during execution. | |
41 | * | |
42 | * @param mixed $variables Array reference to populate. | |
43 | */ | |
44 | protected function assignSessionVars(array &$variables): void | |
45 | { | |
46 | $this->container->sessionManager | |
47 | ->expects(static::atLeastOnce()) | |
48 | ->method('setSessionParameter') | |
49 | ->willReturnCallback(function ($key, $value) use (&$variables) { | |
50 | $variables[$key] = $value; | |
51 | ||
52 | return $this->container->sessionManager; | |
53 | }) | |
54 | ; | |
55 | } | |
2899ebb5 | 56 | } |