PromucFlow_constructor/app/client/src/utils/DynamicBindingsUtil.test.ts

214 lines
5.8 KiB
TypeScript
Raw Normal View History

// import {
// mockExecute,
// mockRegisterLibrary,
// } from "../../test/__mocks__/RealmExecutorMock";
// import {
// dependencySortedEvaluateDataTree,
// getDynamicValue,
// getEntityDependencies,
// parseDynamicString,
// } from "./DynamicBindingUtils";
// import { DataTree, ENTITY_TYPE } from "entities/DataTree/dataTreeFactory";
// import { RenderModes, WidgetTypes } from "constants/WidgetConstants";
//
// beforeAll(() => {
// mockRegisterLibrary.mockClear();
// mockExecute.mockClear();
// });
//
// it("Gets the value from the data tree", () => {
// const dynamicBinding = "{{GetUsers.data}}";
// const nameBindingsWithData: DataTree = {
// GetUsers: {
// data: { text: "correct data" },
// config: {
// pluginId: "",
// id: "id",
// name: "text",
// actionConfiguration: {},
// pageId: "",
// jsonPathKeys: [],
// datasource: { id: "" },
// pluginType: "1",
// },
// isLoading: false,
// ENTITY_TYPE: ENTITY_TYPE.ACTION,
// run: jest.fn(),
// },
// };
// const actualValue = { result: { text: "correct data" } };
//
// const value = getDynamicValue(dynamicBinding, nameBindingsWithData);
//
// expect(value).toEqual(actualValue);
// });
//
// describe.each([
// ["{{A}}", ["{{A}}"]],
// ["A {{B}}", ["A ", "{{B}}"]],
// [
// "Hello {{Customer.Name}}, the status for your order id {{orderId}} is {{status}}",
// [
// "Hello ",
// "{{Customer.Name}}",
// ", the status for your order id ",
// "{{orderId}}",
// " is ",
// "{{status}}",
// ],
// ],
// [
// "{{data.map(datum => {return {id: datum}})}}",
// ["{{data.map(datum => {return {id: datum}})}}"],
// ],
// ["{{}}{{}}}", ["{{}}", "{{}}", "}"]],
// ["{{{}}", ["{{{}}"]],
// ["{{ {{", ["{{ {{"]],
// ["}} }}", ["}} }}"]],
// ["}} {{", ["}} {{"]],
// ])("Parse the dynamic string(%s, %j)", (dynamicString, expected) => {
// test(`returns ${expected}`, () => {
// expect(parseDynamicString(dynamicString as string)).toStrictEqual(expected);
// });
// });
//
// const baseWidgetProps = {
// parentColumnSpace: 0,
// parentRowSpace: 0,
// parentId: "0",
// type: WidgetTypes.BUTTON_WIDGET,
// renderMode: RenderModes.CANVAS,
// leftColumn: 0,
// rightColumn: 0,
// topRow: 0,
// bottomRow: 0,
// isLoading: false,
// };
//
// it("evaluates the data tree", () => {
// const input: DataTree = {
// widget1: {
// ...baseWidgetProps,
// widgetId: "1",
// widgetName: "widget1",
// displayValue: "{{widget2.computedProperty}}",
// ENTITY_TYPE: ENTITY_TYPE.WIDGET,
// },
// widget2: {
// ...baseWidgetProps,
// widgetId: "2",
// widgetName: "widget2",
// computedProperty: "{{ widget2.data[widget2.index] }}",
// data: "{{ apiData.data }}",
// index: 2,
// ENTITY_TYPE: ENTITY_TYPE.WIDGET,
// },
// apiData: {
// config: {
// id: "123",
// pageId: "1234",
// datasource: {},
// name: "api",
// actionConfiguration: {},
// jsonPathKeys: [],
// pluginId: "plugin",
// },
// run: (onSuccess, onError) => ({
// type: "RUN_ACTION",
// payload: {
// actionId: "",
// onSuccess: "",
// onError: "",
// },
// }),
// isLoading: false,
// data: ["wrong value", "still wrong", "correct"],
// ENTITY_TYPE: ENTITY_TYPE.ACTION,
// },
// };
//
// const dynamicBindings = {
// "widget1.displayValue": ["widget2.computedProperty"],
// "widget2.computedProperty": ["widget2.data", "widget2.index"],
// "widget2.data": ["apiData.data"],
// };
//
// const sortedDeps = [
// "apiData.data",
// "widget2.data",
// "widget2.index",
// "widget2.computedProperty",
// "widget1.displayValue",
// ];
//
// const output: DataTree = {
// widget1: {
// ...baseWidgetProps,
// widgetId: "1",
// widgetName: "widget1",
// displayValue: "correct",
// ENTITY_TYPE: ENTITY_TYPE.WIDGET,
// },
// widget2: {
// ...baseWidgetProps,
// widgetId: "2",
// widgetName: "widget2",
// computedProperty: "correct",
// data: ["wrong value", "still wrong", "correct"],
// index: 2,
// ENTITY_TYPE: ENTITY_TYPE.WIDGET,
// },
// apiData: {
// config: {
// id: "123",
// pageId: "1234",
// datasource: {},
// name: "api",
// actionConfiguration: {},
// jsonPathKeys: [],
// pluginId: "plugin",
// },
// run: (onSuccess, onError) => ({
// type: "RUN_ACTION",
// payload: {
// actionId: "",
// onSuccess: "",
// onError: "",
// },
// }),
// isLoading: false,
// data: ["wrong value", "still wrong", "correct"],
// ENTITY_TYPE: ENTITY_TYPE.ACTION,
// },
// };
//
// const result = dependencySortedEvaluateDataTree(
// input,
// dynamicBindings,
// sortedDeps,
// );
// expect(result).toEqual(output);
// });
//
// it("finds dependencies of a entity", () => {
// const depMap: Array<[string, string]> = [
// ["Widget5.text", "Widget2.data.visible"],
// ["Widget1.options", "Action1.data"],
// ["Widget2.text", "Widget1.selectedOption"],
// ["Widget3.text", "Widget4.selectedRow.name"],
// ["Widget6.label", "Action1.data.label"],
// ];
// const entity = "Action1";
// const result = ["Widget1", "Widget2", "Widget5", "Widget6"];
//
// const actual = getEntityDependencies(depMap, entity);
//
// expect(actual).toEqual(result);
// });
2020-02-18 10:41:52 +00:00
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: No types available
it("does nothing. needs implementing", () => {
expect(1 + 1).toEqual(2);
2020-01-30 13:23:04 +00:00
});