74 lines
2.2 KiB
JavaScript
74 lines
2.2 KiB
JavaScript
|
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");
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
|
||
|
|