diff --git a/test/fixtures/bpmn/draw/gateway-type-default.bpmn b/test/fixtures/bpmn/draw/gateway-type-default.bpmn new file mode 100644 index 00000000..1dbfe20f --- /dev/null +++ b/test/fixtures/bpmn/draw/gateway-type-default.bpmn @@ -0,0 +1,45 @@ + + + + + + + + Should rendered as event based Gateway + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/spec/draw/BpmnRendererSpec.js b/test/spec/draw/BpmnRendererSpec.js index 9233159a..61e1a105 100644 --- a/test/spec/draw/BpmnRendererSpec.js +++ b/test/spec/draw/BpmnRendererSpec.js @@ -147,4 +147,9 @@ describe('draw - bpmn renderer', function() { bootstrapViewer(xml)(done); }); + it('should render gateway event if attribute is missing in XML', function(done) { + var xml = fs.readFileSync(__dirname + '/../../fixtures/bpmn/draw/gateway-type-default.bpmn', 'utf8'); + bootstrapViewer(xml)(done); + }); + }); \ No newline at end of file diff --git a/test/spec/import/ImporterSpec.js b/test/spec/import/ImporterSpec.js index 871654cc..dd12ef9f 100644 --- a/test/spec/import/ImporterSpec.js +++ b/test/spec/import/ImporterSpec.js @@ -260,6 +260,24 @@ describe('import - importer', function() { }); }); + it('should extend missing attribute with default value', function(done) { + + // given + var xml = fs.readFileSync('test/fixtures//bpmn/draw/gateway-type-default.bpmn', 'utf8'); + + // when + runImport(diagram, xml, function(err, warnings) { + + var elementRegistry = diagram.get('elementRegistry'); + + var element = elementRegistry.getById('GATEWAY_1'); + + expect(element.businessObject.eventGatewayType).toEqual('Exclusive'); + + done(); + }); + }) + }); }); \ No newline at end of file