UNPKG

morning-builds-core

Version:

Core functionality for Morning Builds

51 lines 2.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); jest.mock('../src/clients/'); var object_helper_1 = require("./object-helper"); var clients_1 = require("../src/clients"); var labels_1 = require("../src/managers/labels"); var fail_categories_1 = require("../src/fail-categories"); describe('manager/labels', function () { var labelsManager = new labels_1.Labels(new clients_1.Clients(object_helper_1.config)); describe('#assembleBuildsWithInfrastructureErrorInLabels()', function () { it('returns build with list a label related to infrastructure errors', function (done) { // Mocked client will return a list with one valid infrastructure error label for PLAN01 labelsManager .assembleBuildsWithErrorInLabels([ object_helper_1.createBuild({ planKey: 'PLAN01' }) ]) .then(function (buildResults) { expect(buildResults).toHaveLength(1); expect(buildResults[0]).toMatchObject({ build: { planKey: 'PLAN01' }, failDetails: ['vm-crash'], failReason: fail_categories_1.categories.infrastructureError, }); done(); }); }); it('won\'t return a build that has a non-infrastructure-error label', function (done) { // Mock will return a label that does not indicate an infrastructure error for PLAN02 labelsManager .assembleBuildsWithErrorInLabels([ object_helper_1.createBuild({ planKey: 'PLAN02' }) ]) .then(function (buildResults) { expect(buildResults).toHaveLength(0); done(); }); }); it('won\'t return a build that has no labels associated with it', function (done) { // Mock client will return an empty array of labels for PLAN03 labelsManager .assembleBuildsWithErrorInLabels([ object_helper_1.createBuild({ planKey: 'PLAN03' }) ]) .then(function (buildResults) { expect(buildResults).toHaveLength(0); done(); }); }); }); }); //# sourceMappingURL=labels-manager-test.js.map