mirror of
https://github.com/sartography/bpmn-js-spiffworkflow.git
synced 2025-02-23 04:58:08 +00:00
fixes to add and update script unit tests w/ burnettk
This commit is contained in:
parent
28eccc0d00
commit
19cc2e3961
@ -1,6 +1,9 @@
|
||||
import { useService } from 'bpmn-js-properties-panel';
|
||||
import { TextFieldEntry, TextAreaEntry } from '@bpmn-io/properties-panel';
|
||||
import { removeFirstInstanceOfItemFromArrayInPlace } from '../../helpers';
|
||||
import {
|
||||
removeFirstInstanceOfItemFromArrayInPlace,
|
||||
removeExtensionElementsIfEmpty,
|
||||
} from '../../helpers';
|
||||
|
||||
const getScriptUnitTestsModdleElement = (shapeElement) => {
|
||||
const bizObj = shapeElement.businessObject;
|
||||
@ -21,7 +24,7 @@ const getScriptUnitTestModdleElements = (shapeElement) => {
|
||||
const scriptUnitTestsModdleElement =
|
||||
getScriptUnitTestsModdleElement(shapeElement);
|
||||
if (scriptUnitTestsModdleElement) {
|
||||
return scriptUnitTestsModdleElement.unitTests;
|
||||
return scriptUnitTestsModdleElement.unitTests || [];
|
||||
}
|
||||
return [];
|
||||
};
|
||||
@ -89,6 +92,10 @@ export function ScriptUnitTestArray(props) {
|
||||
scriptUnitTestModdleElement.inputJson = scriptUnitTestInputModdleElement;
|
||||
scriptUnitTestModdleElement.expectedOutputJson =
|
||||
scriptUnitTestOutputModdleElement;
|
||||
|
||||
if (!scriptUnitTestsModdleElement.unitTests) {
|
||||
scriptUnitTestsModdleElement.unitTests = [];
|
||||
}
|
||||
scriptUnitTestsModdleElement.unitTests.push(scriptUnitTestModdleElement);
|
||||
commandStack.execute('element.updateProperties', {
|
||||
element,
|
||||
@ -100,7 +107,7 @@ export function ScriptUnitTestArray(props) {
|
||||
}
|
||||
|
||||
function removeFactory(props) {
|
||||
const { element, scriptUnitTestModdleElement, moddle, commandStack } = props;
|
||||
const { element, scriptUnitTestModdleElement, commandStack } = props;
|
||||
|
||||
return function (event) {
|
||||
event.stopPropagation();
|
||||
@ -110,6 +117,14 @@ function removeFactory(props) {
|
||||
scriptUnitTestsModdleElement.unitTests,
|
||||
scriptUnitTestModdleElement
|
||||
);
|
||||
if (scriptUnitTestsModdleElement.unitTests.length < 1) {
|
||||
const scriptTaskModdleElement = element.businessObject;
|
||||
removeFirstInstanceOfItemFromArrayInPlace(
|
||||
scriptTaskModdleElement.extensionElements.values,
|
||||
scriptUnitTestsModdleElement
|
||||
);
|
||||
removeExtensionElementsIfEmpty(scriptTaskModdleElement);
|
||||
}
|
||||
commandStack.execute('element.updateProperties', {
|
||||
element,
|
||||
properties: {},
|
||||
|
@ -6,3 +6,9 @@ export function removeFirstInstanceOfItemFromArrayInPlace(arr, value) {
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
|
||||
export function removeExtensionElementsIfEmpty(moddleElement) {
|
||||
if (moddleElement.extensionElements.values.length < 1) {
|
||||
moddleElement.extensionElements = null;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user