UNPKG

@sasjs/cli

Version:

Command line interface for SASjs

71 lines (70 loc) 2.35 kB
"use strict"; 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 }); }); });