Skip to content

Commit

Permalink
test: bootstrap a first test for the ad-hoc completion group
Browse files Browse the repository at this point in the history
  • Loading branch information
maff committed Mar 4, 2025
1 parent 6ce2459 commit e4f2342
Show file tree
Hide file tree
Showing 2 changed files with 114 additions and 0 deletions.
36 changes: 36 additions & 0 deletions test/spec/provider/bpmn/AdHocCompletionProps.bpmn
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_1rk4hoy" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.30.0" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="8.6.0">
<bpmn:process id="Process_1sk4u1k" isExecutable="true">
<bpmn:adHocSubProcess id="Subprocess_1" cancelRemainingInstances="false">
<bpmn:task id="Activity_167ttdt" />
<bpmn:task id="Activity_0cxw94m" />
<bpmn:completionCondition xsi:type="bpmn:tFormalExpression">=2 * 2 &gt; 3</bpmn:completionCondition>
</bpmn:adHocSubProcess>
<bpmn:adHocSubProcess id="Subprocess_2">
<bpmn:task id="Activity_1qb8yya" />
<bpmn:task id="Activity_1i2ek76" />
</bpmn:adHocSubProcess>
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1sk4u1k">
<bpmndi:BPMNShape id="Activity_1hitopu_di" bpmnElement="Subprocess_1" isExpanded="true">
<dc:Bounds x="160" y="70" width="350" height="200" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_167ttdt_di" bpmnElement="Activity_167ttdt">
<dc:Bounds x="210" y="130" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0cxw94m_di" bpmnElement="Activity_0cxw94m">
<dc:Bounds x="360" y="130" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_06ihycz" bpmnElement="Subprocess_2" isExpanded="true">
<dc:Bounds x="540" y="70" width="350" height="200" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_0c1eh57" bpmnElement="Activity_1qb8yya">
<dc:Bounds x="590" y="130" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_1g9skdj" bpmnElement="Activity_1i2ek76">
<dc:Bounds x="740" y="130" width="100" height="80" />
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
78 changes: 78 additions & 0 deletions test/spec/provider/bpmn/AdHocCompletionProps.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
import TestContainer from 'mocha-test-container-support';

import { act } from '@testing-library/preact';

import { bootstrapPropertiesPanel, inject } from 'test/TestHelper';

import { query as domQuery } from 'min-dom';

import BpmnPropertiesPanel from 'src/render';
import BpmnPropertiesProvider from 'src/provider/bpmn';
import CoreModule from 'bpmn-js/lib/core';
import ModelingModule from 'bpmn-js/lib/features/modeling';
import SelectionModule from 'diagram-js/lib/features/selection';

import diagramXML from './AdHocCompletionProps.bpmn';

describe('provider/bpmn - AdHocCompletion', function() {
const testModules = [
BpmnPropertiesPanel,
BpmnPropertiesProvider,
CoreModule,
ModelingModule,
SelectionModule,
];

let container;

beforeEach(function() {
container = TestContainer.get(this);
});

beforeEach(
bootstrapPropertiesPanel(diagramXML, {
modules: testModules,
debounceInput: false,
})
);

describe('bpmn:AdHocSubProcess', function() {
it('should display completion group', inject(async function(
elementRegistry,
selection
) {

// given
const subprocess = elementRegistry.get('Subprocess_1');

// when
await act(() => {
selection.select(subprocess);
});

// then
const group = getGroup(container, 'ad-hoc-completion');
expect(group).to.exist;
expect(getCompletionConditionInput(container)).to.exist;
expect(getCancelRemainingInstancesCheckbox(container)).to.exist;
}));

describe('#completionCondition', function() {});

describe('#cancelRemainingInstances', function() {});
});
});

// helpers

function getGroup(container, id) {
return domQuery(`[data-group-id="group-${id}"`, container);
}

function getCompletionConditionInput(container) {
return domQuery('[name=completionCondition] [role="textbox"]', container);
}

function getCancelRemainingInstancesCheckbox(container) {
return domQuery('[name=cancelRemainingInstances]', container);
}

0 comments on commit e4f2342

Please sign in to comment.