49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
import { allComponents } from "./testData";
|
|
import {
|
|
find
|
|
} from "lodash/fp";
|
|
import { buildPropsHierarchy } from "../src/userInterface/pagesParsing/buildPropsHierarchy";
|
|
|
|
describe("buildPropsHierarchy", () => {
|
|
|
|
|
|
it("should build a complex component with arrays and components", () => {
|
|
|
|
const components = allComponents();
|
|
|
|
const allprops = buildPropsHierarchy(
|
|
components, "ButtonGroup");
|
|
|
|
expect(allprops._component).toEqual("budibase-components/div");
|
|
|
|
const primaryButtonProps = () => ({
|
|
_component: "budibase-components/Button",
|
|
css:"btn-primary",
|
|
content: {_component:""},
|
|
contentText: "",
|
|
size:""
|
|
});
|
|
|
|
const headerButton = primaryButtonProps();
|
|
expect(allprops.header).toEqual(headerButton);
|
|
|
|
const button1 = primaryButtonProps();
|
|
button1.contentText = "Button 1";
|
|
expect(allprops.children[0]).toEqual({
|
|
_component: "children#array_element#",
|
|
control: button1
|
|
});
|
|
|
|
|
|
const button2 = primaryButtonProps();
|
|
button2.contentText = "Button 2";
|
|
expect(allprops.children[1]).toEqual({
|
|
_component: "children#array_element#",
|
|
control: button2
|
|
})
|
|
|
|
|
|
|
|
});
|
|
|
|
}); |