jest-qase-reporter 1.2.3 → 1.3.0-alpha.3
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/README.md +68 -40
- package/dist/index.d.ts +9 -1
- package/dist/index.js +189 -76
- package/dist/index.js.map +1 -1
- package/examples/package-lock.json +776 -7599
- package/examples/package.json +3 -1
- package/examples/screenshots/screenshot.png +0 -0
- package/examples/test/arith.test.js +58 -13
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,13 +1,69 @@
|
|
|
1
|
-
#
|
|
1
|
+
> # Qase TMS Jest reporter
|
|
2
|
+
>
|
|
3
|
+
> Publish results simple and easy.
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
5
|
+
## How to integrate
|
|
6
6
|
|
|
7
7
|
```
|
|
8
8
|
npm install jest-qase-reporter
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
## Using Reporter
|
|
12
|
+
|
|
13
|
+
The Jest reporter has the ability to auto-generate test cases
|
|
14
|
+
and suites from your test data.
|
|
15
|
+
|
|
16
|
+
But if necessary, you can independently register the ID of already
|
|
17
|
+
existing test cases from TMS before the executing tests. For example:
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { qase } from 'jest-qase-reporter/dist/jest';
|
|
21
|
+
|
|
22
|
+
describe('My First Test', () => {
|
|
23
|
+
test(qase([1,2], 'Several ids'), () => {
|
|
24
|
+
expect(true).toBe(true);
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
test(qase(3, 'Correct test'), () => {
|
|
28
|
+
expect(true).toBe(true);
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
test.skip(qase("4", 'Skipped test'), () => {
|
|
32
|
+
expect(true).toBe(true);
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
test(qase(["5", "6"], 'Failed test'), () => {
|
|
36
|
+
expect(true).toBe(false);
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
You should also have an active item in the project settings at
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
https://app.qase.io/project/QASE_PROJECT_CODE/settings/options
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
options in the `Test Runs` block:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
Auto create test cases
|
|
51
|
+
```
|
|
52
|
+
and
|
|
53
|
+
```
|
|
54
|
+
Allow submitting results in bulk
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
To run tests and create a test run, execute the command:
|
|
58
|
+
```bash
|
|
59
|
+
QASE_REPORT=1 npx jest
|
|
60
|
+
```
|
|
61
|
+

|
|
62
|
+
A test run will be performed and available at:
|
|
63
|
+
```
|
|
64
|
+
https://app.qase.io/run/QASE_PROJECT_CODE
|
|
65
|
+
```
|
|
66
|
+
|
|
11
67
|
## Configuration
|
|
12
68
|
|
|
13
69
|
Reporter options (* - required):
|
|
@@ -22,7 +78,7 @@ Reporter options (* - required):
|
|
|
22
78
|
- `logging` [true/false] - Enabled debug logging from reporter or not
|
|
23
79
|
- `runComplete` [true/false] - Complete run after all tests are finished
|
|
24
80
|
|
|
25
|
-
Example jest.config.js config:
|
|
81
|
+
Example `jest.config.js` config:
|
|
26
82
|
|
|
27
83
|
```js
|
|
28
84
|
module.exports = {
|
|
@@ -31,8 +87,8 @@ module.exports = {
|
|
|
31
87
|
[
|
|
32
88
|
'jest-qase-reporter',
|
|
33
89
|
{
|
|
34
|
-
apiToken: '
|
|
35
|
-
projectCode: '
|
|
90
|
+
apiToken: 'api_key',
|
|
91
|
+
projectCode: 'project_code',
|
|
36
92
|
runId: 45,
|
|
37
93
|
environmentId: 1,
|
|
38
94
|
logging: true,
|
|
@@ -44,49 +100,21 @@ module.exports = {
|
|
|
44
100
|
};
|
|
45
101
|
```
|
|
46
102
|
|
|
47
|
-
You can check example configuration with multiple reporters in [example project](./examples/jest.config.js)
|
|
103
|
+
You can check example configuration with multiple reporters in [example project](./examples/jest.config.js).
|
|
48
104
|
|
|
49
105
|
Supported ENV variables:
|
|
50
106
|
|
|
51
107
|
- `QASE_REPORT` - You **should** pass this ENV if you want to use
|
|
52
108
|
qase reporter
|
|
53
109
|
- `QASE_API_TOKEN` - API token
|
|
110
|
+
- `QASE_PROJECT_CODE` - Your project code
|
|
111
|
+
- `QASE_ROOT_SUITE_TITLE` - Setting the root suite that the reporter will use
|
|
54
112
|
- `QASE_RUN_ID` - Pass Run ID from ENV and override reporter options
|
|
55
113
|
- `QASE_ENVIRONMENT_ID` - Pass Environment ID from ENV and override reporter options
|
|
56
114
|
- `QASE_RUN_NAME` - Set custom Run name, when new run is created
|
|
57
115
|
- `QASE_RUN_DESCRIPTION` - Set custom Run description, when new run is created
|
|
58
116
|
- `QASE_RUN_COMPLETE` - Complete run after all tests are finished
|
|
59
117
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
If you want to decorate come test with Qase Case ID you could use qase function:
|
|
63
|
-
|
|
64
|
-
```typescript
|
|
65
|
-
import { qase } from 'jest-qase-reporter/dist/jest';
|
|
66
|
-
|
|
67
|
-
describe('My First Test', () => {
|
|
68
|
-
test(qase([1,2], 'Several ids'), () => {
|
|
69
|
-
expect(true).toBe(true);
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
test(qase(3, 'Correct test'), () => {
|
|
73
|
-
expect(true).toBe(true);
|
|
74
|
-
})
|
|
75
|
-
|
|
76
|
-
test.skip(qase("4", 'Skipped test'), () => {
|
|
77
|
-
expect(true).toBe(true);
|
|
78
|
-
})
|
|
79
|
-
|
|
80
|
-
test(qase(["5", "6"], 'Failed test'), () => {
|
|
81
|
-
expect(true).toBe(false);
|
|
82
|
-
})
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
```
|
|
118
|
+
<!-- references -->
|
|
86
119
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
To start jest run with qase reporter run it like this:
|
|
90
|
-
```bash
|
|
91
|
-
QASE_REPORT=1 npx jest
|
|
92
|
-
```
|
|
120
|
+
[auth]: https://developers.qase.io/#authentication
|
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,14 @@ 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;
|
|
36
|
+
private createHeaders;
|
|
37
|
+
private getPackageVersion;
|
|
30
38
|
}
|
|
31
39
|
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,30 @@ 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"));
|
|
66
|
+
var child_process_1 = require("child_process");
|
|
67
|
+
var fs_1 = require("fs");
|
|
55
68
|
var Envs;
|
|
56
69
|
(function (Envs) {
|
|
57
70
|
Envs["report"] = "QASE_REPORT";
|
|
58
71
|
Envs["apiToken"] = "QASE_API_TOKEN";
|
|
72
|
+
Envs["basePath"] = "QASE_API_BASE_URL";
|
|
73
|
+
Envs["projectCode"] = "QASE_PROJECT_CODE";
|
|
59
74
|
Envs["runId"] = "QASE_RUN_ID";
|
|
60
75
|
Envs["runName"] = "QASE_RUN_NAME";
|
|
61
76
|
Envs["runDescription"] = "QASE_RUN_DESCRIPTION";
|
|
62
77
|
Envs["runComplete"] = "QASE_RUN_COMPLETE";
|
|
63
78
|
Envs["environmentId"] = "QASE_ENVIRONMENT_ID";
|
|
79
|
+
Envs["rootSuiteTitle"] = "QASE_ROOT_SUITE_TITLE";
|
|
64
80
|
})(Envs || (Envs = {}));
|
|
65
81
|
var Statuses = {
|
|
66
|
-
passed:
|
|
67
|
-
failed:
|
|
68
|
-
skipped:
|
|
69
|
-
pending:
|
|
70
|
-
disabled:
|
|
82
|
+
passed: src_1.ResultCreateStatusEnum.PASSED,
|
|
83
|
+
failed: src_1.ResultCreateStatusEnum.FAILED,
|
|
84
|
+
skipped: src_1.ResultCreateStatusEnum.SKIPPED,
|
|
85
|
+
pending: src_1.ResultCreateStatusEnum.SKIPPED,
|
|
86
|
+
disabled: src_1.ResultCreateStatusEnum.BLOCKED,
|
|
71
87
|
};
|
|
72
88
|
var alwaysUndefined = function () { return undefined; };
|
|
73
89
|
var QaseReporter = /** @class */ (function () {
|
|
@@ -75,9 +91,12 @@ var QaseReporter = /** @class */ (function () {
|
|
|
75
91
|
this.isDisabled = false;
|
|
76
92
|
this.publishedResultsCount = 0;
|
|
77
93
|
this.options = _options;
|
|
94
|
+
this.options.projectCode = _options.projectCode || this.getEnv(Envs.projectCode) || '';
|
|
95
|
+
this.options.rootSuiteTitle = _options.rootSuiteTitle || this.getEnv(Envs.rootSuiteTitle);
|
|
78
96
|
this.options.runComplete = !!this.getEnv(Envs.runComplete) || this.options.runComplete;
|
|
79
|
-
this.api = new qaseio_1.QaseApi(this.getEnv(Envs.apiToken) || this.options.apiToken || '');
|
|
97
|
+
this.api = new qaseio_1.QaseApi(this.getEnv(Envs.apiToken) || this.options.apiToken || '', this.getEnv(Envs.basePath) || this.options.basePath, this.createHeaders());
|
|
80
98
|
this.log(chalk_1.default(templateObject_1 || (templateObject_1 = __makeTemplateObject(["{yellow Current PID: ", "}"], ["{yellow Current PID: ", "}"])), process.pid));
|
|
99
|
+
this.preparedTestCases = [];
|
|
81
100
|
if (!this.getEnv(Envs.report)) {
|
|
82
101
|
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
102
|
this.isDisabled = true;
|
|
@@ -116,9 +135,10 @@ var QaseReporter = /** @class */ (function () {
|
|
|
116
135
|
}
|
|
117
136
|
else {
|
|
118
137
|
return [2 /*return*/, this.createRun(this.getEnv(Envs.runName), this.getEnv(Envs.runDescription), function (created) {
|
|
138
|
+
var _a;
|
|
119
139
|
if (created) {
|
|
120
|
-
_this.runId = created.id;
|
|
121
|
-
process.env.QASE_RUN_ID = _this.runId
|
|
140
|
+
_this.runId = (_a = created.result) === null || _a === void 0 ? void 0 : _a.id;
|
|
141
|
+
process.env.QASE_RUN_ID = String(_this === null || _this === void 0 ? void 0 : _this.runId);
|
|
122
142
|
_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
143
|
}
|
|
124
144
|
else {
|
|
@@ -135,12 +155,18 @@ var QaseReporter = /** @class */ (function () {
|
|
|
135
155
|
};
|
|
136
156
|
QaseReporter.prototype.onTestResult = function (_test, testResult) {
|
|
137
157
|
return __awaiter(this, void 0, void 0, function () {
|
|
138
|
-
var _this = this;
|
|
139
158
|
return __generator(this, function (_a) {
|
|
140
|
-
|
|
141
|
-
|
|
159
|
+
switch (_a.label) {
|
|
160
|
+
case 0:
|
|
161
|
+
if (this.isDisabled) {
|
|
162
|
+
return [2 /*return*/];
|
|
163
|
+
}
|
|
164
|
+
this.preparedTestCases = this.createPreparedForPublishTestsArray(testResult.testResults);
|
|
165
|
+
return [4 /*yield*/, this.publishBulkTestResult().then(alwaysUndefined)];
|
|
166
|
+
case 1:
|
|
167
|
+
_a.sent();
|
|
168
|
+
return [2 /*return*/];
|
|
142
169
|
}
|
|
143
|
-
return [2 /*return*/, Promise.all(testResult.testResults.map(function (value) { return _this.publishCaseResult(value); })).then(alwaysUndefined)];
|
|
144
170
|
});
|
|
145
171
|
});
|
|
146
172
|
};
|
|
@@ -163,10 +189,8 @@ var QaseReporter = /** @class */ (function () {
|
|
|
163
189
|
_a.label = 1;
|
|
164
190
|
case 1:
|
|
165
191
|
_a.trys.push([1, 3, , 4]);
|
|
166
|
-
|
|
167
|
-
return [4 /*yield*/, this.api.runs.complete(this.options.projectCode, this.runId)];
|
|
192
|
+
return [4 /*yield*/, this.api.runs.completeRun(this.options.projectCode, Number(this.runId))];
|
|
168
193
|
case 2:
|
|
169
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
170
194
|
_a.sent();
|
|
171
195
|
this.log(chalk_1.default(templateObject_9 || (templateObject_9 = __makeTemplateObject(["{green Run ", " completed}"], ["{green Run ", " completed}"])), this.runId));
|
|
172
196
|
return [3 /*break*/, 4];
|
|
@@ -214,35 +238,104 @@ var QaseReporter = /** @class */ (function () {
|
|
|
214
238
|
this.log(map[test.status]);
|
|
215
239
|
}
|
|
216
240
|
};
|
|
217
|
-
QaseReporter.prototype.
|
|
241
|
+
QaseReporter.prototype.createPreparedForPublishTestsArray = function (testResults) {
|
|
218
242
|
var _this = this;
|
|
219
|
-
|
|
220
|
-
.
|
|
221
|
-
.
|
|
222
|
-
|
|
223
|
-
|
|
243
|
+
var transformedMap = testResults.map(function (result) {
|
|
244
|
+
_this.logTestItem(result);
|
|
245
|
+
var fullPathToCase = result.ancestorTitles.join('\t');
|
|
246
|
+
var item = {
|
|
247
|
+
path: _this.options.rootSuiteTitle
|
|
248
|
+
? _this.options.rootSuiteTitle + "\t" + fullPathToCase
|
|
249
|
+
: fullPathToCase,
|
|
250
|
+
result: result.status,
|
|
251
|
+
duration: result.duration,
|
|
252
|
+
status: result.status,
|
|
253
|
+
title: result.title,
|
|
254
|
+
failureMessages: result.failureMessages,
|
|
255
|
+
};
|
|
256
|
+
var caseIds = _this.getCaseIds(result);
|
|
257
|
+
if (caseIds) {
|
|
258
|
+
item.caseIds = caseIds;
|
|
259
|
+
}
|
|
260
|
+
return item;
|
|
224
261
|
});
|
|
262
|
+
return transformedMap;
|
|
263
|
+
};
|
|
264
|
+
QaseReporter.prototype.publishBulkTestResult = function () {
|
|
265
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
266
|
+
var body, res, error_1;
|
|
267
|
+
return __generator(this, function (_a) {
|
|
268
|
+
switch (_a.label) {
|
|
269
|
+
case 0:
|
|
270
|
+
_a.trys.push([0, 2, , 3]);
|
|
271
|
+
body = {
|
|
272
|
+
results: this.createResultCasesArray(),
|
|
273
|
+
};
|
|
274
|
+
return [4 /*yield*/, this.api.results.createResultBulk(this.options.projectCode, Number(this.runId), body)];
|
|
275
|
+
case 1:
|
|
276
|
+
res = _a.sent();
|
|
277
|
+
if (res.status === 200) {
|
|
278
|
+
this.publishedResultsCount++;
|
|
279
|
+
}
|
|
280
|
+
return [3 /*break*/, 3];
|
|
281
|
+
case 2:
|
|
282
|
+
error_1 = _a.sent();
|
|
283
|
+
this.log(JSON.stringify(error_1));
|
|
284
|
+
return [3 /*break*/, 3];
|
|
285
|
+
case 3: return [2 /*return*/];
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
});
|
|
289
|
+
};
|
|
290
|
+
QaseReporter.prototype.checkProject = function (projectCode, cb) {
|
|
291
|
+
var _a;
|
|
292
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
293
|
+
var resp, err_2;
|
|
294
|
+
return __generator(this, function (_b) {
|
|
295
|
+
switch (_b.label) {
|
|
296
|
+
case 0:
|
|
297
|
+
_b.trys.push([0, 3, , 4]);
|
|
298
|
+
return [4 /*yield*/, this.api.projects.getProject(projectCode)];
|
|
299
|
+
case 1:
|
|
300
|
+
resp = _b.sent();
|
|
301
|
+
return [4 /*yield*/, cb(Boolean((_a = resp.data.result) === null || _a === void 0 ? void 0 : _a.code))];
|
|
302
|
+
case 2:
|
|
303
|
+
_b.sent();
|
|
304
|
+
return [3 /*break*/, 4];
|
|
305
|
+
case 3:
|
|
306
|
+
err_2 = _b.sent();
|
|
307
|
+
this.log(err_2);
|
|
308
|
+
this.isDisabled = true;
|
|
309
|
+
return [3 /*break*/, 4];
|
|
310
|
+
case 4: return [2 /*return*/];
|
|
311
|
+
}
|
|
312
|
+
});
|
|
313
|
+
});
|
|
314
|
+
};
|
|
315
|
+
QaseReporter.prototype.createRunObject = function (name, cases, args) {
|
|
316
|
+
return __assign({ title: name, cases: cases }, args);
|
|
225
317
|
};
|
|
226
318
|
QaseReporter.prototype.createRun = function (name, description, cb) {
|
|
227
319
|
return __awaiter(this, void 0, void 0, function () {
|
|
228
|
-
var environmentId, res,
|
|
320
|
+
var environmentId, runObject, res, err_3;
|
|
229
321
|
return __generator(this, function (_a) {
|
|
230
322
|
switch (_a.label) {
|
|
231
323
|
case 0:
|
|
232
324
|
_a.trys.push([0, 2, , 3]);
|
|
233
325
|
environmentId = Number.parseInt(this.getEnv(Envs.environmentId), 10) || this.options.environmentId;
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
326
|
+
runObject = this.createRunObject(name || "Automated run " + new Date().toISOString(), [], {
|
|
327
|
+
description: description || 'Jest automated run',
|
|
328
|
+
environment_id: environmentId,
|
|
329
|
+
is_autotest: true,
|
|
330
|
+
});
|
|
331
|
+
return [4 /*yield*/, this.api.runs.createRun(this.options.projectCode, runObject)];
|
|
239
332
|
case 1:
|
|
240
333
|
res = _a.sent();
|
|
241
334
|
cb(res.data);
|
|
242
335
|
return [3 /*break*/, 3];
|
|
243
336
|
case 2:
|
|
244
|
-
|
|
245
|
-
this.log("Error on creating run " +
|
|
337
|
+
err_3 = _a.sent();
|
|
338
|
+
this.log("Error on creating run " + err_3);
|
|
246
339
|
this.isDisabled = true;
|
|
247
340
|
return [3 /*break*/, 3];
|
|
248
341
|
case 3: return [2 /*return*/];
|
|
@@ -258,8 +351,12 @@ var QaseReporter = /** @class */ (function () {
|
|
|
258
351
|
cb(false);
|
|
259
352
|
return [2 /*return*/];
|
|
260
353
|
}
|
|
261
|
-
return [2 /*return*/, this.api.runs.
|
|
262
|
-
.then(
|
|
354
|
+
return [2 /*return*/, this.api.runs.getRun(this.options.projectCode, Number(runId))
|
|
355
|
+
.then(function (resp) {
|
|
356
|
+
var _a, _b;
|
|
357
|
+
_this.log("Get run result on checking run " + ((_a = resp.data.result) === null || _a === void 0 ? void 0 : _a.id));
|
|
358
|
+
cb(Boolean((_b = resp.data.result) === null || _b === void 0 ? void 0 : _b.id));
|
|
359
|
+
})
|
|
263
360
|
.catch(function (err) {
|
|
264
361
|
_this.log("Error on checking run " + err);
|
|
265
362
|
_this.isDisabled = true;
|
|
@@ -267,54 +364,70 @@ var QaseReporter = /** @class */ (function () {
|
|
|
267
364
|
});
|
|
268
365
|
});
|
|
269
366
|
};
|
|
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
|
-
// eslint-disable-next-line camelcase, @typescript-eslint/no-non-null-assertion
|
|
296
|
-
time_ms: test.duration,
|
|
297
|
-
stacktrace: test.failureMessages.join('\n'),
|
|
298
|
-
comment: test.failureMessages.length > 0 ? test.failureMessages.map(function (value) { return value.split('\n')[0]; }).join('\n') : undefined,
|
|
299
|
-
}))];
|
|
300
|
-
case 2:
|
|
301
|
-
res = _a.sent();
|
|
302
|
-
this.publishedResultsCount++;
|
|
303
|
-
this.log(chalk_1.default(templateObject_18 || (templateObject_18 = __makeTemplateObject(["{gray Result published: ", " ", "}", ""], ["{gray Result published: ", " ", "}", ""])), test.title, res.data.hash, add));
|
|
304
|
-
return [3 /*break*/, 4];
|
|
305
|
-
case 3:
|
|
306
|
-
err_3 = _a.sent();
|
|
307
|
-
this.log(err_3);
|
|
308
|
-
return [3 /*break*/, 4];
|
|
309
|
-
case 4: return [2 /*return*/];
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
}); })).then(alwaysUndefined)];
|
|
367
|
+
QaseReporter.prototype.createResultCasesArray = function () {
|
|
368
|
+
return this.preparedTestCases.map(function (elem) {
|
|
369
|
+
var _a;
|
|
370
|
+
var failureMessages = elem.failureMessages.map(function (value) {
|
|
371
|
+
return value.replace(/\u001b\[.*?m/g, '');
|
|
313
372
|
});
|
|
373
|
+
var caseObject = {
|
|
374
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
375
|
+
status: Statuses[elem.status] || Statuses.failed,
|
|
376
|
+
time_ms: Number(elem.duration),
|
|
377
|
+
stacktrace: failureMessages.join('\n'),
|
|
378
|
+
comment: failureMessages.length > 0 ? failureMessages.map(function (value) { return value.split('\n')[0]; }).join('\n') : undefined,
|
|
379
|
+
};
|
|
380
|
+
// Verifies that the user defined the ID through the use of the 'qase' wrapper;
|
|
381
|
+
if (elem.caseIds && ((_a = elem.caseIds) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
382
|
+
caseObject.case_id = elem.caseIds[0];
|
|
383
|
+
}
|
|
384
|
+
else {
|
|
385
|
+
caseObject.case = {
|
|
386
|
+
title: elem.title,
|
|
387
|
+
suite_title: elem.path,
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
return caseObject;
|
|
314
391
|
});
|
|
315
392
|
};
|
|
393
|
+
QaseReporter.prototype.createHeaders = function () {
|
|
394
|
+
var nodeVersion = process.version, os = process.platform, arch = process.arch;
|
|
395
|
+
var npmVersion = child_process_1.execSync('npm -v', { encoding: 'utf8' }).replace(/['"\n]+/g, '');
|
|
396
|
+
var qaseapiVersion = this.getPackageVersion('qaseio');
|
|
397
|
+
var jestVersion = this.getPackageVersion('jest');
|
|
398
|
+
var jestCaseReporterVersion = this.getPackageVersion('jest-qase-reporter');
|
|
399
|
+
var xPlatformHeader = "node=" + nodeVersion + "; npm=" + npmVersion + "; os=" + os + "; arch=" + arch;
|
|
400
|
+
// eslint-disable-next-line max-len
|
|
401
|
+
var xClientHeader = "jest=" + jestVersion + "; qase-jest=" + jestCaseReporterVersion + "; qaseapi=" + qaseapiVersion;
|
|
402
|
+
return {
|
|
403
|
+
'X-Client': xClientHeader,
|
|
404
|
+
'X-Platform': xPlatformHeader,
|
|
405
|
+
};
|
|
406
|
+
};
|
|
407
|
+
QaseReporter.prototype.getPackageVersion = function (name) {
|
|
408
|
+
var UNDEFINED = 'undefined';
|
|
409
|
+
try {
|
|
410
|
+
var pathToPackageJson = require.resolve(name + "/package.json", { paths: [process.cwd()] });
|
|
411
|
+
if (pathToPackageJson) {
|
|
412
|
+
try {
|
|
413
|
+
var packageString = fs_1.readFileSync(pathToPackageJson, { encoding: 'utf8' });
|
|
414
|
+
if (packageString) {
|
|
415
|
+
var packageObject = JSON.parse(packageString);
|
|
416
|
+
return packageObject.version;
|
|
417
|
+
}
|
|
418
|
+
return UNDEFINED;
|
|
419
|
+
}
|
|
420
|
+
catch (error) {
|
|
421
|
+
return UNDEFINED;
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
catch (error) {
|
|
426
|
+
return UNDEFINED;
|
|
427
|
+
}
|
|
428
|
+
};
|
|
316
429
|
return QaseReporter;
|
|
317
430
|
}());
|
|
318
|
-
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
|
|
431
|
+
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;
|
|
319
432
|
module.exports = QaseReporter;
|
|
320
433
|
//# 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":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|