import TestContainer from 'mocha-test-container-support'; import { BpmnPropertiesPanelModule, BpmnPropertiesProviderModule, } from 'bpmn-js-properties-panel'; import { query as domQuery } from 'min-dom'; import { getBusinessObject } from 'bpmn-js/lib/util/ModelUtil'; import { bootstrapPropertiesPanel, changeInput, expectSelected, findGroupEntry, } from './helpers'; import spiffModdleExtension from '../../app/spiffworkflow/moddle/spiffworkflow.json'; import callActivity from '../../app/spiffworkflow/callActivity'; describe('Call Activities should work', function () { const xml = require('./bpmn/call_activity.bpmn').default; let container; beforeEach(function () { container = TestContainer.get(this); }); beforeEach( bootstrapPropertiesPanel(xml, { container, debounceInput: false, additionalModules: [ callActivity, BpmnPropertiesPanelModule, BpmnPropertiesProviderModule, ], moddleExtensions: { spiffworkflow: spiffModdleExtension, }, }) ); it('should allow you to view the called element section of a Call Activity', async function () { const shapeElement = await expectSelected('the_call_activity'); expect(shapeElement, "Can't find Call Activity").to.exist; const entry = findGroupEntry('called_element', container); expect(entry).to.exist; }); it('should allow you to edit the called element section of a Call Activity', async function () { const shapeElement = await expectSelected('the_call_activity'); expect(shapeElement, "Can't find Call Activity").to.exist; const businessObject = getBusinessObject(shapeElement); expect(businessObject.get('calledElement')).to.equal('ProcessIdTBD1'); const entry = findGroupEntry('called_element', container); expect(entry).to.exist; const textInput = domQuery('input', entry); changeInput(textInput, 'newProcessId'); expect(businessObject.get('calledElement')).to.equal('newProcessId'); }); });