UNPKG

1.32 kBTypeScriptView Raw
1import * as React from "react";
2import Renderer from "../classes/renderer";
3import { render } from "react-dom";
4import { renderToString } from "react-dom/server";
5
6const Login = ({
7 message
8}) => (
9 <h1>{message}</h1>
10);
11
12const loader = (id: string) => {
13 const registry = { "core/login": Login };
14 return registry[id];
15};
16
17describe("dotcom-core", () => {
18 describe("renderer", () => {
19 it("should render a component to html", () => {
20 const renderer = new Renderer(
21 loader,
22 render,
23 renderToString,
24 );
25
26 const html = renderer.render({
27 component: "core/login",
28 props: {
29 message: "oh hai"
30 }
31 });
32
33 expect(html).toMatchSnapshot();
34 });
35
36 it("should render a component to an element", () => {
37 const El = jest.fn<Element>();
38 const render = jest.fn();
39 const renderer = new Renderer(
40 loader,
41 render,
42 renderToString,
43 );
44
45 renderer.render({
46 component: "core/login",
47 el: new El(),
48 props: {
49 message: "oh hai"
50 }
51 });
52
53 expect(render).toHaveBeenCalled();
54 });
55 });
56
57 describe("core", () => {
58
59 });
60});
61
62/*
63lp.ui.render({
64 component: "core/components/login",
65 el: document.documentElement,
66 props: {
67 message: ""
68 }
69});
70*/