UNPKG

morning-builds-core

Version:

Core functionality for Morning Builds

49 lines 2.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var object_helper_1 = require("./object-helper"); var flaky_issues_1 = require("../src/managers/flaky-issues"); var clients_1 = require("../src/clients"); describe('manager/flaky-issues', function () { var clients = new clients_1.Clients(object_helper_1.config); var flakyIssuesManager = new flaky_issues_1.FlakyIssues(clients); var jiraClient = clients.jira; describe('#updateFlakyIssue()', function () { it('will call jiraClient#addComment() with the expected arguments', function (done) { var build = object_helper_1.createBuild({ planName: 'PLAN01', link: 'http://company.com/bamboo/browse/PLAN01' }); var test = object_helper_1.createTest({ errors: ['error-1001', 'error-1002', 'error-1003'] }); var issue = object_helper_1.createIssue({ key: 'P-101' }); flakyIssuesManager .updateFlakyIssue({ failingBuild: build, failingTest: test, issue: issue }) .then(function () { expect(jiraClient.addComment).toBeCalledWith({ issueKey: 'P-101', comment: "[PLAN01|http://company.com/bamboo/browse/PLAN01]\n{noformat}\nerror-1001\nerror-1002\nerror-1003\n{noformat}" }); done(); }); }); }); describe('#fetchFlakyIssue()', function () { it('returns the issue, when the search in Jira returns 1 result', function () { var test = { className: 'com.company.data', methodName: 'dataTest#01', errors: [] }; expect(flakyIssuesManager.fetchFlakyIssue(test)) .resolves.toMatchObject({ key: 'P-101', summary: 'com.company.data#dataTest#01', }); }); it('returns the first issue, when the search in Jira returns more than 1 result', function () { var test = { className: 'com.company.business', methodName: 'businessTest#01', errors: [] }; expect(flakyIssuesManager.fetchFlakyIssue(test)) .resolves.toMatchObject({ key: 'P-201', summary: 'com.company.business#businessTest#01', }); }); it('returns null, when the search in Jira returns 0 results', function () { var test = { className: 'com.company.business', methodName: 'businessTest#99', errors: [] }; expect(flakyIssuesManager.fetchFlakyIssue(test)).resolves.toEqual(null); }); }); }); //# sourceMappingURL=flaky-issues-manager-test.js.map