X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=tests%2Ffront%2Fcontroller%2Fvisitor%2FInstallControllerTest.php;h=2105ed770cd48b908c4f366b9ad5cc7129ff2b39;hb=d9d71b10c3bc70a0881d630b37dc4e918c9e812f;hp=6871fdd9d829bf4792e5068afef0572441d3901a;hpb=c4ad3d4f061d05a01db25aa54dda830ba776792d;p=github%2Fshaarli%2FShaarli.git diff --git a/tests/front/controller/visitor/InstallControllerTest.php b/tests/front/controller/visitor/InstallControllerTest.php index 6871fdd9..2105ed77 100644 --- a/tests/front/controller/visitor/InstallControllerTest.php +++ b/tests/front/controller/visitor/InstallControllerTest.php @@ -4,10 +4,10 @@ declare(strict_types=1); namespace Shaarli\Front\Controller\Visitor; -use PHPUnit\Framework\TestCase; use Shaarli\Config\ConfigManager; use Shaarli\Front\Exception\AlreadyInstalledException; use Shaarli\Security\SessionManager; +use Shaarli\TestCase; use Slim\Http\Request; use Slim\Http\Response; @@ -79,6 +79,15 @@ class InstallControllerTest extends TestCase static::assertIsArray($assignedVariables['languages']); static::assertSame('Automatic', $assignedVariables['languages']['auto']); static::assertSame('French', $assignedVariables['languages']['fr']); + + static::assertSame(PHP_VERSION, $assignedVariables['php_version']); + static::assertArrayHasKey('php_has_reached_eol', $assignedVariables); + static::assertArrayHasKey('php_eol', $assignedVariables); + static::assertArrayHasKey('php_extensions', $assignedVariables); + static::assertArrayHasKey('permissions', $assignedVariables); + static::assertEmpty($assignedVariables['permissions']); + + static::assertSame('Install Shaarli', $assignedVariables['pagetitle']); } /** @@ -189,6 +198,7 @@ class InstallControllerTest extends TestCase 'updates.check_updates' => true, 'api.enabled' => true, 'api.secret' => '_NOT_EMPTY', + 'general.header_link' => '/subfolder', ]; $request = $this->createMock(Request::class); @@ -223,9 +233,6 @@ class InstallControllerTest extends TestCase ; $this->container->conf->expects(static::once())->method('write'); - $this->container->bookmarkService->expects(static::once())->method('count')->willReturn(0); - $this->container->bookmarkService->expects(static::once())->method('initialize'); - $this->container->sessionManager ->expects(static::once()) ->method('setSessionParameter') @@ -235,7 +242,7 @@ class InstallControllerTest extends TestCase $result = $this->controller->save($request, $response); static::assertSame(302, $result->getStatusCode()); - static::assertSame('/subfolder/', $result->getHeader('location')[0]); + static::assertSame('/subfolder/login', $result->getHeader('location')[0]); } /** @@ -256,9 +263,42 @@ class InstallControllerTest extends TestCase $result = $this->controller->save($request, $response); static::assertSame(302, $result->getStatusCode()); - static::assertSame('/subfolder/', $result->getHeader('location')[0]); + static::assertSame('/subfolder/login', $result->getHeader('location')[0]); + + static::assertSame('UTC', $confSettings['general.timezone']); + static::assertSame('Shared bookmarks on http://shaarli/subfolder/', $confSettings['general.title']); + } + + /** + * Same test as testSaveInstallDefaultValues() but for an instance install in root directory. + */ + public function testSaveInstallDefaultValuesWithoutSubfolder(): void + { + $confSettings = []; + + $this->container->environment = [ + 'SERVER_NAME' => 'shaarli', + 'SERVER_PORT' => '80', + 'REQUEST_URI' => '/install', + 'REMOTE_ADDR' => '1.2.3.4', + 'SCRIPT_NAME' => '/index.php', + ]; + + $this->container->basePath = ''; + + $request = $this->createMock(Request::class); + $response = new Response(); + + $this->container->conf->method('set')->willReturnCallback(function (string $key, $value) use (&$confSettings) { + $confSettings[$key] = $value; + }); + + $result = $this->controller->save($request, $response); + + static::assertSame(302, $result->getStatusCode()); + static::assertSame('/login', $result->getHeader('location')[0]); static::assertSame('UTC', $confSettings['general.timezone']); - static::assertSame('Shared bookmarks on http://shaarli', $confSettings['general.title']); + static::assertSame('Shared bookmarks on http://shaarli/', $confSettings['general.title']); } }