morning-builds-core
Version:
Core functionality for Morning Builds
51 lines • 2.33 kB
JavaScript
;
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