@lonelyplanet/dotcom-core
Version:
This package is meant to house some of our more common UI and shared libs across dotcom applications.
63 lines (55 loc) • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var React = require("react");
var renderer_1 = require("../classes/renderer");
var react_dom_1 = require("react-dom");
var server_1 = require("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_1.default(loader, react_dom_1.render, server_1.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_1.default(loader, render, server_1.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: ""
}
});
*/