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