@zohodesk/testinglibrary 0.4.81-n18-experimental → 0.4.82-n18-experimental
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/.gitlab-ci.yml +16 -1
- package/build/common/data-generator/steps/DataGenerator.spec.js +17 -10
- package/build/common/data-generator/steps/DataGeneratorStepsHelper.js +3 -3
- package/build/core/dataGenerator/DataGenerator.js +2 -0
- package/build/core/dataGenerator/DataGeneratorHelper.js +24 -12
- package/build/setup-folder-structure/samples/settings.json +1 -1
- package/npm-shrinkwrap.json +34 -35
- package/package.json +1 -2
package/.gitlab-ci.yml
CHANGED
|
@@ -160,4 +160,19 @@ uat-smoketest:
|
|
|
160
160
|
paths:
|
|
161
161
|
- examples/uat/playwright-report
|
|
162
162
|
|
|
163
|
-
|
|
163
|
+
uat-data_generator:
|
|
164
|
+
stage: uat
|
|
165
|
+
script:
|
|
166
|
+
- cd examples
|
|
167
|
+
- npm install $(npm pack ../../testing-framework | tail -1)
|
|
168
|
+
- output=$(npm run uat-data_generator)
|
|
169
|
+
- echo "$output"
|
|
170
|
+
- node ../ValidateUATReport.js examples
|
|
171
|
+
|
|
172
|
+
artifacts:
|
|
173
|
+
when: always
|
|
174
|
+
paths:
|
|
175
|
+
- examples/uat/playwright-report
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
// import { createBdd , test } from '@zohodesk/testinglibrary';
|
|
4
|
+
// import DataGenerator from '@zohodesk/testinglibrary/DataGenerator';
|
|
5
|
+
// import { generateAndCacheTestData } from './DataGeneratorStepsHelper';
|
|
6
|
+
|
|
7
|
+
// const { Given } = createBdd();
|
|
8
|
+
|
|
9
|
+
const {
|
|
10
|
+
createBdd
|
|
11
|
+
} = require("@zohodesk/testinglibrary");
|
|
12
|
+
const {
|
|
13
|
+
generateAndCacheTestData
|
|
14
|
+
} = require("./DataGeneratorStepsHelper");
|
|
7
15
|
const {
|
|
8
16
|
Given
|
|
9
|
-
} =
|
|
10
|
-
const dataGenerator = new _DataGenerator.default();
|
|
17
|
+
} = createBdd();
|
|
11
18
|
Given('generate a {string} entity {string} with generator {string}', async ({
|
|
12
19
|
page,
|
|
13
20
|
context,
|
|
@@ -15,7 +22,7 @@ Given('generate a {string} entity {string} with generator {string}', async ({
|
|
|
15
22
|
cacheLayer,
|
|
16
23
|
executionContext
|
|
17
24
|
}, module, entityName, generatorName, dataTable) => {
|
|
18
|
-
await
|
|
25
|
+
await generateAndCacheTestData(executionContext, "template", generatorName, dataTable, cacheLayer, entityName);
|
|
19
26
|
});
|
|
20
27
|
Given('generate a {string} entity {string} with API {string}', async ({
|
|
21
28
|
page,
|
|
@@ -24,7 +31,7 @@ Given('generate a {string} entity {string} with API {string}', async ({
|
|
|
24
31
|
cacheLayer,
|
|
25
32
|
executionContext
|
|
26
33
|
}, module, entityName, operationId, dataTable) => {
|
|
27
|
-
await
|
|
34
|
+
await generateAndCacheTestData(executionContext, "API", operationId, dataTable, cacheLayer, entityName);
|
|
28
35
|
});
|
|
29
36
|
Given('generate a {string} entity {string} with generator {string} using {string} profile', async ({
|
|
30
37
|
page,
|
|
@@ -33,7 +40,7 @@ Given('generate a {string} entity {string} with generator {string} using {string
|
|
|
33
40
|
cacheLayer,
|
|
34
41
|
executionContext
|
|
35
42
|
}, module, entityName, generatorName, profile, dataTable) => {
|
|
36
|
-
await
|
|
43
|
+
await generateAndCacheTestData(executionContext, "template", generatorName, dataTable, cacheLayer, entityName, profile);
|
|
37
44
|
});
|
|
38
45
|
Given('generate a {string} entity {string} with API {string} using {string} profile', async ({
|
|
39
46
|
page,
|
|
@@ -42,5 +49,5 @@ Given('generate a {string} entity {string} with API {string} using {string} prof
|
|
|
42
49
|
cacheLayer,
|
|
43
50
|
executionContext
|
|
44
51
|
}, module, entityName, operationId, profile, dataTable) => {
|
|
45
|
-
await
|
|
52
|
+
await generateAndCacheTestData(executionContext, "API", operationId, dataTable, cacheLayer, entityName, profile);
|
|
46
53
|
});
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.generateAndCacheTestData = generateAndCacheTestData;
|
|
8
7
|
var _testinglibrary = require("@zohodesk/testinglibrary");
|
|
9
|
-
|
|
10
|
-
const
|
|
8
|
+
// import DataGenerator from '@zohodesk/testinglibrary/DataGenerator';
|
|
9
|
+
const DataGenerator = require("@zohodesk/testinglibrary/DataGenerator").default;
|
|
10
|
+
const dataGenerator = new DataGenerator();
|
|
11
11
|
async function generateAndCacheTestData(executionContext, type, identifier, dataTable, cacheLayer, entityName, profile = null) {
|
|
12
12
|
let actorInfo;
|
|
13
13
|
const testInfo = _testinglibrary.test.info();
|
|
@@ -71,7 +71,9 @@ async function _generateAPIGenerator(operationId) {
|
|
|
71
71
|
}];
|
|
72
72
|
}
|
|
73
73
|
async function _constructApiPayload(scenarioName, processedGenerators, actorInfo) {
|
|
74
|
+
const orgOauth = actorInfo['org_oauth'] || {};
|
|
74
75
|
const dataGeneratorConfig = actorInfo['data-generator'] || {};
|
|
76
|
+
dataGeneratorConfig.account.org_oauth = orgOauth;
|
|
75
77
|
const apiPayload = {
|
|
76
78
|
scenario_name: scenarioName,
|
|
77
79
|
data_generation_templates: processedGenerators,
|
|
@@ -29,19 +29,31 @@ async function processGenerator(generators, dataTable) {
|
|
|
29
29
|
return generator;
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
-
async function makeRequest(url, payload) {
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
32
|
+
async function makeRequest(url, payload, timeoutMs = 30000) {
|
|
33
|
+
const controller = new AbortController();
|
|
34
|
+
const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
|
|
35
|
+
try {
|
|
36
|
+
const response = await fetch(url, {
|
|
37
|
+
method: 'POST',
|
|
38
|
+
headers: {
|
|
39
|
+
'Content-Type': 'application/json'
|
|
40
|
+
},
|
|
41
|
+
body: JSON.stringify(payload),
|
|
42
|
+
signal: controller.signal
|
|
43
|
+
});
|
|
44
|
+
clearTimeout(timeoutId);
|
|
45
|
+
if (!response.ok) {
|
|
46
|
+
const errorBody = await response.text();
|
|
47
|
+
throw new Error(`HTTP error! status: ${response.status}, body: ${errorBody}`);
|
|
48
|
+
}
|
|
49
|
+
return response.json();
|
|
50
|
+
} catch (error) {
|
|
51
|
+
clearTimeout(timeoutId);
|
|
52
|
+
if (error.name === 'AbortError') {
|
|
53
|
+
throw new Error(`Request timeout after ${timeoutMs}ms`);
|
|
54
|
+
}
|
|
55
|
+
throw error;
|
|
43
56
|
}
|
|
44
|
-
return response.json();
|
|
45
57
|
}
|
|
46
58
|
async function getGeneratorFilePath(featureFile) {
|
|
47
59
|
let generatorPath = featureFile.replace(".features-gen/", "");
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zohodesk/testinglibrary",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.82-n18-experimental",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@zohodesk/testinglibrary",
|
|
9
|
-
"version": "0.4.
|
|
9
|
+
"version": "0.4.82-n18-experimental",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "ISC",
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@babel/code-frame": "7.27.1",
|
|
14
14
|
"@babel/preset-react": "7.22.5",
|
|
15
|
-
"@babel/runtime": "^7.28.2",
|
|
16
15
|
"@cucumber/cucumber": "11.3.0",
|
|
17
16
|
"@playwright/test": "1.53.2",
|
|
18
17
|
"@reportportal/agent-js-playwright": "5.1.11",
|
|
@@ -2893,9 +2892,9 @@
|
|
|
2893
2892
|
}
|
|
2894
2893
|
},
|
|
2895
2894
|
"node_modules/@jest/expect-utils": {
|
|
2896
|
-
"version": "30.1.
|
|
2897
|
-
"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.1.
|
|
2898
|
-
"integrity": "sha512-
|
|
2895
|
+
"version": "30.1.2",
|
|
2896
|
+
"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.1.2.tgz",
|
|
2897
|
+
"integrity": "sha512-HXy1qT/bfdjCv7iC336ExbqqYtZvljrV8odNdso7dWK9bSeHtLlvwWWC3YSybSPL03Gg5rug6WLCZAZFH72m0A==",
|
|
2899
2898
|
"license": "MIT",
|
|
2900
2899
|
"dependencies": {
|
|
2901
2900
|
"@jest/get-type": "30.1.0"
|
|
@@ -5763,12 +5762,16 @@
|
|
|
5763
5762
|
}
|
|
5764
5763
|
},
|
|
5765
5764
|
"node_modules/escape-string-regexp": {
|
|
5766
|
-
"version": "
|
|
5767
|
-
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-
|
|
5768
|
-
"integrity": "sha512-
|
|
5765
|
+
"version": "4.0.0",
|
|
5766
|
+
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
|
|
5767
|
+
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
|
5769
5768
|
"license": "MIT",
|
|
5769
|
+
"peer": true,
|
|
5770
5770
|
"engines": {
|
|
5771
|
-
"node": ">=
|
|
5771
|
+
"node": ">=10"
|
|
5772
|
+
},
|
|
5773
|
+
"funding": {
|
|
5774
|
+
"url": "https://github.com/sponsors/sindresorhus"
|
|
5772
5775
|
}
|
|
5773
5776
|
},
|
|
5774
5777
|
"node_modules/escodegen": {
|
|
@@ -5883,19 +5886,6 @@
|
|
|
5883
5886
|
"url": "https://opencollective.com/eslint"
|
|
5884
5887
|
}
|
|
5885
5888
|
},
|
|
5886
|
-
"node_modules/eslint/node_modules/escape-string-regexp": {
|
|
5887
|
-
"version": "4.0.0",
|
|
5888
|
-
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
|
|
5889
|
-
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
|
5890
|
-
"license": "MIT",
|
|
5891
|
-
"peer": true,
|
|
5892
|
-
"engines": {
|
|
5893
|
-
"node": ">=10"
|
|
5894
|
-
},
|
|
5895
|
-
"funding": {
|
|
5896
|
-
"url": "https://github.com/sponsors/sindresorhus"
|
|
5897
|
-
}
|
|
5898
|
-
},
|
|
5899
5889
|
"node_modules/eslint/node_modules/find-up": {
|
|
5900
5890
|
"version": "5.0.0",
|
|
5901
5891
|
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
|
|
@@ -6074,14 +6064,14 @@
|
|
|
6074
6064
|
}
|
|
6075
6065
|
},
|
|
6076
6066
|
"node_modules/expect": {
|
|
6077
|
-
"version": "30.1.
|
|
6078
|
-
"resolved": "https://registry.npmjs.org/expect/-/expect-30.1.
|
|
6079
|
-
"integrity": "sha512-
|
|
6067
|
+
"version": "30.1.2",
|
|
6068
|
+
"resolved": "https://registry.npmjs.org/expect/-/expect-30.1.2.tgz",
|
|
6069
|
+
"integrity": "sha512-xvHszRavo28ejws8FpemjhwswGj4w/BetHIL8cU49u4sGyXDw2+p3YbeDbj6xzlxi6kWTjIRSTJ+9sNXPnF0Zg==",
|
|
6080
6070
|
"license": "MIT",
|
|
6081
6071
|
"dependencies": {
|
|
6082
|
-
"@jest/expect-utils": "30.1.
|
|
6072
|
+
"@jest/expect-utils": "30.1.2",
|
|
6083
6073
|
"@jest/get-type": "30.1.0",
|
|
6084
|
-
"jest-matcher-utils": "30.1.
|
|
6074
|
+
"jest-matcher-utils": "30.1.2",
|
|
6085
6075
|
"jest-message-util": "30.1.0",
|
|
6086
6076
|
"jest-mock": "30.0.5",
|
|
6087
6077
|
"jest-util": "30.0.5"
|
|
@@ -6239,6 +6229,15 @@
|
|
|
6239
6229
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
6240
6230
|
}
|
|
6241
6231
|
},
|
|
6232
|
+
"node_modules/figures/node_modules/escape-string-regexp": {
|
|
6233
|
+
"version": "1.0.5",
|
|
6234
|
+
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
|
6235
|
+
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
|
|
6236
|
+
"license": "MIT",
|
|
6237
|
+
"engines": {
|
|
6238
|
+
"node": ">=0.8.0"
|
|
6239
|
+
}
|
|
6240
|
+
},
|
|
6242
6241
|
"node_modules/file-entry-cache": {
|
|
6243
6242
|
"version": "8.0.0",
|
|
6244
6243
|
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
|
|
@@ -8035,9 +8034,9 @@
|
|
|
8035
8034
|
}
|
|
8036
8035
|
},
|
|
8037
8036
|
"node_modules/jest-diff": {
|
|
8038
|
-
"version": "30.1.
|
|
8039
|
-
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.1.
|
|
8040
|
-
"integrity": "sha512-
|
|
8037
|
+
"version": "30.1.2",
|
|
8038
|
+
"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.1.2.tgz",
|
|
8039
|
+
"integrity": "sha512-4+prq+9J61mOVXCa4Qp8ZjavdxzrWQXrI80GNxP8f4tkI2syPuPrJgdRPZRrfUTRvIoUwcmNLbqEJy9W800+NQ==",
|
|
8041
8040
|
"license": "MIT",
|
|
8042
8041
|
"dependencies": {
|
|
8043
8042
|
"@jest/diff-sequences": "30.0.1",
|
|
@@ -8356,14 +8355,14 @@
|
|
|
8356
8355
|
"license": "MIT"
|
|
8357
8356
|
},
|
|
8358
8357
|
"node_modules/jest-matcher-utils": {
|
|
8359
|
-
"version": "30.1.
|
|
8360
|
-
"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.1.
|
|
8361
|
-
"integrity": "sha512-
|
|
8358
|
+
"version": "30.1.2",
|
|
8359
|
+
"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.1.2.tgz",
|
|
8360
|
+
"integrity": "sha512-7ai16hy4rSbDjvPTuUhuV8nyPBd6EX34HkBsBcBX2lENCuAQ0qKCPb/+lt8OSWUa9WWmGYLy41PrEzkwRwoGZQ==",
|
|
8362
8361
|
"license": "MIT",
|
|
8363
8362
|
"dependencies": {
|
|
8364
8363
|
"@jest/get-type": "30.1.0",
|
|
8365
8364
|
"chalk": "^4.1.2",
|
|
8366
|
-
"jest-diff": "30.1.
|
|
8365
|
+
"jest-diff": "30.1.2",
|
|
8367
8366
|
"pretty-format": "30.0.5"
|
|
8368
8367
|
},
|
|
8369
8368
|
"engines": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zohodesk/testinglibrary",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.82-n18-experimental",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@babel/code-frame": "7.27.1",
|
|
26
26
|
"@babel/preset-react": "7.22.5",
|
|
27
|
-
"@babel/runtime": "^7.28.2",
|
|
28
27
|
"@cucumber/cucumber": "11.3.0",
|
|
29
28
|
"@playwright/test": "1.53.2",
|
|
30
29
|
"@reportportal/agent-js-playwright": "5.1.11",
|