UNPKG

singularci

Version:

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

77 lines 3.75 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const Pipeline_1 = __importDefault(require("../../src/SemanticModel/Pipeline")); const Stage_1 = __importDefault(require("../../src/SemanticModel/Stage")); const Targets_1 = require("../../src/SemanticModel/Targets"); const Trigger_1 = require("../../src/SemanticModel/Trigger"); const Variables_1 = __importDefault(require("../../src/SemanticModel/Variables")); let pipeline; let trigger; let variables; let platformTargets; const triggerFactory = new Trigger_1.TriggerFactory(); const variablesFactory = new Variables_1.default(); const targetsFactory = new Targets_1.TargetsFactory(); const stageFactory = new Stage_1.default(); beforeEach(() => { trigger = triggerFactory.createTrigger(); variables = variablesFactory.createVariables(); platformTargets = targetsFactory.createTargets(); pipeline = new Pipeline_1.default(trigger, platformTargets, variables); }); it('should be possible to change the trigger object on a pipeline', () => { const oldTrigger = trigger; const newTrigger = triggerFactory.createTrigger(); oldTrigger.addBranch('old-trigger-branch'); oldTrigger.addType('push'); newTrigger.addBranch('new-trigger-branch'); newTrigger.addType('push'); pipeline.setTrigger(newTrigger); expect(pipeline.getTrigger()).not.toBe(oldTrigger); }); it('should be possible to change the variables object on a pipeline', () => { const oldVariables = variables; const newVariables = variablesFactory.createVariables(); oldVariables.addVariable('old-variable-key', 'old-variable-value'); newVariables.addVariable('new-variable-key', 'new-variable-value'); pipeline.setVariables(newVariables); expect(pipeline.getVariables()).not.toBe(oldVariables); }); it('should be possible to change the targets object on a pipeline', () => { const oldTargets = platformTargets; const newTargets = targetsFactory.createTargets(); oldTargets.addTarget('GitHub'); newTargets.addTarget('GitLab'); pipeline.setPlatformTargets(newTargets); expect(pipeline.getPlatformTargets()).not.toBe(oldTargets); }); it('should be possible to add stages to a pipeline', () => { const stage1 = stageFactory.createStage("stage1", [], [], "ubuntu-latest"); const stage2 = stageFactory.createStage("stage2", [], [], "ubuntu-latest"); pipeline.addStage(stage1); pipeline.addStage(stage2); expect(pipeline.getStages().length).toBe(2); }); test('when the reset method is called, all fields should be reset', () => { const stage = stageFactory.createStage("stage1", [], [], "ubuntu-latest"); pipeline.addStage(stage); trigger.addBranch('master'); trigger.addType('push'); variables.addVariable('key', 'value'); platformTargets.addTarget('GitHub'); expect(pipeline.getTrigger().getBranches()).toHaveLength(1); expect(pipeline.getTrigger().getTypes()).toHaveLength(1); expect(pipeline.getVariables().getVariables()).toEqual({ key: 'value' }); expect(pipeline.getPlatformTargets().getTargets()).toHaveLength(1); expect(pipeline.getStages().length).toBe(1); pipeline.reset(); expect(pipeline.getTrigger().getBranches()).toHaveLength(0); expect(pipeline.getTrigger().getTypes()).toHaveLength(0); expect(pipeline.getVariables().getVariables()).toEqual({}); expect(pipeline.getPlatformTargets().getTargets()).toHaveLength(0); expect(pipeline.getStages().length).toBe(0); }); //# sourceMappingURL=Pipeline.test.js.map