2015-04-22 07:08:38 +00:00
|
|
|
'use strict';
|
|
|
|
|
2015-07-29 13:11:54 +00:00
|
|
|
var TestHelper = require('../../../../TestHelper');
|
2015-04-22 07:08:38 +00:00
|
|
|
|
|
|
|
/* global bootstrapModeler, inject */
|
|
|
|
|
|
|
|
|
2015-07-29 13:11:54 +00:00
|
|
|
var modelingModule = require('../../../../../lib/features/modeling'),
|
|
|
|
coreModule = require('../../../../../lib/core');
|
2015-04-22 07:08:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
describe('features/modeling - layout message flows', function() {
|
|
|
|
|
2015-07-29 13:11:54 +00:00
|
|
|
var diagramXML = require('../../../../fixtures/bpmn/collaboration-message-flows.bpmn');
|
2015-04-22 07:08:38 +00:00
|
|
|
|
|
|
|
var testModules = [ coreModule, modelingModule ];
|
|
|
|
|
|
|
|
beforeEach(bootstrapModeler(diagramXML, { modules: testModules }));
|
|
|
|
|
|
|
|
|
|
|
|
it('should layout manhattan after Task move', inject(function(elementRegistry, modeling) {
|
|
|
|
|
|
|
|
// given
|
|
|
|
var taskShape = elementRegistry.get('Task_1'),
|
|
|
|
messageFlowConnection = elementRegistry.get('MessageFlow_4');
|
|
|
|
|
|
|
|
// when
|
2015-08-13 08:51:52 +00:00
|
|
|
modeling.moveElements([ taskShape ], { x: 30, y: 20 });
|
2015-04-22 07:08:38 +00:00
|
|
|
|
|
|
|
// then
|
|
|
|
// expect cropped, repaired manhattan connection
|
2015-07-15 15:22:19 +00:00
|
|
|
expect(messageFlowConnection.waypoints).eql([
|
2015-04-22 07:08:38 +00:00
|
|
|
{ original: { x: 420, y: 234 }, x: 420, y: 234 },
|
|
|
|
{ x: 420, y: 387 },
|
|
|
|
{ x: 318, y: 387 },
|
|
|
|
{ original: { x: 318, y: 448 }, x: 318, y: 448 }
|
|
|
|
]);
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
|
|
it('should layout straight after Task move', inject(function(elementRegistry, modeling) {
|
|
|
|
|
|
|
|
// given
|
|
|
|
var taskShape = elementRegistry.get('Task_2'),
|
|
|
|
messageFlowConnection = elementRegistry.get('MessageFlow_1');
|
|
|
|
|
|
|
|
// when
|
2015-08-13 08:51:52 +00:00
|
|
|
modeling.moveElements([ taskShape ], { x: 20, y: -20 });
|
2015-04-22 07:08:38 +00:00
|
|
|
|
|
|
|
// then
|
|
|
|
|
|
|
|
// expect cropped, repaired manhattan connection
|
2015-07-15 15:22:19 +00:00
|
|
|
expect(messageFlowConnection.waypoints).eql([
|
2015-04-22 07:08:38 +00:00
|
|
|
{ original: { x: 610, y: 194 }, x: 610, y: 194 },
|
|
|
|
{ original: { x: 610, y: 415 }, x: 610, y: 415 }
|
|
|
|
]);
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
|
|
it('should layout straight after Participant move', inject(function(elementRegistry, modeling) {
|
|
|
|
|
|
|
|
// given
|
|
|
|
var participantShape = elementRegistry.get('Participant_1'),
|
|
|
|
messageFlowConnection = elementRegistry.get('MessageFlow_5');
|
|
|
|
|
|
|
|
// when
|
2015-08-13 08:51:52 +00:00
|
|
|
modeling.moveElements([ participantShape ], { x: 100, y: 50 });
|
2015-04-22 07:08:38 +00:00
|
|
|
|
|
|
|
// then
|
|
|
|
|
|
|
|
// expect cropped, repaired manhattan connection
|
2015-07-15 15:22:19 +00:00
|
|
|
expect(messageFlowConnection.waypoints).eql([
|
2015-04-22 07:08:38 +00:00
|
|
|
{ original: { x: 671, y: 214 }, x: 671, y: 214 },
|
2015-08-24 09:28:54 +00:00
|
|
|
{ original: { x: 671, y: 465 }, x: 671, y: 465 }
|
2015-04-22 07:08:38 +00:00
|
|
|
]);
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
|
|
it('should layout manhattan after Participant move beyond EndEvent bounds',
|
|
|
|
inject(function(elementRegistry, modeling) {
|
|
|
|
|
|
|
|
// given
|
|
|
|
var participantShape = elementRegistry.get('Participant_1'),
|
|
|
|
messageFlowConnection = elementRegistry.get('MessageFlow_5');
|
|
|
|
|
|
|
|
// when
|
2015-08-13 08:51:52 +00:00
|
|
|
modeling.moveElements([ participantShape ], { x: -200, y: 0 });
|
2015-04-22 07:08:38 +00:00
|
|
|
|
|
|
|
// then
|
|
|
|
|
|
|
|
// expect cropped, repaired manhattan connection
|
2015-07-15 15:22:19 +00:00
|
|
|
expect(messageFlowConnection.waypoints).eql([
|
2015-04-22 07:08:38 +00:00
|
|
|
{ original: { x: 671, y: 214 }, x: 671, y: 214 },
|
|
|
|
{ x: 671, y: 315 },
|
|
|
|
{ x: 471, y: 315 },
|
|
|
|
{ original: { x: 471, y: 415 }, x: 471, y: 415 }
|
|
|
|
]);
|
|
|
|
}));
|
|
|
|
|
2015-07-15 15:22:19 +00:00
|
|
|
});
|