createDatabaseInterface(); $request = ServerRequestFactory::create()->createServerRequest('POST', 'https://example.com/') ->withParsedBody(['db' => 'test_db', 'export_type' => 'svg']); $export = self::createStub(Export::class); $export->method('getExportSchemaInfo')->willReturn([ 'fileName' => 'file.svg', 'mediaType' => 'image/svg+xml', 'fileData' => 'file data', ]); $controller = new SchemaExportController($export, new ResponseRenderer(), ResponseFactory::create()); $response = $controller($request); self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); self::assertSame('file data', (string) $response->getBody()); if (! function_exists('xdebug_get_headers')) { return; } $headersList = xdebug_get_headers(); self::assertContains('Content-Disposition: attachment; filename="file.svg"', $headersList); self::assertContains('Content-Type: image/svg+xml', $headersList); self::assertContains('Content-Length: 9', $headersList); } }