67 lines
1.1 KiB
JavaScript
67 lines
1.1 KiB
JavaScript
|
import {
|
||
|
bootstrapModeler,
|
||
|
inject
|
||
|
} from 'test/TestHelper';
|
||
|
|
||
|
import coreModule from 'lib/core';
|
||
|
import { expect } from 'chai';
|
||
|
|
||
|
|
||
|
describe('helper - inject', function() {
|
||
|
|
||
|
var diagramXML = require('../../fixtures/bpmn/simple.bpmn');
|
||
|
|
||
|
beforeEach(bootstrapModeler(diagramXML, {
|
||
|
modules: [
|
||
|
coreModule
|
||
|
]
|
||
|
}));
|
||
|
|
||
|
|
||
|
it('should work with Promise as return value', function() {
|
||
|
|
||
|
// given
|
||
|
var expected = 'resolved';
|
||
|
|
||
|
// when
|
||
|
var test = inject(function(eventBus) {
|
||
|
|
||
|
expect(eventBus).to.exist;
|
||
|
|
||
|
return Promise.resolve(expected);
|
||
|
});
|
||
|
|
||
|
// then
|
||
|
return test().then(function(result) {
|
||
|
|
||
|
expect(result).to.eql(expected);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
|
||
|
it('should handle Promise rejection', function() {
|
||
|
|
||
|
// given
|
||
|
var expected = new Error('rejected');
|
||
|
|
||
|
function onResolved() {
|
||
|
throw new Error('should not resolve');
|
||
|
}
|
||
|
|
||
|
function onRejected(error) {
|
||
|
expect(error).to.eql(expected);
|
||
|
}
|
||
|
|
||
|
// when
|
||
|
var test = inject(function(eventBus) {
|
||
|
expect(eventBus).to.exist;
|
||
|
|
||
|
return Promise.reject(expected);
|
||
|
});
|
||
|
|
||
|
// then
|
||
|
return test().then(onResolved, onRejected);
|
||
|
});
|
||
|
|
||
|
});
|