137 lines
4.0 KiB
JavaScript
137 lines
4.0 KiB
JavaScript
import {
|
|
bootstrapModeler,
|
|
inject
|
|
} from 'test/TestHelper';
|
|
|
|
import alignElementsModule from 'diagram-js/lib/features/align-elements';
|
|
import modelingModule from 'lib/features/modeling';
|
|
import coreModule from 'lib/core';
|
|
|
|
|
|
describe('features/align-elements', function() {
|
|
|
|
var testModules = [ alignElementsModule, modelingModule, coreModule ];
|
|
|
|
var basicXML = require('../../../fixtures/bpmn/align-elements.bpmn');
|
|
|
|
beforeEach(bootstrapModeler(basicXML, { modules: testModules }));
|
|
|
|
describe('integration', function() {
|
|
|
|
it('should align to the left', inject(function(elementRegistry, alignElements) {
|
|
|
|
// given
|
|
var taskBoundEvt = elementRegistry.get('Task_boundary_evt'),
|
|
task = elementRegistry.get('Task_lane'),
|
|
subProcess = elementRegistry.get('SubProcess_lane'),
|
|
endEvent = elementRegistry.get('EndEvent_lane'),
|
|
elements = [ taskBoundEvt, task, subProcess, endEvent ];
|
|
|
|
// when
|
|
alignElements.trigger(elements, 'left');
|
|
|
|
// then
|
|
expect(taskBoundEvt.x).to.equal(136);
|
|
expect(task.x).to.equal(136);
|
|
expect(subProcess.x).to.equal(136);
|
|
expect(endEvent.x).to.equal(136);
|
|
}));
|
|
|
|
|
|
it('should align to the right', inject(function(elementRegistry, alignElements) {
|
|
|
|
// given
|
|
var taskHello = elementRegistry.get('Task_hello'),
|
|
task = elementRegistry.get('Task_lane'),
|
|
subProcess = elementRegistry.get('SubProcess_lane'),
|
|
endEvent = elementRegistry.get('EndEvent_lane'),
|
|
elements = [ taskHello, task, subProcess, endEvent ];
|
|
|
|
// when
|
|
alignElements.trigger(elements, 'right');
|
|
|
|
// then
|
|
expect(task.x).to.equal(720);
|
|
expect(taskHello.x).to.equal(720);
|
|
expect(subProcess.x).to.equal(470);
|
|
expect(endEvent.x).to.equal(784);
|
|
}));
|
|
|
|
|
|
it('should align to the center', inject(function(elementRegistry, alignElements) {
|
|
|
|
// given
|
|
var task = elementRegistry.get('Task_lane'),
|
|
taskHello = elementRegistry.get('Task_hello'),
|
|
subProcess = elementRegistry.get('SubProcess_lane'),
|
|
endEvent = elementRegistry.get('EndEvent_lane'),
|
|
elements = [ task, taskHello, subProcess, endEvent ];
|
|
|
|
// when
|
|
alignElements.trigger(elements, 'center');
|
|
|
|
// then
|
|
expect(task.x).to.equal(428);
|
|
expect(taskHello.x).to.equal(428);
|
|
expect(subProcess.x).to.equal(303);
|
|
expect(endEvent.x).to.equal(460);
|
|
}));
|
|
|
|
|
|
it('should align to the top', inject(function(elementRegistry, alignElements) {
|
|
|
|
// given
|
|
var task = elementRegistry.get('Task_lane'),
|
|
subProcess = elementRegistry.get('SubProcess_lane'),
|
|
endEvent = elementRegistry.get('EndEvent_lane'),
|
|
elements = [ task, subProcess, endEvent ];
|
|
|
|
// when
|
|
alignElements.trigger(elements, 'top');
|
|
|
|
// then
|
|
expect(task.y).to.equal(375);
|
|
expect(subProcess.y).to.equal(375);
|
|
expect(endEvent.y).to.equal(375);
|
|
}));
|
|
|
|
|
|
it('should align to the bottom', inject(function(elementRegistry, alignElements) {
|
|
|
|
// given
|
|
var task = elementRegistry.get('Task_lane'),
|
|
subProcess = elementRegistry.get('SubProcess_lane'),
|
|
endEvent = elementRegistry.get('EndEvent_lane'),
|
|
elements = [ task, subProcess, endEvent ];
|
|
|
|
// when
|
|
alignElements.trigger(elements, 'bottom');
|
|
|
|
// then
|
|
expect(task.y).to.equal(761);
|
|
expect(subProcess.y).to.equal(641);
|
|
expect(endEvent.y).to.equal(805);
|
|
}));
|
|
|
|
|
|
it('should align to the middle', inject(function(elementRegistry, alignElements) {
|
|
|
|
// given
|
|
var task = elementRegistry.get('Task_lane'),
|
|
subProcess = elementRegistry.get('SubProcess_lane'),
|
|
endEvent = elementRegistry.get('EndEvent_lane'),
|
|
elements = [ task, subProcess, endEvent ];
|
|
|
|
// when
|
|
alignElements.trigger(elements, 'middle');
|
|
|
|
// then
|
|
expect(task.y).to.equal(568);
|
|
expect(subProcess.y).to.equal(508);
|
|
expect(endEvent.y).to.equal(590);
|
|
}));
|
|
|
|
});
|
|
|
|
});
|