singularci
Version:
SingularCI is a DSL transpiler used to generate CI/CD configuration files for existing CI platforms
36 lines • 1.61 kB
JavaScript
;
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