testcafe-reporter-qase 2.0.4 → 2.0.5
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/global.js +1 -0
- package/dist/qase.js +173 -175
- package/dist/reporter.js +75 -70
- package/package.json +2 -2
package/dist/global.js
CHANGED
package/dist/qase.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
|
-
var _a;
|
|
6
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
6
|
exports.qase = void 0;
|
|
8
7
|
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
|
|
@@ -10,182 +9,181 @@ const path_1 = __importDefault(require("path"));
|
|
|
10
9
|
const qase_javascript_commons_1 = require("qase-javascript-commons");
|
|
11
10
|
const uuid_1 = require("uuid");
|
|
12
11
|
class qase {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
12
|
+
static _qaseID = '';
|
|
13
|
+
static _qaseTitle = '';
|
|
14
|
+
static _qaseFields = '';
|
|
15
|
+
static _qaseParameters = '';
|
|
16
|
+
static _qaseGroupParameters = '';
|
|
17
|
+
static _qaseIgnore = '';
|
|
18
|
+
/**
|
|
19
|
+
* Set a Qase ID for the test case
|
|
20
|
+
* Don't forget to call `create` method after setting all the necessary parameters
|
|
21
|
+
* @param {number | number[]} value
|
|
22
|
+
* @example
|
|
23
|
+
* const q = qase.id(1).create();
|
|
24
|
+
* test.meta(q)('Test case title', async t => { ... });
|
|
25
|
+
* or
|
|
26
|
+
* test.meta({userField: 123, ...q})('Test case title', async t => { ... });
|
|
27
|
+
*/
|
|
28
|
+
static id = (value) => {
|
|
29
|
+
this._qaseID = Array.isArray(value) ? value.join(',') : String(value);
|
|
30
|
+
return this;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Set a title for the test case
|
|
34
|
+
* Don't forget to call `create` method after setting all the necessary parameters
|
|
35
|
+
* @param {string} value
|
|
36
|
+
* @example
|
|
37
|
+
* const q = qase.title('Test case title').create();
|
|
38
|
+
* test.meta(q)('Test case title', async t => { ... });
|
|
39
|
+
* or
|
|
40
|
+
* test.meta({userField: 123, ...q})('Test case title', async t => { ... });
|
|
41
|
+
*/
|
|
42
|
+
static title = (value) => {
|
|
43
|
+
this._qaseTitle = value;
|
|
44
|
+
return this;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Set a fields for the test case
|
|
48
|
+
* Don't forget to call `create` method after setting all the necessary parameters
|
|
49
|
+
* @param {Record<string, string>} values
|
|
50
|
+
* @example
|
|
51
|
+
* const q = qase.fields({ 'severity': 'high', 'priority': 'medium' }).create();
|
|
52
|
+
* test.meta(q)('Test case title', async t => { ... });
|
|
53
|
+
* or
|
|
54
|
+
* test.meta({userField: 123, ...q})('Test case title', async t => { ... });
|
|
55
|
+
*/
|
|
56
|
+
static fields = (values) => {
|
|
57
|
+
this._qaseFields = this.toNormalizeRecord(values);
|
|
58
|
+
return this;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Set a parameters for the test case
|
|
62
|
+
* Don't forget to call `create` method after setting all the necessary parameters
|
|
63
|
+
* @param {Record<string, string>} values
|
|
64
|
+
* @example
|
|
65
|
+
* const q = qase.parameters({ 'severity': 'high', 'priority': 'medium' }).create();
|
|
66
|
+
* test.meta(q)('Test case title', async t => { ... });
|
|
67
|
+
* or
|
|
68
|
+
* test.meta({userField: 123, ...q})('Test case title', async t => { ... });
|
|
69
|
+
*/
|
|
70
|
+
static parameters = (values) => {
|
|
71
|
+
this._qaseParameters = this.toNormalizeRecord(values);
|
|
72
|
+
return this;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Set a group parameters for the test case
|
|
76
|
+
* Don't forget to call `create` method after setting all the necessary parameters
|
|
77
|
+
* @param {Record<string, string>} values
|
|
78
|
+
* @example
|
|
79
|
+
* const q = qase.groupParameters({ 'severity': 'high', 'priority': 'medium' }).create();
|
|
80
|
+
* test.meta(q)('Test case title', async t => { ... });
|
|
81
|
+
* or
|
|
82
|
+
* test.meta({userField: 123, ...q})('Test case title', async t => { ... });
|
|
83
|
+
*/
|
|
84
|
+
static groupParameters = (values) => {
|
|
85
|
+
this._qaseGroupParameters = this.toNormalizeRecord(values);
|
|
86
|
+
return this;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Set a ignore flag for the test case
|
|
90
|
+
* Don't forget to call `create` method after setting all the necessary parameters
|
|
91
|
+
* @example
|
|
92
|
+
* const q = qase.ignore().create();
|
|
93
|
+
* test.meta(q)('Test case title', async t => { ... });
|
|
94
|
+
* or
|
|
95
|
+
* test.meta({userField: 123, ...q})('Test case title', async t => { ... });
|
|
96
|
+
*/
|
|
97
|
+
static ignore = () => {
|
|
98
|
+
this._qaseIgnore = 'true';
|
|
99
|
+
return this;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Add a step to the test case
|
|
103
|
+
* @param name
|
|
104
|
+
* @param body
|
|
105
|
+
* @example
|
|
106
|
+
* test.meta({userField: 123, ...q})('Test case title', async t => {
|
|
107
|
+
* await qase.step("Step", () => {
|
|
108
|
+
* expect(true).toBe(true);
|
|
109
|
+
* });
|
|
110
|
+
* expect(true).toBe(true);
|
|
111
|
+
* });
|
|
112
|
+
*/
|
|
113
|
+
static step = async (name, body) => {
|
|
114
|
+
const runningStep = new qase_javascript_commons_1.QaseStep(name);
|
|
115
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
116
|
+
await runningStep.run(body, async (step) => global.Qase.step(step));
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Add an attachment to the test case
|
|
120
|
+
* @param attach
|
|
121
|
+
* @example
|
|
122
|
+
* test.meta({userField: 123, ...q})('Test case title', async t => {
|
|
123
|
+
* qase.attach({ name: 'attachment.txt', content: 'Hello, world!', type: 'text/plain' });
|
|
124
|
+
* qase.attach({ paths: ['/path/to/file', '/path/to/another/file']});
|
|
125
|
+
* expect(true).toBe(true);
|
|
126
|
+
* });
|
|
127
|
+
*/
|
|
128
|
+
static attach = (attach) => {
|
|
129
|
+
if (attach.paths) {
|
|
130
|
+
for (const file of attach.paths) {
|
|
131
|
+
const attachmentName = path_1.default.basename(file);
|
|
132
|
+
const contentType = (0, qase_javascript_commons_1.getMimeTypes)(file);
|
|
133
|
+
global.Qase.attachment({
|
|
134
|
+
file_path: file,
|
|
135
|
+
size: 0,
|
|
136
|
+
id: (0, uuid_1.v4)(),
|
|
137
|
+
file_name: attachmentName,
|
|
138
|
+
mime_type: contentType,
|
|
139
|
+
content: '',
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
if (attach.content) {
|
|
137
145
|
global.Qase.attachment({
|
|
138
|
-
file_path:
|
|
139
|
-
size:
|
|
146
|
+
file_path: null,
|
|
147
|
+
size: attach.content.length,
|
|
140
148
|
id: (0, uuid_1.v4)(),
|
|
141
|
-
file_name:
|
|
142
|
-
mime_type:
|
|
143
|
-
content:
|
|
149
|
+
file_name: attach.name ?? 'attachment',
|
|
150
|
+
mime_type: attach.type ?? 'application/octet-stream',
|
|
151
|
+
content: attach.content,
|
|
144
152
|
});
|
|
145
153
|
}
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
if (attach.content) {
|
|
149
|
-
global.Qase.attachment({
|
|
150
|
-
file_path: null,
|
|
151
|
-
size: attach.content.length,
|
|
152
|
-
id: (0, uuid_1.v4)(),
|
|
153
|
-
file_name: attach.name ?? 'attachment',
|
|
154
|
-
mime_type: attach.type ?? 'application/octet-stream',
|
|
155
|
-
content: attach.content,
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
/**
|
|
160
|
-
* Create a Qase metadata
|
|
161
|
-
* Call this method after setting all the necessary parameters
|
|
162
|
-
* @example
|
|
163
|
-
* const q = qase.id(1).title('Test case title').fields({ 'severity': 'high', 'priority': 'medium' }).create();
|
|
164
|
-
* test.meta(q)('Test case title', async t => { ... });
|
|
165
|
-
* or
|
|
166
|
-
* test.meta({userField: 123, ...q})('Test case title', async t => { ... });
|
|
167
|
-
*/
|
|
168
|
-
qase.create = () => {
|
|
169
|
-
const meta = {
|
|
170
|
-
QaseID: _a._qaseID,
|
|
171
|
-
QaseTitle: _a._qaseTitle,
|
|
172
|
-
QaseFields: _a._qaseFields,
|
|
173
|
-
QaseParameters: _a._qaseParameters,
|
|
174
|
-
QaseGroupParameters: _a._qaseGroupParameters,
|
|
175
|
-
QaseIgnore: _a._qaseIgnore,
|
|
176
154
|
};
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
155
|
+
/**
|
|
156
|
+
* Create a Qase metadata
|
|
157
|
+
* Call this method after setting all the necessary parameters
|
|
158
|
+
* @example
|
|
159
|
+
* const q = qase.id(1).title('Test case title').fields({ 'severity': 'high', 'priority': 'medium' }).create();
|
|
160
|
+
* test.meta(q)('Test case title', async t => { ... });
|
|
161
|
+
* or
|
|
162
|
+
* test.meta({userField: 123, ...q})('Test case title', async t => { ... });
|
|
163
|
+
*/
|
|
164
|
+
static create = () => {
|
|
165
|
+
const meta = {
|
|
166
|
+
QaseID: this._qaseID,
|
|
167
|
+
QaseTitle: this._qaseTitle,
|
|
168
|
+
QaseFields: this._qaseFields,
|
|
169
|
+
QaseParameters: this._qaseParameters,
|
|
170
|
+
QaseGroupParameters: this._qaseGroupParameters,
|
|
171
|
+
QaseIgnore: this._qaseIgnore,
|
|
172
|
+
};
|
|
173
|
+
this._qaseID = '';
|
|
174
|
+
this._qaseTitle = '';
|
|
175
|
+
this._qaseFields = '';
|
|
176
|
+
this._qaseParameters = '';
|
|
177
|
+
this._qaseGroupParameters = '';
|
|
178
|
+
this._qaseIgnore = '';
|
|
179
|
+
return meta;
|
|
180
|
+
};
|
|
181
|
+
static toNormalizeRecord = (record) => {
|
|
182
|
+
const stringRecord = {};
|
|
183
|
+
for (const [key, value] of Object.entries(record)) {
|
|
184
|
+
stringRecord[String(key)] = String(value);
|
|
185
|
+
}
|
|
186
|
+
return JSON.stringify(stringRecord);
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
exports.qase = qase;
|
package/dist/reporter.js
CHANGED
|
@@ -51,81 +51,18 @@ class TestcafeQaseReporter {
|
|
|
51
51
|
}
|
|
52
52
|
return attachments;
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* @type {ReporterInterface}
|
|
56
|
+
* @private
|
|
57
|
+
*/
|
|
58
|
+
reporter;
|
|
59
|
+
steps = [];
|
|
60
|
+
attachments = [];
|
|
54
61
|
/**
|
|
55
62
|
* @param {TestcafeQaseOptionsType} options
|
|
56
63
|
* @param {ConfigLoaderInterface} configLoader
|
|
57
64
|
*/
|
|
58
65
|
constructor(options, configLoader = new qase_javascript_commons_1.ConfigLoader()) {
|
|
59
|
-
this.steps = [];
|
|
60
|
-
this.attachments = [];
|
|
61
|
-
/**
|
|
62
|
-
* @returns {Promise<void>}
|
|
63
|
-
*/
|
|
64
|
-
this.startTestRun = () => {
|
|
65
|
-
this.reporter.startTestRun();
|
|
66
|
-
};
|
|
67
|
-
this.reportTestStart = () => {
|
|
68
|
-
this.steps = [];
|
|
69
|
-
this.attachments = [];
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* @param {string} title
|
|
73
|
-
* @param {TestRunInfoType} testRunInfo
|
|
74
|
-
* @param {Record<string, string>} meta
|
|
75
|
-
* @param formatError
|
|
76
|
-
*/
|
|
77
|
-
this.reportTestDone = async (title, testRunInfo, meta, formatError) => {
|
|
78
|
-
const metadata = this.getMeta(meta);
|
|
79
|
-
if (metadata[metadataEnum.ignore]) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
const errorLog = testRunInfo.errs
|
|
83
|
-
.map((error, index) => formatError(error, `${index + 1} `).replace(
|
|
84
|
-
// eslint-disable-next-line no-control-regex
|
|
85
|
-
/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, ''))
|
|
86
|
-
.join('\n');
|
|
87
|
-
const attachments = TestcafeQaseReporter.transformAttachments(testRunInfo.screenshots);
|
|
88
|
-
attachments.push(...this.attachments);
|
|
89
|
-
await this.reporter.addTestResult({
|
|
90
|
-
author: null,
|
|
91
|
-
execution: {
|
|
92
|
-
status: TestcafeQaseReporter.getStatus(testRunInfo),
|
|
93
|
-
start_time: null,
|
|
94
|
-
end_time: null,
|
|
95
|
-
duration: testRunInfo.durationMs,
|
|
96
|
-
stacktrace: errorLog,
|
|
97
|
-
thread: null,
|
|
98
|
-
},
|
|
99
|
-
fields: metadata[metadataEnum.fields],
|
|
100
|
-
message: errorLog ? errorLog.split('\n')[0] ?? '' : '',
|
|
101
|
-
muted: false,
|
|
102
|
-
params: metadata[metadataEnum.parameters],
|
|
103
|
-
group_params: metadata[metadataEnum.groupParameters],
|
|
104
|
-
relations: {
|
|
105
|
-
suite: {
|
|
106
|
-
data: [
|
|
107
|
-
{
|
|
108
|
-
title: testRunInfo.fixture.name,
|
|
109
|
-
public_id: null,
|
|
110
|
-
},
|
|
111
|
-
],
|
|
112
|
-
},
|
|
113
|
-
},
|
|
114
|
-
run_id: null,
|
|
115
|
-
signature: this.getSignature(testRunInfo.fixture, title, metadata[metadataEnum.id], metadata[metadataEnum.parameters]),
|
|
116
|
-
steps: this.steps,
|
|
117
|
-
id: (0, uuid_1.v4)(),
|
|
118
|
-
testops_id: metadata[metadataEnum.id].length > 0 ? metadata[metadataEnum.id] : null,
|
|
119
|
-
title: metadata[metadataEnum.title] != undefined ? metadata[metadataEnum.title] : title,
|
|
120
|
-
attachments: attachments,
|
|
121
|
-
});
|
|
122
|
-
};
|
|
123
|
-
/**
|
|
124
|
-
* @returns {Promise<void>}
|
|
125
|
-
*/
|
|
126
|
-
this.reportTaskDone = async () => {
|
|
127
|
-
await this.reporter.publish();
|
|
128
|
-
};
|
|
129
66
|
const config = configLoader.load();
|
|
130
67
|
this.reporter = qase_javascript_commons_1.QaseReporter.getInstance({
|
|
131
68
|
...(0, qase_javascript_commons_1.composeOptions)(options, config),
|
|
@@ -141,6 +78,74 @@ class TestcafeQaseReporter {
|
|
|
141
78
|
addAttachment(attachment) {
|
|
142
79
|
this.attachments.push(attachment);
|
|
143
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* @returns {Promise<void>}
|
|
83
|
+
*/
|
|
84
|
+
startTestRun = () => {
|
|
85
|
+
this.reporter.startTestRun();
|
|
86
|
+
};
|
|
87
|
+
reportTestStart = () => {
|
|
88
|
+
this.steps = [];
|
|
89
|
+
this.attachments = [];
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* @param {string} title
|
|
93
|
+
* @param {TestRunInfoType} testRunInfo
|
|
94
|
+
* @param {Record<string, string>} meta
|
|
95
|
+
* @param formatError
|
|
96
|
+
*/
|
|
97
|
+
reportTestDone = async (title, testRunInfo, meta, formatError) => {
|
|
98
|
+
const metadata = this.getMeta(meta);
|
|
99
|
+
if (metadata[metadataEnum.ignore]) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const errorLog = testRunInfo.errs
|
|
103
|
+
.map((error, index) => formatError(error, `${index + 1} `).replace(
|
|
104
|
+
// eslint-disable-next-line no-control-regex
|
|
105
|
+
/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, ''))
|
|
106
|
+
.join('\n');
|
|
107
|
+
const attachments = TestcafeQaseReporter.transformAttachments(testRunInfo.screenshots);
|
|
108
|
+
attachments.push(...this.attachments);
|
|
109
|
+
await this.reporter.addTestResult({
|
|
110
|
+
author: null,
|
|
111
|
+
execution: {
|
|
112
|
+
status: TestcafeQaseReporter.getStatus(testRunInfo),
|
|
113
|
+
start_time: null,
|
|
114
|
+
end_time: null,
|
|
115
|
+
duration: testRunInfo.durationMs,
|
|
116
|
+
stacktrace: errorLog,
|
|
117
|
+
thread: null,
|
|
118
|
+
},
|
|
119
|
+
fields: metadata[metadataEnum.fields],
|
|
120
|
+
message: errorLog ? errorLog.split('\n')[0] ?? '' : '',
|
|
121
|
+
muted: false,
|
|
122
|
+
params: metadata[metadataEnum.parameters],
|
|
123
|
+
group_params: metadata[metadataEnum.groupParameters],
|
|
124
|
+
relations: {
|
|
125
|
+
suite: {
|
|
126
|
+
data: [
|
|
127
|
+
{
|
|
128
|
+
title: testRunInfo.fixture.name,
|
|
129
|
+
public_id: null,
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
run_id: null,
|
|
135
|
+
signature: this.getSignature(testRunInfo.fixture, title, metadata[metadataEnum.id], metadata[metadataEnum.parameters]),
|
|
136
|
+
steps: this.steps,
|
|
137
|
+
id: (0, uuid_1.v4)(),
|
|
138
|
+
testops_id: metadata[metadataEnum.id].length > 0 ? metadata[metadataEnum.id] : null,
|
|
139
|
+
title: metadata[metadataEnum.title] != undefined ? metadata[metadataEnum.title] : title,
|
|
140
|
+
attachments: attachments,
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* @returns {Promise<void>}
|
|
145
|
+
*/
|
|
146
|
+
reportTaskDone = async () => {
|
|
147
|
+
await this.reporter.publish();
|
|
148
|
+
};
|
|
144
149
|
getMeta(meta) {
|
|
145
150
|
const metadata = {
|
|
146
151
|
QaseID: [],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "testcafe-reporter-qase",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.5",
|
|
4
4
|
"description": "Qase TMS TestCafe Reporter",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"author": "Qase Team <support@qase.io>",
|
|
41
41
|
"license": "Apache-2.0",
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"qase-javascript-commons": "~2.2.
|
|
43
|
+
"qase-javascript-commons": "~2.2.14",
|
|
44
44
|
"uuid": "^9.0.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|