jest-qase-reporter 1.2.1 → 1.3.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +7 -1
- package/dist/index.js +150 -74
- package/dist/index.js.map +1 -1
- package/examples/package-lock.json +771 -7721
- package/examples/test/arith.test.js +57 -12
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Reporter, Test, TestResult } from '@jest/reporters';
|
|
2
2
|
interface QaseOptions {
|
|
3
3
|
apiToken: string;
|
|
4
|
+
basePath?: string;
|
|
5
|
+
rootSuiteTitle?: string;
|
|
4
6
|
projectCode: string;
|
|
5
7
|
runId?: string;
|
|
6
8
|
runPrefix?: string;
|
|
@@ -14,6 +16,7 @@ declare class QaseReporter implements Reporter {
|
|
|
14
16
|
private runId?;
|
|
15
17
|
private isDisabled;
|
|
16
18
|
private publishedResultsCount;
|
|
19
|
+
private preparedTestCases;
|
|
17
20
|
constructor(_: Record<string, unknown>, _options: QaseOptions);
|
|
18
21
|
onRunStart(): Promise<void>;
|
|
19
22
|
onTestResult(_test: Test, testResult: TestResult): Promise<void>;
|
|
@@ -23,9 +26,12 @@ declare class QaseReporter implements Reporter {
|
|
|
23
26
|
private getEnv;
|
|
24
27
|
private getCaseIds;
|
|
25
28
|
private logTestItem;
|
|
29
|
+
private createPreparedForPublishTestsArray;
|
|
30
|
+
private publishBulkTestResult;
|
|
26
31
|
private checkProject;
|
|
32
|
+
private createRunObject;
|
|
27
33
|
private createRun;
|
|
28
34
|
private checkRun;
|
|
29
|
-
private
|
|
35
|
+
private createResultCasesArray;
|
|
30
36
|
}
|
|
31
37
|
export = QaseReporter;
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,17 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
|
3
3
|
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
4
|
return cooked;
|
|
5
5
|
};
|
|
6
|
+
var __assign = (this && this.__assign) || function () {
|
|
7
|
+
__assign = Object.assign || function(t) {
|
|
8
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
+
s = arguments[i];
|
|
10
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
+
t[p] = s[p];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
15
|
+
return __assign.apply(this, arguments);
|
|
16
|
+
};
|
|
6
17
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
7
18
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
8
19
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -49,25 +60,28 @@ var __spreadArrays = (this && this.__spreadArrays) || function () {
|
|
|
49
60
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
61
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
62
|
};
|
|
52
|
-
var
|
|
63
|
+
var src_1 = require("qaseio/dist/src");
|
|
53
64
|
var qaseio_1 = require("qaseio");
|
|
54
65
|
var chalk_1 = __importDefault(require("chalk"));
|
|
55
66
|
var Envs;
|
|
56
67
|
(function (Envs) {
|
|
57
68
|
Envs["report"] = "QASE_REPORT";
|
|
58
69
|
Envs["apiToken"] = "QASE_API_TOKEN";
|
|
70
|
+
Envs["basePath"] = "QASE_API_BASE_URL";
|
|
71
|
+
Envs["projectCode"] = "QASE_PROJECT_CODE";
|
|
59
72
|
Envs["runId"] = "QASE_RUN_ID";
|
|
60
73
|
Envs["runName"] = "QASE_RUN_NAME";
|
|
61
74
|
Envs["runDescription"] = "QASE_RUN_DESCRIPTION";
|
|
62
75
|
Envs["runComplete"] = "QASE_RUN_COMPLETE";
|
|
63
76
|
Envs["environmentId"] = "QASE_ENVIRONMENT_ID";
|
|
77
|
+
Envs["rootSuiteTitle"] = "QASE_ROOT_SUITE_TITLE";
|
|
64
78
|
})(Envs || (Envs = {}));
|
|
65
79
|
var Statuses = {
|
|
66
|
-
passed:
|
|
67
|
-
failed:
|
|
68
|
-
skipped:
|
|
69
|
-
pending:
|
|
70
|
-
disabled:
|
|
80
|
+
passed: src_1.ResultCreateStatusEnum.PASSED,
|
|
81
|
+
failed: src_1.ResultCreateStatusEnum.FAILED,
|
|
82
|
+
skipped: src_1.ResultCreateStatusEnum.SKIPPED,
|
|
83
|
+
pending: src_1.ResultCreateStatusEnum.SKIPPED,
|
|
84
|
+
disabled: src_1.ResultCreateStatusEnum.BLOCKED,
|
|
71
85
|
};
|
|
72
86
|
var alwaysUndefined = function () { return undefined; };
|
|
73
87
|
var QaseReporter = /** @class */ (function () {
|
|
@@ -75,9 +89,12 @@ var QaseReporter = /** @class */ (function () {
|
|
|
75
89
|
this.isDisabled = false;
|
|
76
90
|
this.publishedResultsCount = 0;
|
|
77
91
|
this.options = _options;
|
|
92
|
+
this.options.projectCode = _options.projectCode || this.getEnv(Envs.projectCode) || '';
|
|
93
|
+
this.options.rootSuiteTitle = _options.rootSuiteTitle || this.getEnv(Envs.rootSuiteTitle);
|
|
78
94
|
this.options.runComplete = !!this.getEnv(Envs.runComplete) || this.options.runComplete;
|
|
79
|
-
this.api = new qaseio_1.QaseApi(this.getEnv(Envs.apiToken) || this.options.apiToken || '');
|
|
95
|
+
this.api = new qaseio_1.QaseApi(this.getEnv(Envs.apiToken) || this.options.apiToken || '', this.getEnv(Envs.basePath) || this.options.basePath);
|
|
80
96
|
this.log(chalk_1.default(templateObject_1 || (templateObject_1 = __makeTemplateObject(["{yellow Current PID: ", "}"], ["{yellow Current PID: ", "}"])), process.pid));
|
|
97
|
+
this.preparedTestCases = [];
|
|
81
98
|
if (!this.getEnv(Envs.report)) {
|
|
82
99
|
this.log(chalk_1.default(templateObject_2 || (templateObject_2 = __makeTemplateObject(["{yellow QASE_REPORT env variable is not set. Reporting to qase.io is disabled.}"], ["{yellow QASE_REPORT env variable is not set. Reporting to qase.io is disabled.}"]))));
|
|
83
100
|
this.isDisabled = true;
|
|
@@ -116,8 +133,9 @@ var QaseReporter = /** @class */ (function () {
|
|
|
116
133
|
}
|
|
117
134
|
else {
|
|
118
135
|
return [2 /*return*/, this.createRun(this.getEnv(Envs.runName), this.getEnv(Envs.runDescription), function (created) {
|
|
136
|
+
var _a;
|
|
119
137
|
if (created) {
|
|
120
|
-
_this.runId = created.id;
|
|
138
|
+
_this.runId = (_a = created.result) === null || _a === void 0 ? void 0 : _a.id;
|
|
121
139
|
process.env.QASE_RUN_ID = _this.runId.toString();
|
|
122
140
|
_this.log(chalk_1.default(templateObject_7 || (templateObject_7 = __makeTemplateObject(["{green Using run ", " to publish test results}"], ["{green Using run ", " to publish test results}"])), _this.runId));
|
|
123
141
|
}
|
|
@@ -135,12 +153,18 @@ var QaseReporter = /** @class */ (function () {
|
|
|
135
153
|
};
|
|
136
154
|
QaseReporter.prototype.onTestResult = function (_test, testResult) {
|
|
137
155
|
return __awaiter(this, void 0, void 0, function () {
|
|
138
|
-
var _this = this;
|
|
139
156
|
return __generator(this, function (_a) {
|
|
140
|
-
|
|
141
|
-
|
|
157
|
+
switch (_a.label) {
|
|
158
|
+
case 0:
|
|
159
|
+
if (this.isDisabled) {
|
|
160
|
+
return [2 /*return*/];
|
|
161
|
+
}
|
|
162
|
+
this.preparedTestCases = this.createPreparedForPublishTestsArray(testResult.testResults);
|
|
163
|
+
return [4 /*yield*/, this.publishBulkTestResult().then(alwaysUndefined)];
|
|
164
|
+
case 1:
|
|
165
|
+
_a.sent();
|
|
166
|
+
return [2 /*return*/];
|
|
142
167
|
}
|
|
143
|
-
return [2 /*return*/, Promise.all(testResult.testResults.map(function (value) { return _this.publishCaseResult(value); })).then(alwaysUndefined)];
|
|
144
168
|
});
|
|
145
169
|
});
|
|
146
170
|
};
|
|
@@ -163,10 +187,8 @@ var QaseReporter = /** @class */ (function () {
|
|
|
163
187
|
_a.label = 1;
|
|
164
188
|
case 1:
|
|
165
189
|
_a.trys.push([1, 3, , 4]);
|
|
166
|
-
|
|
167
|
-
return [4 /*yield*/, this.api.runs.complete(this.options.projectCode, this.runId)];
|
|
190
|
+
return [4 /*yield*/, this.api.runs.completeRun(this.options.projectCode, Number(this.runId))];
|
|
168
191
|
case 2:
|
|
169
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
170
192
|
_a.sent();
|
|
171
193
|
this.log(chalk_1.default(templateObject_9 || (templateObject_9 = __makeTemplateObject(["{green Run ", " completed}"], ["{green Run ", " completed}"])), this.runId));
|
|
172
194
|
return [3 /*break*/, 4];
|
|
@@ -214,35 +236,104 @@ var QaseReporter = /** @class */ (function () {
|
|
|
214
236
|
this.log(map[test.status]);
|
|
215
237
|
}
|
|
216
238
|
};
|
|
217
|
-
QaseReporter.prototype.
|
|
239
|
+
QaseReporter.prototype.createPreparedForPublishTestsArray = function (testResults) {
|
|
218
240
|
var _this = this;
|
|
219
|
-
|
|
220
|
-
.
|
|
221
|
-
.
|
|
222
|
-
|
|
223
|
-
|
|
241
|
+
var transformedMap = testResults.map(function (result) {
|
|
242
|
+
_this.logTestItem(result);
|
|
243
|
+
var fullPathToCase = result.ancestorTitles.join('\t');
|
|
244
|
+
var item = {
|
|
245
|
+
path: _this.options.rootSuiteTitle
|
|
246
|
+
? _this.options.rootSuiteTitle + "\t" + fullPathToCase
|
|
247
|
+
: fullPathToCase,
|
|
248
|
+
result: result.status,
|
|
249
|
+
duration: result.duration,
|
|
250
|
+
status: result.status,
|
|
251
|
+
title: result.title,
|
|
252
|
+
failureMessages: result.failureMessages,
|
|
253
|
+
};
|
|
254
|
+
var caseIds = _this.getCaseIds(result);
|
|
255
|
+
if (caseIds) {
|
|
256
|
+
item.caseIds = caseIds;
|
|
257
|
+
}
|
|
258
|
+
return item;
|
|
224
259
|
});
|
|
260
|
+
return transformedMap;
|
|
261
|
+
};
|
|
262
|
+
QaseReporter.prototype.publishBulkTestResult = function () {
|
|
263
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
264
|
+
var body, res, error_1;
|
|
265
|
+
return __generator(this, function (_a) {
|
|
266
|
+
switch (_a.label) {
|
|
267
|
+
case 0:
|
|
268
|
+
_a.trys.push([0, 2, , 3]);
|
|
269
|
+
body = {
|
|
270
|
+
results: this.createResultCasesArray(),
|
|
271
|
+
};
|
|
272
|
+
return [4 /*yield*/, this.api.results.createResultBulk(this.options.projectCode, Number(this.runId), body)];
|
|
273
|
+
case 1:
|
|
274
|
+
res = _a.sent();
|
|
275
|
+
if (res.status === 200) {
|
|
276
|
+
this.publishedResultsCount++;
|
|
277
|
+
}
|
|
278
|
+
return [3 /*break*/, 3];
|
|
279
|
+
case 2:
|
|
280
|
+
error_1 = _a.sent();
|
|
281
|
+
this.log(JSON.stringify(error_1));
|
|
282
|
+
return [3 /*break*/, 3];
|
|
283
|
+
case 3: return [2 /*return*/];
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
});
|
|
287
|
+
};
|
|
288
|
+
QaseReporter.prototype.checkProject = function (projectCode, cb) {
|
|
289
|
+
var _a;
|
|
290
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
291
|
+
var resp, err_2;
|
|
292
|
+
return __generator(this, function (_b) {
|
|
293
|
+
switch (_b.label) {
|
|
294
|
+
case 0:
|
|
295
|
+
_b.trys.push([0, 3, , 4]);
|
|
296
|
+
return [4 /*yield*/, this.api.projects.getProject(projectCode)];
|
|
297
|
+
case 1:
|
|
298
|
+
resp = _b.sent();
|
|
299
|
+
return [4 /*yield*/, cb(Boolean((_a = resp.data.result) === null || _a === void 0 ? void 0 : _a.code))];
|
|
300
|
+
case 2:
|
|
301
|
+
_b.sent();
|
|
302
|
+
return [3 /*break*/, 4];
|
|
303
|
+
case 3:
|
|
304
|
+
err_2 = _b.sent();
|
|
305
|
+
this.log(err_2);
|
|
306
|
+
this.isDisabled = true;
|
|
307
|
+
return [3 /*break*/, 4];
|
|
308
|
+
case 4: return [2 /*return*/];
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
});
|
|
312
|
+
};
|
|
313
|
+
QaseReporter.prototype.createRunObject = function (name, cases, args) {
|
|
314
|
+
return __assign({ title: name, cases: cases }, args);
|
|
225
315
|
};
|
|
226
316
|
QaseReporter.prototype.createRun = function (name, description, cb) {
|
|
227
317
|
return __awaiter(this, void 0, void 0, function () {
|
|
228
|
-
var environmentId, res,
|
|
318
|
+
var environmentId, runObject, res, err_3;
|
|
229
319
|
return __generator(this, function (_a) {
|
|
230
320
|
switch (_a.label) {
|
|
231
321
|
case 0:
|
|
232
322
|
_a.trys.push([0, 2, , 3]);
|
|
233
323
|
environmentId = Number.parseInt(this.getEnv(Envs.environmentId), 10) || this.options.environmentId;
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
324
|
+
runObject = this.createRunObject(name || "Automated run " + new Date().toISOString(), [], {
|
|
325
|
+
description: description || 'Jest automated run',
|
|
326
|
+
environment_id: environmentId,
|
|
327
|
+
is_autotest: true,
|
|
328
|
+
});
|
|
329
|
+
return [4 /*yield*/, this.api.runs.createRun(this.options.projectCode, runObject)];
|
|
239
330
|
case 1:
|
|
240
331
|
res = _a.sent();
|
|
241
332
|
cb(res.data);
|
|
242
333
|
return [3 /*break*/, 3];
|
|
243
334
|
case 2:
|
|
244
|
-
|
|
245
|
-
this.log("Error on creating run " +
|
|
335
|
+
err_3 = _a.sent();
|
|
336
|
+
this.log("Error on creating run " + err_3);
|
|
246
337
|
this.isDisabled = true;
|
|
247
338
|
return [3 /*break*/, 3];
|
|
248
339
|
case 3: return [2 /*return*/];
|
|
@@ -258,8 +349,12 @@ var QaseReporter = /** @class */ (function () {
|
|
|
258
349
|
cb(false);
|
|
259
350
|
return [2 /*return*/];
|
|
260
351
|
}
|
|
261
|
-
return [2 /*return*/, this.api.runs.
|
|
262
|
-
.then(
|
|
352
|
+
return [2 /*return*/, this.api.runs.getRun(this.options.projectCode, Number(runId))
|
|
353
|
+
.then(function (resp) {
|
|
354
|
+
var _a, _b;
|
|
355
|
+
_this.log("Get run result on checking run " + ((_a = resp.data.result) === null || _a === void 0 ? void 0 : _a.id));
|
|
356
|
+
cb(Boolean((_b = resp.data.result) === null || _b === void 0 ? void 0 : _b.id));
|
|
357
|
+
})
|
|
263
358
|
.catch(function (err) {
|
|
264
359
|
_this.log("Error on checking run " + err);
|
|
265
360
|
_this.isDisabled = true;
|
|
@@ -267,53 +362,34 @@ var QaseReporter = /** @class */ (function () {
|
|
|
267
362
|
});
|
|
268
363
|
});
|
|
269
364
|
};
|
|
270
|
-
QaseReporter.prototype.
|
|
271
|
-
return
|
|
272
|
-
var
|
|
273
|
-
var
|
|
274
|
-
|
|
275
|
-
this.logTestItem(test);
|
|
276
|
-
caseIds = this.getCaseIds(test);
|
|
277
|
-
if (caseIds.length === 0) {
|
|
278
|
-
// TODO: autocreate case for result
|
|
279
|
-
return [2 /*return*/];
|
|
280
|
-
}
|
|
281
|
-
return [2 /*return*/, Promise.all(caseIds.map(function (caseId) { return __awaiter(_this, void 0, void 0, function () {
|
|
282
|
-
var add, res, err_3;
|
|
283
|
-
return __generator(this, function (_a) {
|
|
284
|
-
switch (_a.label) {
|
|
285
|
-
case 0:
|
|
286
|
-
add = caseIds.length > 1 ? chalk_1.default(templateObject_16 || (templateObject_16 = __makeTemplateObject([" {white For case ", "}"], [" {white For case ", "}"])), caseId) : '';
|
|
287
|
-
this.log(chalk_1.default(templateObject_17 || (templateObject_17 = __makeTemplateObject(["{gray Start publishing: ", "}", ""], ["{gray Start publishing: ", "}", ""])), test.title, add));
|
|
288
|
-
test.failureMessages = test.failureMessages.map(function (value) { return value.replace(/\u001b\[.*?m/g, ''); });
|
|
289
|
-
_a.label = 1;
|
|
290
|
-
case 1:
|
|
291
|
-
_a.trys.push([1, 3, , 4]);
|
|
292
|
-
return [4 /*yield*/, this.api.results.create(this.options.projectCode,
|
|
293
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
294
|
-
this.runId, new models_1.ResultCreate(caseId, Statuses[test.status], {
|
|
295
|
-
time: test.duration ? Math.ceil(test.duration / 1000) : undefined,
|
|
296
|
-
stacktrace: test.failureMessages.join('\n'),
|
|
297
|
-
comment: test.failureMessages.length > 0 ? test.failureMessages.map(function (value) { return value.split('\n')[0]; }).join('\n') : undefined,
|
|
298
|
-
}))];
|
|
299
|
-
case 2:
|
|
300
|
-
res = _a.sent();
|
|
301
|
-
this.publishedResultsCount++;
|
|
302
|
-
this.log(chalk_1.default(templateObject_18 || (templateObject_18 = __makeTemplateObject(["{gray Result published: ", " ", "}", ""], ["{gray Result published: ", " ", "}", ""])), test.title, res.data.hash, add));
|
|
303
|
-
return [3 /*break*/, 4];
|
|
304
|
-
case 3:
|
|
305
|
-
err_3 = _a.sent();
|
|
306
|
-
this.log(err_3);
|
|
307
|
-
return [3 /*break*/, 4];
|
|
308
|
-
case 4: return [2 /*return*/];
|
|
309
|
-
}
|
|
310
|
-
});
|
|
311
|
-
}); })).then(alwaysUndefined)];
|
|
365
|
+
QaseReporter.prototype.createResultCasesArray = function () {
|
|
366
|
+
return this.preparedTestCases.map(function (elem) {
|
|
367
|
+
var _a;
|
|
368
|
+
var failureMessages = elem.failureMessages.map(function (value) {
|
|
369
|
+
return value.replace(/\u001b\[.*?m/g, '');
|
|
312
370
|
});
|
|
371
|
+
var caseObject = {
|
|
372
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
373
|
+
status: Statuses[elem.status] || Statuses.failed,
|
|
374
|
+
time_ms: Number(elem.duration),
|
|
375
|
+
stacktrace: failureMessages.join('\n'),
|
|
376
|
+
comment: failureMessages.length > 0 ? failureMessages.map(function (value) { return value.split('\n')[0]; }).join('\n') : undefined,
|
|
377
|
+
};
|
|
378
|
+
// Verifies that the user defined the ID through the use of the 'qase' wrapper;
|
|
379
|
+
if (elem.caseIds && ((_a = elem.caseIds) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
380
|
+
caseObject.case_id = elem.caseIds[0];
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
caseObject.case = {
|
|
384
|
+
title: elem.title,
|
|
385
|
+
suite_title: elem.path,
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
return caseObject;
|
|
313
389
|
});
|
|
314
390
|
};
|
|
315
391
|
return QaseReporter;
|
|
316
392
|
}());
|
|
317
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15
|
|
393
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15;
|
|
318
394
|
module.exports = QaseReporter;
|
|
319
395
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|