bpmn-js/test/spec/browser/import/elements/CollapsedImportSpec.js

172 lines
4.5 KiB
JavaScript
Raw Normal View History

'use strict';
var fs = require('fs');
var Viewer = require('../../../../../lib/Viewer');
var Matchers = require('../../../Matchers');
describe('import - collapsed container', function() {
beforeEach(Matchers.add);
var loadedXml;
var container, renderer;
function ensureLoaded(xml, done) {
if (xml !== loadedXml) {
// create container
container = document.createElement('div');
document.getElementsByTagName('body')[0].appendChild(container);
renderer = new Viewer(container);
renderer.importXML(xml, function(err) {
if (err) {
done(err);
} else {
loadedXml = xml;
done();
}
});
} else {
done();
}
}
describe('in process', function() {
beforeEach(function(done) {
var xml = fs.readFileSync('test/fixtures/bpmn/import/collapsed.bpmn', 'utf8');
ensureLoaded(xml, done);
});
it('should import collapsed subProcess', function() {
var elementRegistry = renderer.get('elementRegistry');
var collapsedShape = elementRegistry.getShapeById('SubProcess_1');
var childShape = elementRegistry.getShapeById('IntermediateCatchEvent_1');
expect(collapsedShape.collapsed).toBe(true);
expect(childShape.hidden).toBe(true);
});
it('should import collapsed transaction', function() {
var elementRegistry = renderer.get('elementRegistry');
var collapsedShape = elementRegistry.getShapeById('Transaction_1');
var childShape = elementRegistry.getShapeById('UserTask_1');
expect(collapsedShape.collapsed).toBe(true);
expect(childShape.hidden).toBe(true);
});
it('should import collapsed adhocSubProcess', function() {
var elementRegistry = renderer.get('elementRegistry');
var collapsedShape = elementRegistry.getShapeById('AdHocSubProcess_1');
var childShape = elementRegistry.getShapeById('StartEvent_1');
expect(collapsedShape.collapsed).toBe(true);
expect(childShape.hidden).toBe(true);
});
it('should import collapsed with nested elements', function() {
var elementRegistry = renderer.get('elementRegistry');
var collapsedShape = elementRegistry.getShapeById('SubProcess_4');
var childShape = elementRegistry.getShapeById('SubProcess_5');
var nestedChildShape = elementRegistry.getShapeById('Task_3');
expect(collapsedShape.collapsed).toBe(true);
expect(childShape.hidden).toBe(true);
expect(nestedChildShape.hidden).toBe(true);
});
it('should import expanded subProcess', function() {
var elementRegistry = renderer.get('elementRegistry');
var expandedShape = elementRegistry.getShapeById('SubProcess_3');
var childShape = elementRegistry.getShapeById('Task_2');
expect(expandedShape.collapsed).toBe(false);
expect(childShape.hidden).toBe(false);
});
});
describe('in collaboration', function() {
beforeEach(function(done) {
var xml = fs.readFileSync('test/fixtures/bpmn/import/collapsed-collaboration.bpmn', 'utf8');
ensureLoaded(xml, done);
});
it('should import collapsed subProcess in pool', function() {
var elementRegistry = renderer.get('elementRegistry');
var expandedShape = elementRegistry.getShapeById('SubProcess_1');
var childShape = elementRegistry.getShapeById('Task_1');
expect(expandedShape.collapsed).toBe(true);
expect(childShape.hidden).toBe(true);
});
it('should import expanded subProcess in pool', function() {
var elementRegistry = renderer.get('elementRegistry');
var expandedShape = elementRegistry.getShapeById('SubProcess_2');
var childShape = elementRegistry.getShapeById('StartEvent_1');
expect(expandedShape.collapsed).toBe(false);
expect(childShape.hidden).toBe(false);
});
it('should import collapsed subProcess in lane', function() {
var elementRegistry = renderer.get('elementRegistry');
var expandedShape = elementRegistry.getShapeById('SubProcess_4');
var childShape = elementRegistry.getShapeById('Task_2');
expect(expandedShape.collapsed).toBe(true);
expect(childShape.hidden).toBe(true);
});
it('should import expanded subProcess in lane', function() {
var elementRegistry = renderer.get('elementRegistry');
var expandedShape = elementRegistry.getShapeById('SubProcess_3');
var childShape = elementRegistry.getShapeById('StartEvent_2');
expect(expandedShape.collapsed).toBe(false);
expect(childShape.hidden).toBe(false);
});
});
});