aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/front/controller/admin/ToolsControllerTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/front/controller/admin/ToolsControllerTest.php')
-rw-r--r--tests/front/controller/admin/ToolsControllerTest.php73
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/front/controller/admin/ToolsControllerTest.php b/tests/front/controller/admin/ToolsControllerTest.php
new file mode 100644
index 00000000..47c5746e
--- /dev/null
+++ b/tests/front/controller/admin/ToolsControllerTest.php
@@ -0,0 +1,73 @@
1<?php
2
3declare(strict_types=1);
4
5namespace Shaarli\Front\Controller\Admin;
6
7use PHPUnit\Framework\TestCase;
8use Slim\Http\Request;
9use Slim\Http\Response;
10
11class ToolsControllerTestControllerTest extends TestCase
12{
13 use FrontAdminControllerMockHelper;
14
15 /** @var ToolsController */
16 protected $controller;
17
18 public function setUp(): void
19 {
20 $this->createContainer();
21
22 $this->controller = new ToolsController($this->container);
23 }
24
25 public function testDefaultInvokeWithHttps(): void
26 {
27 $this->createValidContainerMockSet();
28
29 $request = $this->createMock(Request::class);
30 $response = new Response();
31
32 $this->container->environment = [
33 'SERVER_NAME' => 'shaarli',
34 'SERVER_PORT' => 443,
35 'HTTPS' => 'on',
36 ];
37
38 // Save RainTPL assigned variables
39 $assignedVariables = [];
40 $this->assignTemplateVars($assignedVariables);
41
42 $result = $this->controller->index($request, $response);
43
44 static::assertSame(200, $result->getStatusCode());
45 static::assertSame('tools', (string) $result->getBody());
46 static::assertSame('https://shaarli', $assignedVariables['pageabsaddr']);
47 static::assertTrue($assignedVariables['sslenabled']);
48 }
49
50 public function testDefaultInvokeWithoutHttps(): void
51 {
52 $this->createValidContainerMockSet();
53
54 $request = $this->createMock(Request::class);
55 $response = new Response();
56
57 $this->container->environment = [
58 'SERVER_NAME' => 'shaarli',
59 'SERVER_PORT' => 80,
60 ];
61
62 // Save RainTPL assigned variables
63 $assignedVariables = [];
64 $this->assignTemplateVars($assignedVariables);
65
66 $result = $this->controller->index($request, $response);
67
68 static::assertSame(200, $result->getStatusCode());
69 static::assertSame('tools', (string) $result->getBody());
70 static::assertSame('http://shaarli', $assignedVariables['pageabsaddr']);
71 static::assertFalse($assignedVariables['sslenabled']);
72 }
73}