path); } public function testCreateKeepsRootPath(): void { $request = Request::create('GET', '/'); self::assertSame('/', $request->path); } public function testHeaderLookupIsCaseInsensitive(): void { $request = Request::create('GET', '/x', headers: ['X-Api-Key' => 'abc']); self::assertSame('abc', $request->header('x-api-key')); self::assertSame('abc', $request->header('X-API-KEY')); } public function testHeaderReturnsNullWhenMissing(): void { $request = Request::create('GET', '/x'); self::assertNull($request->header('x-api-key')); } public function testCreateStoresQueryAndBody(): void { $request = Request::create('GET', '/x', query: ['limit' => '5'], body: ['title' => 'Hi']); self::assertSame(['limit' => '5'], $request->query); self::assertSame(['title' => 'Hi'], $request->body); } }