testcafe-reporter-qase 2.0.0 → 2.0.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/changelog.md +16 -0
- package/dist/qase.d.ts +13 -0
- package/dist/qase.js +17 -0
- package/dist/reporter.d.ts +8 -0
- package/dist/reporter.js +34 -1
- package/package.json +2 -2
package/changelog.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
# qase-testcafe@2.0.1
|
|
2
|
+
|
|
3
|
+
## What's new
|
|
4
|
+
|
|
5
|
+
Support group parameters for test cases. You can specify the group parameters in the test case using the following format:
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
const q = qase.groupParameters({ 'param01': 'value01', 'param02': 'value02' }).create();
|
|
9
|
+
test.meta({ ...q })(
|
|
10
|
+
'test',
|
|
11
|
+
async (t) => {
|
|
12
|
+
await t;
|
|
13
|
+
},
|
|
14
|
+
);
|
|
15
|
+
```
|
|
16
|
+
|
|
1
17
|
# qase-testcafe@2.0.0
|
|
2
18
|
|
|
3
19
|
## What's new
|
package/dist/qase.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export declare class qase {
|
|
|
3
3
|
private static _qaseTitle;
|
|
4
4
|
private static _qaseFields;
|
|
5
5
|
private static _qaseParameters;
|
|
6
|
+
private static _qaseGroupParameters;
|
|
6
7
|
/**
|
|
7
8
|
* Set a Qase ID for the test case
|
|
8
9
|
* Don't forget to call `create` method after setting all the necessary parameters
|
|
@@ -47,6 +48,17 @@ export declare class qase {
|
|
|
47
48
|
* test.meta({userField: 123, ...q})('Test case title', async t => { ... });
|
|
48
49
|
*/
|
|
49
50
|
static parameters: (values: Record<string, string>) => typeof qase;
|
|
51
|
+
/**
|
|
52
|
+
* Set a group parameters for the test case
|
|
53
|
+
* Don't forget to call `create` method after setting all the necessary parameters
|
|
54
|
+
* @param {Record<string, string>} values
|
|
55
|
+
* @example
|
|
56
|
+
* const q = qase.group_parameters({ 'severity': 'high', 'priority': 'medium' }).create();
|
|
57
|
+
* test.meta(q)('Test case title', async t => { ... });
|
|
58
|
+
* or
|
|
59
|
+
* test.meta({userField: 123, ...q})('Test case title', async t => { ... });
|
|
60
|
+
*/
|
|
61
|
+
static group_parameters: (values: Record<string, string>) => typeof qase;
|
|
50
62
|
/**
|
|
51
63
|
* Create a Qase metadata
|
|
52
64
|
* Call this method after setting all the necessary parameters
|
|
@@ -61,6 +73,7 @@ export declare class qase {
|
|
|
61
73
|
QaseTitle: string;
|
|
62
74
|
QaseFields: string;
|
|
63
75
|
QaseParameters: string;
|
|
76
|
+
QaseGroupParameters: string;
|
|
64
77
|
};
|
|
65
78
|
private static toNormalizeRecord;
|
|
66
79
|
}
|
package/dist/qase.js
CHANGED
|
@@ -11,6 +11,7 @@ qase._qaseID = '';
|
|
|
11
11
|
qase._qaseTitle = '';
|
|
12
12
|
qase._qaseFields = '';
|
|
13
13
|
qase._qaseParameters = '';
|
|
14
|
+
qase._qaseGroupParameters = '';
|
|
14
15
|
/**
|
|
15
16
|
* Set a Qase ID for the test case
|
|
16
17
|
* Don't forget to call `create` method after setting all the necessary parameters
|
|
@@ -67,6 +68,20 @@ qase.parameters = (values) => {
|
|
|
67
68
|
_a._qaseParameters = _a.toNormalizeRecord(values);
|
|
68
69
|
return _a;
|
|
69
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* Set a group parameters for the test case
|
|
73
|
+
* Don't forget to call `create` method after setting all the necessary parameters
|
|
74
|
+
* @param {Record<string, string>} values
|
|
75
|
+
* @example
|
|
76
|
+
* const q = qase.group_parameters({ 'severity': 'high', 'priority': 'medium' }).create();
|
|
77
|
+
* test.meta(q)('Test case title', async t => { ... });
|
|
78
|
+
* or
|
|
79
|
+
* test.meta({userField: 123, ...q})('Test case title', async t => { ... });
|
|
80
|
+
*/
|
|
81
|
+
qase.group_parameters = (values) => {
|
|
82
|
+
_a._qaseGroupParameters = _a.toNormalizeRecord(values);
|
|
83
|
+
return _a;
|
|
84
|
+
};
|
|
70
85
|
/**
|
|
71
86
|
* Create a Qase metadata
|
|
72
87
|
* Call this method after setting all the necessary parameters
|
|
@@ -82,11 +97,13 @@ qase.create = () => {
|
|
|
82
97
|
QaseTitle: _a._qaseTitle,
|
|
83
98
|
QaseFields: _a._qaseFields,
|
|
84
99
|
QaseParameters: _a._qaseParameters,
|
|
100
|
+
QaseGroupParameters: _a._qaseGroupParameters,
|
|
85
101
|
};
|
|
86
102
|
_a._qaseID = '';
|
|
87
103
|
_a._qaseTitle = '';
|
|
88
104
|
_a._qaseFields = '';
|
|
89
105
|
_a._qaseParameters = '';
|
|
106
|
+
_a._qaseGroupParameters = '';
|
|
90
107
|
return meta;
|
|
91
108
|
};
|
|
92
109
|
qase.toNormalizeRecord = (record) => {
|
package/dist/reporter.d.ts
CHANGED
|
@@ -90,5 +90,13 @@ export declare class TestcafeQaseReporter {
|
|
|
90
90
|
*/
|
|
91
91
|
reportTaskDone: () => Promise<void>;
|
|
92
92
|
private getMeta;
|
|
93
|
+
/**
|
|
94
|
+
* @param {FixtureType} fixture
|
|
95
|
+
* @param {string} title
|
|
96
|
+
* @param {number[]} ids
|
|
97
|
+
* @param {Record<string, string>} parameters
|
|
98
|
+
* @private
|
|
99
|
+
*/
|
|
100
|
+
private getSignature;
|
|
93
101
|
}
|
|
94
102
|
export {};
|
package/dist/reporter.js
CHANGED
|
@@ -9,6 +9,7 @@ var metadataEnum;
|
|
|
9
9
|
metadataEnum["title"] = "QaseTitle";
|
|
10
10
|
metadataEnum["fields"] = "QaseFields";
|
|
11
11
|
metadataEnum["parameters"] = "QaseParameters";
|
|
12
|
+
metadataEnum["groupParameters"] = "QaseGroupParameters";
|
|
12
13
|
metadataEnum["oldID"] = "CID";
|
|
13
14
|
})(metadataEnum || (metadataEnum = {}));
|
|
14
15
|
/**
|
|
@@ -97,6 +98,7 @@ class TestcafeQaseReporter {
|
|
|
97
98
|
message: error.message,
|
|
98
99
|
muted: false,
|
|
99
100
|
params: metadata[metadataEnum.parameters],
|
|
101
|
+
group_params: metadata[metadataEnum.groupParameters],
|
|
100
102
|
relations: {
|
|
101
103
|
suite: {
|
|
102
104
|
data: [
|
|
@@ -108,7 +110,7 @@ class TestcafeQaseReporter {
|
|
|
108
110
|
},
|
|
109
111
|
},
|
|
110
112
|
run_id: null,
|
|
111
|
-
signature:
|
|
113
|
+
signature: this.getSignature(testRunInfo.fixture, title, metadata[metadataEnum.id], metadata[metadataEnum.parameters]),
|
|
112
114
|
steps: [],
|
|
113
115
|
id: (0, uuid_1.v4)(),
|
|
114
116
|
testops_id: metadata[metadataEnum.id].length > 0 ? metadata[metadataEnum.id] : null,
|
|
@@ -136,6 +138,7 @@ class TestcafeQaseReporter {
|
|
|
136
138
|
QaseTitle: undefined,
|
|
137
139
|
QaseFields: {},
|
|
138
140
|
QaseParameters: {},
|
|
141
|
+
QaseGroupParameters: {},
|
|
139
142
|
};
|
|
140
143
|
if (meta[metadataEnum.oldID] !== undefined && meta[metadataEnum.oldID] !== '') {
|
|
141
144
|
const v = meta[metadataEnum.oldID].split(',');
|
|
@@ -156,5 +159,35 @@ class TestcafeQaseReporter {
|
|
|
156
159
|
}
|
|
157
160
|
return metadata;
|
|
158
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* @param {FixtureType} fixture
|
|
164
|
+
* @param {string} title
|
|
165
|
+
* @param {number[]} ids
|
|
166
|
+
* @param {Record<string, string>} parameters
|
|
167
|
+
* @private
|
|
168
|
+
*/
|
|
169
|
+
getSignature(fixture, title, ids, parameters) {
|
|
170
|
+
const executionPath = process.cwd() + '/';
|
|
171
|
+
const path = fixture.path?.replace(executionPath, '') ?? '';
|
|
172
|
+
let signature = '';
|
|
173
|
+
if (path != '') {
|
|
174
|
+
signature += path.split('/').join('::') + '::';
|
|
175
|
+
}
|
|
176
|
+
signature += fixture.name.toLowerCase()
|
|
177
|
+
.replace(/\s/g, '_')
|
|
178
|
+
+ '::'
|
|
179
|
+
+ title.toLowerCase()
|
|
180
|
+
.replace(/\s/g, '_');
|
|
181
|
+
if (ids.length > 0) {
|
|
182
|
+
signature += `::${ids.join('::')}`;
|
|
183
|
+
}
|
|
184
|
+
if (Object.keys(parameters).length > 0) {
|
|
185
|
+
signature += '::';
|
|
186
|
+
}
|
|
187
|
+
signature += Object.entries(parameters)
|
|
188
|
+
.map(([key, value]) => `{${key}:${value}}`)
|
|
189
|
+
.join('::');
|
|
190
|
+
return signature;
|
|
191
|
+
}
|
|
159
192
|
}
|
|
160
193
|
exports.TestcafeQaseReporter = TestcafeQaseReporter;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "testcafe-reporter-qase",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
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": "
|
|
43
|
+
"qase-javascript-commons": "~2.2.0",
|
|
44
44
|
"uuid": "^9.0.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|