test(ResizeShape): add test coverage
* Restructure tests to make them more clear * Add tests for businessObject updates (especially groups)
This commit is contained in:
parent
175e395768
commit
883d6c8ad3
|
@ -13,6 +13,7 @@
|
||||||
<bpmn:incoming>SequenceFlow_2</bpmn:incoming>
|
<bpmn:incoming>SequenceFlow_2</bpmn:incoming>
|
||||||
</bpmn:endEvent>
|
</bpmn:endEvent>
|
||||||
<bpmn:sequenceFlow id="SequenceFlow_2" sourceRef="SubProcess_1" targetRef="EndEvent_1" />
|
<bpmn:sequenceFlow id="SequenceFlow_2" sourceRef="SubProcess_1" targetRef="EndEvent_1" />
|
||||||
|
<bpmn:group id="Group_1" />
|
||||||
</bpmn:process>
|
</bpmn:process>
|
||||||
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||||
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
|
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
|
||||||
|
@ -45,6 +46,9 @@
|
||||||
<dc:Bounds x="710" y="232" width="90" height="20" />
|
<dc:Bounds x="710" y="232" width="90" height="20" />
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNShape id="Group_1_di" bpmnElement="Group_1">
|
||||||
|
<dc:Bounds x="264" y="42" width="500" height="400" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
</bpmndi:BPMNPlane>
|
</bpmndi:BPMNPlane>
|
||||||
</bpmndi:BPMNDiagram>
|
</bpmndi:BPMNDiagram>
|
||||||
</bpmn:definitions>
|
</bpmn:definitions>
|
||||||
|
|
|
@ -3,6 +3,10 @@ import {
|
||||||
inject
|
inject
|
||||||
} from 'test/TestHelper';
|
} from 'test/TestHelper';
|
||||||
|
|
||||||
|
import {
|
||||||
|
getBusinessObject
|
||||||
|
} from 'lib/util/ModelUtil';
|
||||||
|
|
||||||
import modelingModule from 'lib/features/modeling';
|
import modelingModule from 'lib/features/modeling';
|
||||||
import coreModule from 'lib/core';
|
import coreModule from 'lib/core';
|
||||||
|
|
||||||
|
@ -18,53 +22,104 @@ describe('features/modeling - resize shape', function() {
|
||||||
|
|
||||||
describe('shape', function() {
|
describe('shape', function() {
|
||||||
|
|
||||||
|
it('should resize', inject(function(elementRegistry, modeling) {
|
||||||
it('should resize', inject(function(elementRegistry, modeling, bpmnFactory) {
|
|
||||||
|
|
||||||
// given
|
// given
|
||||||
var subProcessElement = elementRegistry.get('SubProcess_1');
|
var subProcessElement = elementRegistry.get('SubProcess_1'),
|
||||||
|
originalWidth = subProcessElement.width;
|
||||||
var sequenceFlowElement = elementRegistry.get('SequenceFlow_2'),
|
|
||||||
sequenceFlow = sequenceFlowElement.businessObject;
|
|
||||||
|
|
||||||
// when
|
// when
|
||||||
|
|
||||||
// Decreasing width by 100px
|
|
||||||
modeling.resizeShape(subProcessElement, { x: 339, y: 142, width: 250, height: 200 });
|
modeling.resizeShape(subProcessElement, { x: 339, y: 142, width: 250, height: 200 });
|
||||||
|
|
||||||
// then
|
// then
|
||||||
|
expect(subProcessElement.width).to.equal(250);
|
||||||
|
expect(subProcessElement.width).to.not.equal(originalWidth);
|
||||||
|
|
||||||
// expect flow layout
|
|
||||||
var diWaypoints = bpmnFactory.createDiWaypoints([
|
|
||||||
{ x: 589, y: 242 },
|
|
||||||
{ x: 821, y: 242 }
|
|
||||||
]);
|
|
||||||
|
|
||||||
expect(sequenceFlow.di.waypoint).eql(diWaypoints);
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
||||||
it('should move', inject(function(elementRegistry, modeling, bpmnFactory) {
|
describe('businessObject', function() {
|
||||||
|
|
||||||
// given
|
it('should update bounds', inject(function(elementRegistry, modeling) {
|
||||||
var subProcessElement = elementRegistry.get('SubProcess_1');
|
|
||||||
|
|
||||||
var sequenceFlowElement = elementRegistry.get('SequenceFlow_2'),
|
// given
|
||||||
sequenceFlow = sequenceFlowElement.businessObject;
|
var subProcessElement = elementRegistry.get('SubProcess_1');
|
||||||
|
|
||||||
// when
|
// when
|
||||||
modeling.moveShape(subProcessElement, { x: -50, y: 0 });
|
modeling.resizeShape(subProcessElement, { x: 339, y: 142, width: 250, height: 200 });
|
||||||
|
|
||||||
// then
|
// then
|
||||||
|
var bo = getBusinessObject(subProcessElement);
|
||||||
|
expect(bo.di.bounds.width).to.equal(250);
|
||||||
|
}));
|
||||||
|
|
||||||
// expect flow layout
|
|
||||||
var diWaypoints = bpmnFactory.createDiWaypoints([
|
|
||||||
{ x: 639, y: 242 },
|
|
||||||
{ x: 821, y: 242 }
|
|
||||||
]);
|
|
||||||
|
|
||||||
expect(sequenceFlow.di.waypoint).eql(diWaypoints);
|
it('should update group bounds', inject(function(elementRegistry, modeling) {
|
||||||
}));
|
|
||||||
|
// given
|
||||||
|
var subProcessElement = elementRegistry.get('Group_1');
|
||||||
|
|
||||||
|
// when
|
||||||
|
modeling.resizeShape(subProcessElement, { x: 250, y: 250, width: 550, height: 400 });
|
||||||
|
|
||||||
|
// then
|
||||||
|
var bo = getBusinessObject(subProcessElement);
|
||||||
|
expect(bo.di.bounds.width).to.equal(550);
|
||||||
|
}));
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
describe('connected flow', function() {
|
||||||
|
|
||||||
|
it('should resize', inject(function(elementRegistry, modeling, bpmnFactory) {
|
||||||
|
|
||||||
|
// given
|
||||||
|
var subProcessElement = elementRegistry.get('SubProcess_1');
|
||||||
|
|
||||||
|
var sequenceFlowElement = elementRegistry.get('SequenceFlow_2'),
|
||||||
|
sequenceFlow = sequenceFlowElement.businessObject;
|
||||||
|
|
||||||
|
// when
|
||||||
|
|
||||||
|
// Decreasing width by 100px
|
||||||
|
modeling.resizeShape(subProcessElement, { x: 339, y: 142, width: 250, height: 200 });
|
||||||
|
|
||||||
|
// then
|
||||||
|
|
||||||
|
// expect flow layout
|
||||||
|
var diWaypoints = bpmnFactory.createDiWaypoints([
|
||||||
|
{ x: 589, y: 242 },
|
||||||
|
{ x: 821, y: 242 }
|
||||||
|
]);
|
||||||
|
|
||||||
|
expect(sequenceFlow.di.waypoint).eql(diWaypoints);
|
||||||
|
}));
|
||||||
|
|
||||||
|
|
||||||
|
it('should move', inject(function(elementRegistry, modeling, bpmnFactory) {
|
||||||
|
|
||||||
|
// given
|
||||||
|
var subProcessElement = elementRegistry.get('SubProcess_1');
|
||||||
|
|
||||||
|
var sequenceFlowElement = elementRegistry.get('SequenceFlow_2'),
|
||||||
|
sequenceFlow = sequenceFlowElement.businessObject;
|
||||||
|
|
||||||
|
// when
|
||||||
|
modeling.moveShape(subProcessElement, { x: -50, y: 0 });
|
||||||
|
|
||||||
|
// then
|
||||||
|
|
||||||
|
// expect flow layout
|
||||||
|
var diWaypoints = bpmnFactory.createDiWaypoints([
|
||||||
|
{ x: 639, y: 242 },
|
||||||
|
{ x: 821, y: 242 }
|
||||||
|
]);
|
||||||
|
|
||||||
|
expect(sequenceFlow.di.waypoint).eql(diWaypoints);
|
||||||
|
}));
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue