fix(create-participant-behavior): ensure available children

* Ensure there are leftover children to calculate createConstraints

Closes #1133
This commit is contained in:
Niklas Kiefer 2019-08-05 09:49:00 +02:00 committed by merge-me[bot]
parent f5d55fe5dd
commit 5d5f33c38b
2 changed files with 38 additions and 0 deletions

View File

@ -48,6 +48,11 @@ export default function CreateParticipantBehavior(canvas, eventBus, modeling) {
!isConnection(element);
});
// ensure for available children to calculate bounds
if (!children.length) {
return;
}
var childrenBBox = getBBox(children);
var participantBounds = getParticipantBounds(shape, childrenBBox);

View File

@ -342,6 +342,39 @@ describe('features/modeling - create participant', function() {
});
describe('fitting participant (only groups)', function() {
var processDiagramXML = require('../../../../fixtures/bpmn/collaboration/process-empty.bpmn');
beforeEach(bootstrapModeler(processDiagramXML, { modules: testModules }));
it('should fit participant', inject(
function(canvas, create, dragging, elementFactory, modeling) {
// given
var process = canvas.getRootElement(),
processGfx = canvas.getGraphics(process),
participant = elementFactory.createParticipantShape(),
participantBo = participant.businessObject,
groupElement = elementFactory.createShape({ type: 'bpmn:Group' });
modeling.createShape(groupElement, { x: 100, y: 100 }, process);
// when
create.start(canvasEvent({ x: 100, y: 100 }), participant);
dragging.hover({ element: process, gfx: processGfx });
// then
var defaultSize = elementFactory._getDefaultSize(participantBo);
expect(participant.width).to.equal(defaultSize.width);
expect(participant.height).to.equal(defaultSize.height);
}
));
});
});