* Revert "fix: revert this.params solution (#10322)"
This reverts commit 2bcd73e41d.
* replace 'this.params' with 'executionParams'
* replace 'this?.params' also with 'executionParams'
* fix unit test lint errors
* added unit tests for params handling
* evaluateActionBindings unit test - add default value case
* comments update
* remove un-necessary `executionparams` assigment to `evalTree`
110 lines
3.0 KiB
TypeScript
110 lines
3.0 KiB
TypeScript
import DataTreeEvaluator from "./DataTreeEvaluator";
|
|
|
|
describe("DataTreeEvaluator", () => {
|
|
let dataTreeEvaluator: DataTreeEvaluator;
|
|
beforeAll(() => {
|
|
dataTreeEvaluator = new DataTreeEvaluator({});
|
|
});
|
|
describe("evaluateActionBindings", () => {
|
|
it("handles this.params.property", () => {
|
|
const result = dataTreeEvaluator.evaluateActionBindings(
|
|
[
|
|
"(function() { return this.params.property })()",
|
|
"(() => { return this.params.property })()",
|
|
'this.params.property || "default value"',
|
|
'this.params.property1 || "default value"',
|
|
],
|
|
{
|
|
property: "my value",
|
|
},
|
|
);
|
|
expect(result).toStrictEqual([
|
|
"my value",
|
|
"my value",
|
|
"my value",
|
|
"default value",
|
|
]);
|
|
});
|
|
|
|
it("handles this?.params.property", () => {
|
|
const result = dataTreeEvaluator.evaluateActionBindings(
|
|
[
|
|
"(() => { return this?.params.property })()",
|
|
"(function() { return this?.params.property })()",
|
|
'this?.params.property || "default value"',
|
|
'this?.params.property1 || "default value"',
|
|
],
|
|
{
|
|
property: "my value",
|
|
},
|
|
);
|
|
expect(result).toStrictEqual([
|
|
"my value",
|
|
"my value",
|
|
"my value",
|
|
"default value",
|
|
]);
|
|
});
|
|
|
|
it("handles this?.params?.property", () => {
|
|
const result = dataTreeEvaluator.evaluateActionBindings(
|
|
[
|
|
"(() => { return this?.params?.property })()",
|
|
"(function() { return this?.params?.property })()",
|
|
'this?.params?.property || "default value"',
|
|
'this?.params?.property1 || "default value"',
|
|
],
|
|
{
|
|
property: "my value",
|
|
},
|
|
);
|
|
expect(result).toStrictEqual([
|
|
"my value",
|
|
"my value",
|
|
"my value",
|
|
"default value",
|
|
]);
|
|
});
|
|
|
|
it("handles executionParams.property", () => {
|
|
const result = dataTreeEvaluator.evaluateActionBindings(
|
|
[
|
|
"(function() { return executionParams.property })()",
|
|
"(() => { return executionParams.property })()",
|
|
'executionParams.property || "default value"',
|
|
'executionParams.property1 || "default value"',
|
|
],
|
|
{
|
|
property: "my value",
|
|
},
|
|
);
|
|
expect(result).toStrictEqual([
|
|
"my value",
|
|
"my value",
|
|
"my value",
|
|
"default value",
|
|
]);
|
|
});
|
|
|
|
it("handles executionParams?.property", () => {
|
|
const result = dataTreeEvaluator.evaluateActionBindings(
|
|
[
|
|
"(function() { return executionParams?.property })()",
|
|
"(() => { return executionParams?.property })()",
|
|
'executionParams?.property || "default value"',
|
|
'executionParams?.property1 || "default value"',
|
|
],
|
|
{
|
|
property: "my value",
|
|
},
|
|
);
|
|
expect(result).toStrictEqual([
|
|
"my value",
|
|
"my value",
|
|
"my value",
|
|
"default value",
|
|
]);
|
|
});
|
|
});
|
|
});
|