From 4311a3b0da75fb4bd2881e6b04d2e3108db66769 Mon Sep 17 00:00:00 2001 From: chinnamatli kusumalatha Date: Fri, 3 Jan 2025 19:21:48 +0530 Subject: [PATCH 01/11] A Decision Table with a single output column shouldn't have a name --- .../DecisionTableExpression.tsx | 8 +++-- .../getDefaultBoxedExpression.tsx | 10 +++++- .../DecisionTableOutputHeaderCell.tsx | 32 +++++++++++-------- 3 files changed, 33 insertions(+), 17 deletions(-) diff --git a/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx b/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx index ec9cf39be4b..99ad7188ae4 100644 --- a/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx +++ b/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx @@ -76,7 +76,9 @@ enum DecisionTableColumnType { OutputClause = "output", Annotation = "annotation", } - +const singleOutputColumn = { + name: "Output-1", +}; export const DECISION_TABLE_INPUT_DEFAULT_VALUE = "-"; export const DECISION_TABLE_OUTPUT_DEFAULT_VALUE = ""; export const DECISION_TABLE_ANNOTATION_DEFAULT_VALUE = ""; @@ -352,8 +354,8 @@ export function DecisionTableExpression({ id: outputClause["@_id"], label: decisionTableExpression.output?.length == 1 - ? decisionTableExpression["@_label"] ?? DEFAULT_EXPRESSION_VARIABLE_NAME - : outputClause["@_name"] ?? outputClause["@_label"] ?? DEFAULT_EXPRESSION_VARIABLE_NAME, + ? "" + : outputClause["@_name"] ?? outputClause["@_label"] ?? singleOutputColumn.name, dataType: decisionTableExpression.output?.length == 1 ? decisionTableExpression["@_typeRef"] ?? DmnBuiltInDataType.Undefined diff --git a/packages/dmn-editor/src/boxedExpressions/getDefaultBoxedExpression.tsx b/packages/dmn-editor/src/boxedExpressions/getDefaultBoxedExpression.tsx index 0d2cb791a05..cf41f3cacd0 100644 --- a/packages/dmn-editor/src/boxedExpressions/getDefaultBoxedExpression.tsx +++ b/packages/dmn-editor/src/boxedExpressions/getDefaultBoxedExpression.tsx @@ -277,7 +277,15 @@ export function getDefaultBoxedExpression({ "@_typeRef": typeRef, "@_hitPolicy": "UNIQUE", input, - output, + output: output.map((out) => { + if (output.length > 1) { + return { + ...out, + }; + } else { + return { ...out, "@_name": undefined }; + } + }), annotation: [ { "@_name": "Annotations", diff --git a/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx b/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx index 46dca185da5..18c84d9f53d 100644 --- a/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx +++ b/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx @@ -45,7 +45,9 @@ export function DecisionTableOutputHeaderCell(props: { const activeDrgElementId = useDmnEditorStore((s) => s.boxedExpressionEditor.activeDrgElementId); const { dmnEditorRootElementRef } = useDmnEditor(); const { externalModelsByNamespace } = useExternalModels(); - + const singleOutputColumn = { + name: "Output-1", + }; const node = useDmnEditorStore((s) => s .computed(s) @@ -172,18 +174,22 @@ export function DecisionTableOutputHeaderCell(props: { /> )} - - updater((dmnObject) => { - dmnObject["@_name"] = newName; - }) - } - /> + {root?.output && root.output.length > 1 ? ( + + updater((dmnObject) => { + dmnObject["@_name"] = newName; + }) + } + /> + ) : ( + "" + )} Date: Tue, 7 Jan 2025 18:20:57 +0530 Subject: [PATCH 02/11] decisio table with single ouput shouldn't have name --- .../DecisionTableExpression.tsx | 17 +++++++++++------ .../getDefaultBoxedExpression.tsx | 12 ++---------- .../DecisionTableOutputHeaderCell.tsx | 3 +-- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx b/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx index 99ad7188ae4..2c8ec4bbe00 100644 --- a/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx +++ b/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx @@ -76,9 +76,6 @@ enum DecisionTableColumnType { OutputClause = "output", Annotation = "annotation", } -const singleOutputColumn = { - name: "Output-1", -}; export const DECISION_TABLE_INPUT_DEFAULT_VALUE = "-"; export const DECISION_TABLE_OUTPUT_DEFAULT_VALUE = ""; export const DECISION_TABLE_ANNOTATION_DEFAULT_VALUE = ""; @@ -354,8 +351,8 @@ export function DecisionTableExpression({ id: outputClause["@_id"], label: decisionTableExpression.output?.length == 1 - ? "" - : outputClause["@_name"] ?? outputClause["@_label"] ?? singleOutputColumn.name, + ? decisionTableExpression["@_label"] ?? DEFAULT_EXPRESSION_VARIABLE_NAME + : outputClause["@_name"] ?? outputClause["@_label"] ?? DEFAULT_EXPRESSION_VARIABLE_NAME, dataType: decisionTableExpression.output?.length == 1 ? decisionTableExpression["@_typeRef"] ?? DmnBuiltInDataType.Undefined @@ -779,7 +776,15 @@ export function DecisionTableExpression({ }); } - const nextOutputColumns = [...(prev.output ?? [])]; + const nextOutputColumns = [ + ...(prev.output ?? []).map((outputColumn, index) => { + const outputCopy = { ...outputColumn }; + if (outputCopy["@_name"] == null) { + outputCopy["@_name"] = `Output-${index + 1}`; + } + return outputCopy; + }), + ]; for (/* Add new columns */ let i = 0; i < outputColumnsToAdd.length; i++) { nextOutputColumns.splice(localIndexInsideGroup + i, 0, outputColumnsToAdd[i]); } diff --git a/packages/dmn-editor/src/boxedExpressions/getDefaultBoxedExpression.tsx b/packages/dmn-editor/src/boxedExpressions/getDefaultBoxedExpression.tsx index cf41f3cacd0..f1918d29bea 100644 --- a/packages/dmn-editor/src/boxedExpressions/getDefaultBoxedExpression.tsx +++ b/packages/dmn-editor/src/boxedExpressions/getDefaultBoxedExpression.tsx @@ -230,7 +230,7 @@ export function getDefaultBoxedExpression({ return relationExpression; } else if (logicType === "decisionTable") { const singleOutputColumn = { - name: "Output-1", + name: undefined, typeRef: dataType?.feelName, }; const singleInputColumn = { @@ -277,15 +277,7 @@ export function getDefaultBoxedExpression({ "@_typeRef": typeRef, "@_hitPolicy": "UNIQUE", input, - output: output.map((out) => { - if (output.length > 1) { - return { - ...out, - }; - } else { - return { ...out, "@_name": undefined }; - } - }), + output, annotation: [ { "@_name": "Annotations", diff --git a/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx b/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx index 18c84d9f53d..f75af023153 100644 --- a/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx +++ b/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx @@ -176,10 +176,9 @@ export function DecisionTableOutputHeaderCell(props: { )} {root?.output && root.output.length > 1 ? ( updater((dmnObject) => { From 71f6fd73c5ea2c9392d1e1aa2873fb22d4c7d385 Mon Sep 17 00:00:00 2001 From: chinnamatli kusumalatha Date: Tue, 7 Jan 2025 18:31:12 +0530 Subject: [PATCH 03/11] removing unused variable decalaration --- .../DecisionTableOutputHeaderCell.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx b/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx index f75af023153..4fd4154bc93 100644 --- a/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx +++ b/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx @@ -45,9 +45,6 @@ export function DecisionTableOutputHeaderCell(props: { const activeDrgElementId = useDmnEditorStore((s) => s.boxedExpressionEditor.activeDrgElementId); const { dmnEditorRootElementRef } = useDmnEditor(); const { externalModelsByNamespace } = useExternalModels(); - const singleOutputColumn = { - name: "Output-1", - }; const node = useDmnEditorStore((s) => s .computed(s) From 2b7eec4d90949c9b16e853f9f457b24821cb6c97 Mon Sep 17 00:00:00 2001 From: chinnamatli kusumalatha Date: Wed, 8 Jan 2025 18:50:15 +0530 Subject: [PATCH 04/11] fixing name issue while deleting output column --- .../DecisionTableExpression.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx b/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx index 2c8ec4bbe00..bbf017ce2c4 100644 --- a/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx +++ b/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx @@ -902,11 +902,19 @@ export function DecisionTableExpression({ case DecisionTableColumnType.OutputClause: const newOutputs = [...(prev.output ?? [])]; newOutputs.splice(localIndexInsideGroup, 1); - + const updatedOutputColumns = [ + ...(newOutputs ?? []).map((outputColumn) => { + const outputCopy = { ...outputColumn }; + if (newOutputs.length == 1) { + outputCopy["@_name"] = undefined; + } + return outputCopy; + }), + ]; // Do not inline this variable for type safety. See https://github.com/microsoft/TypeScript/issues/241 const retOutput: Normalized = { ...prev, - output: newOutputs, + output: updatedOutputColumns, rule: [...(prev.rule ?? [])].map((rule) => { const newOutputEntry = [...rule.outputEntry]; newOutputEntry.splice(localIndexInsideGroup, 1); From 09a6022fe791d96e7a26c523dca8bcb4b1f24d15 Mon Sep 17 00:00:00 2001 From: chinnamatli kusumalatha Date: Thu, 9 Jan 2025 17:18:43 +0530 Subject: [PATCH 05/11] modified equality operator --- .../DecisionTableExpression/DecisionTableExpression.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx b/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx index bbf017ce2c4..76a0817fbb7 100644 --- a/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx +++ b/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx @@ -779,7 +779,7 @@ export function DecisionTableExpression({ const nextOutputColumns = [ ...(prev.output ?? []).map((outputColumn, index) => { const outputCopy = { ...outputColumn }; - if (outputCopy["@_name"] == null) { + if (outputCopy["@_name"] === null) { outputCopy["@_name"] = `Output-${index + 1}`; } return outputCopy; @@ -902,10 +902,11 @@ export function DecisionTableExpression({ case DecisionTableColumnType.OutputClause: const newOutputs = [...(prev.output ?? [])]; newOutputs.splice(localIndexInsideGroup, 1); - const updatedOutputColumns = [ + //Output name shouldn't be displayed when there is single output column(kie-issues#1466) + const updatedOutputForSingleOutputColumns = [ ...(newOutputs ?? []).map((outputColumn) => { const outputCopy = { ...outputColumn }; - if (newOutputs.length == 1) { + if (newOutputs.length === 1) { outputCopy["@_name"] = undefined; } return outputCopy; @@ -914,7 +915,7 @@ export function DecisionTableExpression({ // Do not inline this variable for type safety. See https://github.com/microsoft/TypeScript/issues/241 const retOutput: Normalized = { ...prev, - output: updatedOutputColumns, + output: updatedOutputForSingleOutputColumns, rule: [...(prev.rule ?? [])].map((rule) => { const newOutputEntry = [...rule.outputEntry]; newOutputEntry.splice(localIndexInsideGroup, 1); From f81b3f532459108b259845606c3f9236565f50bc Mon Sep 17 00:00:00 2001 From: chinnamatli kusumalatha Date: Fri, 10 Jan 2025 10:50:09 +0530 Subject: [PATCH 06/11] adding correct validation --- .../DecisionTableExpression/DecisionTableExpression.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx b/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx index 76a0817fbb7..d2074bc4d71 100644 --- a/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx +++ b/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx @@ -779,7 +779,7 @@ export function DecisionTableExpression({ const nextOutputColumns = [ ...(prev.output ?? []).map((outputColumn, index) => { const outputCopy = { ...outputColumn }; - if (outputCopy["@_name"] === null) { + if (outputCopy["@_name"] === undefined) { outputCopy["@_name"] = `Output-${index + 1}`; } return outputCopy; From fde162c4107abecd40f3819245ad0b0da03f9f8d Mon Sep 17 00:00:00 2001 From: chinnamatli kusumalatha Date: Mon, 13 Jan 2025 16:11:11 +0530 Subject: [PATCH 07/11] making typeref also undefined when there is singleoutput column after deleting 2nd output column --- .../DecisionTableExpression/DecisionTableExpression.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx b/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx index d2074bc4d71..4816741e791 100644 --- a/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx +++ b/packages/boxed-expression-component/src/expressions/DecisionTableExpression/DecisionTableExpression.tsx @@ -908,6 +908,7 @@ export function DecisionTableExpression({ const outputCopy = { ...outputColumn }; if (newOutputs.length === 1) { outputCopy["@_name"] = undefined; + outputCopy["@_typeRef"] = undefined; } return outputCopy; }), From e2a5d185ad909dbbe083a88d941f510a36136f07 Mon Sep 17 00:00:00 2001 From: chinnamatli kusumalatha Date: Thu, 16 Jan 2025 12:31:22 +0530 Subject: [PATCH 08/11] fixing test case when there are 2 output columns with types and one iss deleted then there should be only one output column ,as we have removed column name for single output type is also ignored --- .../DecisionTableOutputHeaderCell.tsx | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx b/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx index 4fd4154bc93..82179d122ab 100644 --- a/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx +++ b/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx @@ -186,17 +186,21 @@ export function DecisionTableOutputHeaderCell(props: { ) : ( "" )} - - updater((dmnObject) => { - dmnObject["@_typeRef"] = newTypeRef; - }) - } - /> + {root?.output && root.output.length > 1 ? ( + + updater((dmnObject) => { + dmnObject["@_typeRef"] = newTypeRef; + }) + } + /> + ) : ( + "" + )} {itemDefinition && ( Date: Wed, 29 Jan 2025 14:31:33 +0530 Subject: [PATCH 09/11] fixing test cases --- .../checkDecisionTableCellsDataType.spec.ts | 70 +++++++------------ 1 file changed, 27 insertions(+), 43 deletions(-) diff --git a/packages/dmn-editor/tests-e2e/checkDecisionTableCellsDataType.spec.ts b/packages/dmn-editor/tests-e2e/checkDecisionTableCellsDataType.spec.ts index 570d86334b9..b990e430607 100644 --- a/packages/dmn-editor/tests-e2e/checkDecisionTableCellsDataType.spec.ts +++ b/packages/dmn-editor/tests-e2e/checkDecisionTableCellsDataType.spec.ts @@ -31,7 +31,7 @@ test.describe("Decision Table - Cells Data Type", () => { await nodes.edit({ name: DefaultNodeName.DECISION }); }); - test("Decision table output column type should match the expression header type and be in readonly mode - built-in type", async ({ + test("Decision type should match expression header type and output column type should be hidden with a single output column - built-in type", async ({ bee, beePropertiesPanel, }) => { @@ -42,13 +42,11 @@ test.describe("Decision Table - Cells Data Type", () => { newDataType: DataType.DateTimeDuration, }); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toBeDisabled(); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue( - DataType.DateTimeDuration - ); + await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).not.toBeAttached(); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(DataType.DateTimeDuration); }); - test("Decision table output column type should match the expression header type and be in readonly mode - custom type", async ({ + test("Decision type should match expression header type and output column type should be hidden with a single output column - custom type", async ({ editor, dataTypes, bee, @@ -65,11 +63,11 @@ test.describe("Decision Table - Cells Data Type", () => { await bee.expression.asDecisionTable().outputHeaderAt(0).select(); await beePropertiesPanel.decisionTableOutputHeader.setExpressionCustomDataType({ newDataType: "testType" }); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toBeDisabled(); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(/^testType\s$/i); + await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).not.toBeAttached(); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^testType\s$/i); }); - test("Decision table output column with different type than expression header shouldn't be in readonly mode", async ({ + test("Decision table output column type shouldn't be there after deleting one output column", async ({ bee, beePropertiesPanel, }) => { @@ -87,9 +85,9 @@ test.describe("Decision Table - Cells Data Type", () => { await bee.expression.asDecisionTable().outputHeaderAt(1).contextMenu.option("Delete").click(); await bee.expression.asDecisionTable().outputHeaderAt(0).select(); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toBeEnabled(); + await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).not.toBeAttached(); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue(DataType.Number); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(DataType.Boolean); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(DataType.Number); }); test("Decision table fix output column with different type than expression header", async ({ @@ -110,15 +108,9 @@ test.describe("Decision Table - Cells Data Type", () => { await bee.expression.asDecisionTable().outputHeaderAt(1).contextMenu.option("Delete").click(); await bee.expression.asDecisionTable().outputHeaderAt(0).select(); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toBeEnabled(); + await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).not.toBeAttached(); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue(DataType.Number); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(DataType.Boolean); - - await beePropertiesPanel.decisionTableOutputHeader.setColumnDataType({ newDataType: DataType.Number }); - - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toBeDisabled(); - await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue(DataType.Number); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(DataType.Number); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(DataType.Number); }); }); }); @@ -183,8 +175,8 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await beePropertiesPanel.decisionTableOutputHeader.setExpressionDataType({ newDataType: dataType }); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue(`${dataType}`); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(`${dataType}`); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toBeDisabled(); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(`${dataType}`); + await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).not.toBeAttached(); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).not.toBeAttached(); }); @@ -593,7 +585,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*enumType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(/^\s*enumType\s$/i); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*enumType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getEnumerationValueAt(0)).toHaveValue("foo"); @@ -625,7 +617,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*enumType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(/^\s*enumType\s$/i); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*enumType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getEnumerationValueAt(0)).toHaveValue("foo"); @@ -641,7 +633,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*enumType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(/^\s*enumType\s$/i); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*enumType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getEnumerationValueAt(0)).toHaveValue("foo"); @@ -673,7 +665,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*rangeType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(/^\s*rangeType\s$/i); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*rangeType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); @@ -712,7 +704,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*rangeType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(/^\s*rangeType\s$/i); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*rangeType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect( @@ -731,7 +723,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*rangeType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(/^\s*rangeType\s$/i); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*rangeType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect( @@ -769,9 +761,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*expressionType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue( - /^\s*expressionType\s$/i - ); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*expressionType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionConstraintValue()).toHaveText("> 20"); @@ -801,9 +791,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*expressionType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue( - /^\s*expressionType\s$/i - ); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*expressionType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionConstraintValue()).toHaveText("> 20"); @@ -817,9 +805,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*expressionType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue( - /^\s*expressionType\s$/i - ); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*expressionType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionConstraintValue()).toHaveText("< 30"); @@ -845,7 +831,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*noneType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(/^\s*noneType\s$/i); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*noneType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getNoneConstraint()).toBeAttached(); @@ -871,7 +857,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*enumType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(/^\s*enumType\s$/i); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*enumType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getEnumerationValueAt(0)).toHaveValue("foo"); @@ -892,7 +878,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*rangeType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(/^\s*rangeType\s$/i); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*rangeType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect( @@ -921,9 +907,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*expressionType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue( - /^\s*expressionType\s$/i - ); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*expressionType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionConstraintValue()).toHaveText("> 20"); @@ -940,7 +924,7 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*noneType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).toHaveValue(/^\s*noneType\s$/i); + await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*noneType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getNoneConstraint()).toBeAttached(); From 25b5a3f30eb05262f086c3a9f0151e97752268f5 Mon Sep 17 00:00:00 2001 From: chinnamatli kusumalatha Date: Thu, 30 Jan 2025 11:24:38 +0530 Subject: [PATCH 10/11] removing column type --- .../DecisionTableOutputHeaderCell.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx b/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx index 82179d122ab..d3af1a086bd 100644 --- a/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx +++ b/packages/dmn-editor/src/propertiesPanel/BoxedExpressionPropertiesPanelComponents/DecisionTableOutputHeaderCell.tsx @@ -188,7 +188,6 @@ export function DecisionTableOutputHeaderCell(props: { )} {root?.output && root.output.length > 1 ? ( Date: Fri, 31 Jan 2025 08:13:07 +0530 Subject: [PATCH 11/11] test case issues --- .../checkDecisionTableCellsDataType.spec.ts | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/packages/dmn-editor/tests-e2e/checkDecisionTableCellsDataType.spec.ts b/packages/dmn-editor/tests-e2e/checkDecisionTableCellsDataType.spec.ts index b990e430607..eed2797dc95 100644 --- a/packages/dmn-editor/tests-e2e/checkDecisionTableCellsDataType.spec.ts +++ b/packages/dmn-editor/tests-e2e/checkDecisionTableCellsDataType.spec.ts @@ -87,7 +87,6 @@ test.describe("Decision Table - Cells Data Type", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).not.toBeAttached(); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue(DataType.Number); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(DataType.Number); }); test("Decision table fix output column with different type than expression header", async ({ @@ -110,7 +109,6 @@ test.describe("Decision Table - Cells Data Type", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).not.toBeAttached(); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue(DataType.Number); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(DataType.Number); }); }); }); @@ -175,7 +173,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await beePropertiesPanel.decisionTableOutputHeader.setExpressionDataType({ newDataType: dataType }); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue(`${dataType}`); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(`${dataType}`); await expect(beePropertiesPanel.decisionTableOutputHeader.getColumnDataType()).not.toBeAttached(); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).not.toBeAttached(); }); @@ -585,7 +582,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*enumType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*enumType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getEnumerationValueAt(0)).toHaveValue("foo"); @@ -617,7 +613,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*enumType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*enumType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getEnumerationValueAt(0)).toHaveValue("foo"); @@ -633,7 +628,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*enumType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*enumType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getEnumerationValueAt(0)).toHaveValue("foo"); @@ -665,7 +659,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*rangeType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*rangeType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); @@ -704,7 +697,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*rangeType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*rangeType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect( @@ -723,7 +715,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*rangeType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*rangeType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect( @@ -761,7 +752,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*expressionType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*expressionType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionConstraintValue()).toHaveText("> 20"); @@ -791,7 +781,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*expressionType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*expressionType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionConstraintValue()).toHaveText("> 20"); @@ -805,7 +794,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*expressionType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*expressionType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionConstraintValue()).toHaveText("< 30"); @@ -831,7 +819,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*noneType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*noneType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getNoneConstraint()).toBeAttached(); @@ -857,7 +844,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*enumType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*enumType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getEnumerationValueAt(0)).toHaveValue("foo"); @@ -878,7 +864,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*rangeType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*rangeType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect( @@ -907,7 +892,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*expressionType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*expressionType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionConstraintValue()).toHaveText("> 20"); @@ -924,7 +908,6 @@ test.describe("Decision Table - Cells Data Type - Constraint", () => { await expect(beePropertiesPanel.decisionTableOutputHeader.getExpressionDataType()).toHaveValue( /^\s*noneType\s$/i ); - await expect(beePropertiesPanel.decisionTableOutputHeader.getDataType()).toHaveValue(/^\s*noneType\s$/i); await expect(beePropertiesPanel.decisionTableOutputHeader.getConstraintSection()).toBeAttached(); await beePropertiesPanel.decisionTableOutputHeader.expectConstraintButtonsToBeDisabled(); await expect(beePropertiesPanel.decisionTableOutputHeader.getNoneConstraint()).toBeAttached();