UNPKG

singularci

Version:

SingularCI is a DSL transpiler used to generate CI/CD configuration files for existing CI platforms

36 lines 1.61 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const StageSymbolTable_1 = __importDefault(require("../../src/Parser/StageSymbolTable")); const Stage_1 = __importDefault(require("../../src/SemanticModel/Stage")); let stageSymbolTable; let stageFactory; beforeAll(() => { stageFactory = new Stage_1.default(); }); beforeEach(() => { stageSymbolTable = StageSymbolTable_1.default.getInstance(); }); test('calling getInstance should return a singleton instance', () => { expect(stageSymbolTable).toBeInstanceOf(StageSymbolTable_1.default); }); test('calling addStage should add a stage to the table', () => { const stage = stageFactory.createStage('stage', [], [], 'ubuntu-latest'); stageSymbolTable.addStage(stage); expect(stageSymbolTable.getStage(stage.getName())).toBe(stage); }); test('calling getStages should return all stages', () => { const stage1 = stageFactory.createStage('stage1', [], [], 'ubuntu-latest'); stageSymbolTable.addStage(stage1); const stage2 = stageFactory.createStage('stage2', [], [], 'ubuntu-latest'); stageSymbolTable.addStage(stage2); expect(stageSymbolTable.getStages()['stage1']).toBe(stage1); expect(stageSymbolTable.getStages()['stage2']).toBe(stage2); expect(Object.keys(stageSymbolTable.getStages()).length).toBe(2); }); afterEach(() => { stageSymbolTable.reset(); }); //# sourceMappingURL=StageSymbolTable.test.js.map