Files
myep-team/tests/Twig/MaintenanceModeTest.php

49 lines
1.4 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Tests\Twig;
use App\Twig\AppRuntime;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
class MaintenanceModeTest extends KernelTestCase
{
private RequestStack $requestStack;
private AppRuntime $appRuntime;
protected function setUp(): void
{
self::bootKernel();
$this->requestStack = self::getContainer()->get(RequestStack::class);
$this->appRuntime = self::getContainer()->get(AppRuntime::class);
}
public function testMaintenanceModeIsReportedWhenTheListenerMarkedTheRequest(): void
{
$request = Request::create('/administrative/assignment');
$request->attributes->set('_maintenance_mode_allowed', true);
$this->requestStack->push($request);
self::assertTrue($this->appRuntime->isMaintenanceMode());
}
public function testNoMaintenanceModeOnAnUnmarkedRequest(): void
{
$this->requestStack->push(Request::create('/administrative/assignment'));
self::assertFalse($this->appRuntime->isMaintenanceMode());
}
/**
* Rendering outside a request, an email or a console command, must not blow up.
*/
public function testNoMaintenanceModeWithoutARequest(): void
{
self::assertFalse($this->appRuntime->isMaintenanceMode());
}
}