feat: add match view server-rendered shell
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace BattleForge\Tests\Integration;
|
||||
|
||||
use BattleForge\Http\Handlers\GetMatchView;
|
||||
use BattleForge\Http\Request;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
final class GetMatchViewTest extends TestCase
|
||||
{
|
||||
public function testItRendersTheMatchShellWithSecurityHeaders(): void
|
||||
{
|
||||
$handler = new GetMatchView();
|
||||
$request = new Request([], [], [], [], [], '', 'GET', '/matches/current', 'text/html', '');
|
||||
$response = $handler->handle($request, []);
|
||||
|
||||
self::assertSame(200, $response->status);
|
||||
self::assertStringContainsString('text/html', $response->headers['Content-Type'] ?? '');
|
||||
self::assertSame('nosniff', $response->headers['X-Content-Type-Options']);
|
||||
self::assertStringContainsString('default-src', $response->headers['Content-Security-Policy']);
|
||||
|
||||
self::assertStringContainsString('id="bf-match-header"', $response->body);
|
||||
self::assertStringContainsString('id="bf-end-turn"', $response->body);
|
||||
self::assertStringContainsString('id="bf-grid"', $response->body);
|
||||
self::assertStringContainsString('id="bf-panel"', $response->body);
|
||||
self::assertStringContainsString('id="bf-action-move"', $response->body);
|
||||
self::assertStringContainsString('id="bf-action-attack"', $response->body);
|
||||
self::assertStringContainsString('id="bf-action-ability"', $response->body);
|
||||
self::assertStringContainsString('id="bf-selected-unit"', $response->body);
|
||||
self::assertStringContainsString('id="bf-log"', $response->body);
|
||||
self::assertStringContainsString('id="bf-result"', $response->body);
|
||||
self::assertStringContainsString('id="bf-winner"', $response->body);
|
||||
self::assertStringContainsString('id="bf-return-home"', $response->body);
|
||||
self::assertStringContainsString('src="/js/match.js"', $response->body);
|
||||
self::assertStringContainsString('name="csrf-token"', $response->body);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user