budibase/packages/client/tests/initialiseApp.spec.js

74 lines
2.2 KiB
JavaScript
Raw Normal View History

2020-01-24 14:18:31 +01:00
import { load } from "./testAppDef";
describe("initialiseApp", () => {
it("should populate simple div with initial props", async () => {
const {dom} = await load({
_component: "testlib/div",
className: "my-test-class"
});
expect(dom.window.document.body.children.length).toBe(1);
const child = dom.window.document.body.children[0];
expect(child.className).toBe("my-test-class");
});
it("should populate child component with props", async () => {
const {dom} = await load({
_component: "testlib/div",
_children: [
{
_component: "testlib/h1",
text: "header one"
},
{
_component: "testlib/h1",
text: "header two"
}
]
});
const rootDiv = dom.window.document.body.children[0];
expect(rootDiv.children.length).toBe(2);
expect(rootDiv.children[0].tagName).toBe("H1");
expect(rootDiv.children[0].innerText).toBe("header one");
expect(rootDiv.children[1].tagName).toBe("H1");
expect(rootDiv.children[1].innerText).toBe("header two");
});
it("should append children when told to do so", async () => {
const {dom} = await load({
_component: "testlib/div",
_children: [
{
_component: "testlib/h1",
text: "header one"
},
{
_component: "testlib/h1",
text: "header two"
}
],
append: true
});
const rootDiv = dom.window.document.body.children[0];
expect(rootDiv.children.length).toBe(3);
expect(rootDiv.children[0].tagName).toBe("DIV");
expect(rootDiv.children[0].className).toBe("default-child");
expect(rootDiv.children[1].tagName).toBe("H1");
expect(rootDiv.children[1].innerText).toBe("header one");
expect(rootDiv.children[2].tagName).toBe("H1");
expect(rootDiv.children[2].innerText).toBe("header two");
});
});