import React from "react";
import { fetch } from "../network/fetch";
import { ReactComponentServer } from "./ReactComponentServer";
describe("ReactComponentServer", () => {
beforeEach(() => {
jest.resetAllMocks();
});
it("renders the requested node", async () => {
const server = new ReactComponentServer({});
await server.start();
let rendered = false;
await server.serve(
{
name: "test",
reactNode:
Hello, World!
,
remoteStylesheetUrls: [
"https://fonts.googleapis.com/css?family=Roboto",
],
},
async (port, path) => {
const { body } = await fetch(`http://localhost:${port}${path}`);
const data = body.toString("utf8");
// Fuzzy match.
expect(data).toContain("Hello, World!
");
// Exact match.
expect(data).toMatchInlineSnapshot(`
"Hello, World!
"
`);
rendered = true;
}
);
expect(rendered).toBe(true);
await server.stop();
});
});