@lonelyplanet/dotcom-core
Version:
This package is meant to house some of our more common UI and shared libs across dotcom applications.
51 lines (50 loc) • 1.47 kB
JavaScript
import * as React from "react";
import Renderer from "../classes/renderer";
import { render } from "react-dom";
import { renderToString } from "react-dom/server";
var Login = function (_a) {
var message = _a.message;
return (React.createElement("h1", null, message));
};
var loader = function (id) {
var registry = { "core/login": Login };
return registry[id];
};
describe("dotcom-core", function () {
describe("renderer", function () {
it("should render a component to html", function () {
var renderer = new Renderer(loader, render, renderToString);
var html = renderer.render({
component: "core/login",
props: {
message: "oh hai"
}
});
expect(html).toMatchSnapshot();
});
it("should render a component to an element", function () {
var El = jest.fn();
var render = jest.fn();
var renderer = new Renderer(loader, render, renderToString);
renderer.render({
component: "core/login",
el: new El(),
props: {
message: "oh hai"
}
});
expect(render).toHaveBeenCalled();
});
});
describe("core", function () {
});
});
/*
lp.ui.render({
component: "core/components/login",
el: document.documentElement,
props: {
message: ""
}
});
*/