@sasjs/cli
Version:
Command line interface for SASjs
71 lines (70 loc) • 2.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var __1 = require("..");
describe('checkPredecessorDeadlock', function () {
it('should return true, if predecessorDeadlock is present and it is pointing to itself', function () {
var flows = {
flow1: {
jobs: [{ location: 'job' }],
predecessors: ['flow1']
}
};
expect((0, __1.checkPredecessorDeadlock)(flows)).toEqual({
present: true,
chain: ['flow1', 'flow1']
});
});
it('should return true, if predecessorDeadlock is present and pointing to each other', function () {
var flows = {
flow1: {
jobs: [{ location: 'job' }],
predecessors: ['flow2']
},
flow2: {
jobs: [{ location: 'job' }],
predecessors: ['flow1']
}
};
expect((0, __1.checkPredecessorDeadlock)(flows)).toEqual({
present: true,
chain: ['flow1', 'flow2', 'flow1']
});
});
it('should return true, if predecessorDeadlock is present and pointing to each other indirectly', function () {
var flows = {
flow1: {
jobs: [{ location: 'job' }],
predecessors: ['flow2']
},
flow2: {
jobs: [{ location: 'job' }],
predecessors: ['flow3']
},
flow3: {
jobs: [{ location: 'job' }],
predecessors: ['flow1']
}
};
expect((0, __1.checkPredecessorDeadlock)(flows)).toEqual({
present: true,
chain: ['flow1', 'flow2', 'flow3', 'flow1']
});
});
it('should return false, if predecessorDeadlock is not present', function () {
var flows = {
flow1: {
jobs: [{ location: 'job' }],
predecessors: ['flow2']
},
flow2: {
jobs: [{ location: 'job' }],
predecessors: []
},
flow3: {
jobs: [{ location: 'job' }],
predecessors: ['flow1']
}
};
expect((0, __1.checkPredecessorDeadlock)(flows)).toEqual({ present: false });
});
});