@zohodesk/testinglibrary 0.0.34-n20-experimental → 0.0.36-n20-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 CHANGED
@@ -55,7 +55,7 @@ uat-auth:
55
55
  artifacts:
56
56
  when: always
57
57
  paths:
58
- - examples/uat/playwright-report
58
+ - examples/test-slices/uat/playwright-report
59
59
 
60
60
  uat-noauth:
61
61
  stage: uat
@@ -69,7 +69,7 @@ uat-noauth:
69
69
  artifacts:
70
70
  when: always
71
71
  paths:
72
- - examples/uat/playwright-report
72
+ - examples/test-slices/uat/playwright-report
73
73
 
74
74
  uat-profile:
75
75
  stage: uat
@@ -83,7 +83,7 @@ uat-profile:
83
83
  artifacts:
84
84
  when: always
85
85
  paths:
86
- - examples/uat/playwright-report
86
+ - examples/test-slices/uat/playwright-report
87
87
 
88
88
 
89
89
  uat-unauth:
@@ -99,7 +99,7 @@ uat-unauth:
99
99
  artifacts:
100
100
  when: always
101
101
  paths:
102
- - examples/uat/playwright-report
102
+ - examples/test-slices/uat/playwright-report
103
103
 
104
104
  uat-nobdd:
105
105
  stage: uat
@@ -114,7 +114,7 @@ uat-nobdd:
114
114
  artifacts:
115
115
  when: always
116
116
  paths:
117
- - nobdd/uat/playwright-report
117
+ - nobdd/test-slices/uat/playwright-report
118
118
 
119
119
 
120
120
  uatmodule:
@@ -130,7 +130,7 @@ uatmodule:
130
130
  artifacts:
131
131
  when: always
132
132
  paths:
133
- - examples/uat/playwright-report
133
+ - examples/test-slices/uat/playwright-report
134
134
 
135
135
  uatconfigmodule:
136
136
  stage: uat
@@ -144,7 +144,7 @@ uatconfigmodule:
144
144
  artifacts:
145
145
  when: always
146
146
  paths:
147
- - examples/uat/playwright-report
147
+ - examples/test-slices/uat/playwright-report
148
148
 
149
149
  uat-smoketest:
150
150
  stage: uat
@@ -158,7 +158,7 @@ uat-smoketest:
158
158
  artifacts:
159
159
  when: always
160
160
  paths:
161
- - examples/uat/playwright-report
161
+ - examples/test-slices/uat/playwright-report
162
162
 
163
163
  uat-multiactor:
164
164
  stage: uat
@@ -172,7 +172,7 @@ uat-multiactor:
172
172
  artifacts:
173
173
  when: always
174
174
  paths:
175
- - examples/uat/playwright-report
175
+ - examples/test-slices/uat/playwright-report
176
176
 
177
177
  uat-data_generator:
178
178
  stage: uat
@@ -186,7 +186,7 @@ uat-data_generator:
186
186
  artifacts:
187
187
  when: always
188
188
  paths:
189
- - examples/uat/playwright-report
189
+ - examples/test-slices/uat/playwright-report
190
190
 
191
191
  uat-search_indexing:
192
192
  stage: uat
@@ -202,7 +202,4 @@ uat-search_indexing:
202
202
  artifacts:
203
203
  when: always
204
204
  paths:
205
- - examples/uat/playwright-report
206
-
207
-
208
-
205
+ - examples/test-slices/uat/playwright-report
package/README.md CHANGED
@@ -17,6 +17,11 @@
17
17
 
18
18
  - npm run report
19
19
 
20
+ ### v4.1.1/v3.3.0 - 28-01-2026
21
+
22
+ #### Features
23
+ - Supported E2E configuration in testing-framework
24
+
20
25
  ### v4.0.6/v3.2.21 - 22-01-2026
21
26
 
22
27
  #### Bug fix
@@ -27,19 +32,16 @@
27
32
  #### Bug fix
28
33
  - @cucumber/cucumber depedency removed from testing-framework package.json
29
34
 
30
-
31
35
  ### v4.0.4/v3.2.20 - 19-12-2025
32
36
 
33
37
  #### Enhancement
34
38
  - New common step provided for search index with the data generated entity
35
39
 
36
-
37
40
  ### v4.0.3/v3.2.19 - 17-12-2025
38
41
 
39
42
  #### Enhancement
40
43
  - Cookie storage prefix support is provided in this version.
41
44
 
42
-
43
45
  ### v4.0.2 - 16-12-2025
44
46
 
45
47
  #### Bug Fixes
@@ -10,6 +10,9 @@ var _fileUtils = require("../../utils/fileUtils");
10
10
  var _logger = require("../../utils/logger");
11
11
  var _readConfigFile = require("./readConfigFile");
12
12
  var _checkAuthDirectory = require("./helpers/checkAuthDirectory");
13
+ var _configConstants = _interopRequireDefault(require("./constants/configConstants"));
14
+ var _ConfigurationHelper = require("./configuration/ConfigurationHelper");
15
+ const stage = (0, _ConfigurationHelper.getRunStage)();
13
16
  function deleteAuthFiles(authFilePath) {
14
17
  authFilePath = _path.default.resolve(process.cwd(), authFilePath);
15
18
  const authFileFolder = _path.default.dirname(authFilePath);
@@ -21,7 +24,7 @@ function deletePlaywrightReport(reportPath) {
21
24
  (0, _fileUtils.deleteFolder)(reportPath);
22
25
  }
23
26
  function deleteGeneratedFeatures() {
24
- const featuresGenPath = _path.default.resolve(process.cwd(), 'uat', '.features-gen');
27
+ const featuresGenPath = _path.default.resolve(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, stage, '.features-gen');
25
28
  _logger.Logger.log(_logger.Logger.INFO_TYPE, `Deleting generated features at ${featuresGenPath}`);
26
29
  (0, _fileUtils.deleteFolder)(featuresGenPath);
27
30
  }
@@ -43,7 +46,7 @@ function clearCaches() {
43
46
  _logger.Logger.log(_logger.Logger.SUCCESS_TYPE, 'Caches Cleared. Now you can try running npm run uat');
44
47
  } catch (err) {
45
48
  _logger.Logger.error(err);
46
- _logger.Logger.log(_logger.Logger.FAILURE_TYPE, 'Error While clearing cookies. Try manually delete folder uat/playwright and uat/playwright-report');
49
+ _logger.Logger.log(_logger.Logger.FAILURE_TYPE, `Error While clearing cookies. Try manually delete folder ${_configConstants.default.TEST_SLICE_FOLDER}/playwright and ${_configConstants.default.TEST_SLICE_FOLDER}/playwright-report`);
47
50
  }
48
51
  }
49
52
  var _default = exports.default = clearCaches;
@@ -1,9 +1,5 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
3
  class configConstants {
8
4
  static DEFAULT_CONFIG_DIR = 'default';
9
5
  static BETA_DIR = 'beta';
@@ -12,6 +8,7 @@ class configConstants {
12
8
  static INDEX_FILE = 'index.js';
13
9
  static SETTINGS_FILE = 'settings.json';
14
10
  static TEST_SUMMARY_FILE = 'test-summary.json';
15
- static STAGE_CONFIG_MAP_FILE = 'uat/conf_path_map.properties';
11
+ static STAGE_CONFIG_MAP_FILE = 'test-slices/conf_path_map.properties';
12
+ static TEST_SLICE_FOLDER = 'test-slices';
16
13
  }
17
- exports.default = configConstants;
14
+ module.exports = configConstants;
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
8
+ var _configConstants = _interopRequireDefault(require("./configConstants"));
9
+ var _ConfigurationHelper = require("../configuration/ConfigurationHelper");
10
+ const stage = (0, _ConfigurationHelper.getRunStage)();
7
11
  class ReporterConstants {
8
- static DEFAULT_REPORTER_PATH = 'uat/test-results/playwright-test-results.json';
9
- static LAST_RUN_REPORTER_PATH = 'uat/test-results/.last-run.json';
12
+ static DEFAULT_REPORTER_PATH = `${_configConstants.default.TEST_SLICE_FOLDER}/${stage}/test-results/playwright-test-results.json`;
13
+ static LAST_RUN_REPORTER_PATH = `${_configConstants.default.TEST_SLICE_FOLDER}/${stage}/test-results/.last-run.json`;
10
14
  }
11
15
  exports.default = ReporterConstants;
@@ -34,6 +34,12 @@ Object.defineProperty(exports, "getRunMode", {
34
34
  return _getUsers.getRunMode;
35
35
  }
36
36
  });
37
+ Object.defineProperty(exports, "getRunStage", {
38
+ enumerable: true,
39
+ get: function () {
40
+ return _ConfigurationHelper.getRunStage;
41
+ }
42
+ });
37
43
  Object.defineProperty(exports, "getUserForSelectedEditionAndProfile", {
38
44
  enumerable: true,
39
45
  get: function () {
@@ -73,4 +79,5 @@ Object.defineProperty(exports, "verifyIfCookieFileExists", {
73
79
  var _accountLogin = _interopRequireDefault(require("./accountLogin"));
74
80
  var _checkAuthCookies = require("./checkAuthCookies");
75
81
  var _getUsers = require("./getUsers");
76
- var _loginSteps = _interopRequireDefault(require("./loginSteps"));
82
+ var _loginSteps = _interopRequireDefault(require("./loginSteps"));
83
+ var _ConfigurationHelper = require("../../configuration/ConfigurationHelper");
@@ -17,6 +17,8 @@ var _Configuration = _interopRequireDefault(require("./configuration/Configurati
17
17
  var _UserArgs = _interopRequireDefault(require("./configuration/UserArgs"));
18
18
  var _ConfigurationHelper = require("./configuration/ConfigurationHelper");
19
19
  var _auth = require("./helpers/auth");
20
+ var _configConstants = _interopRequireDefault(require("./constants/configConstants"));
21
+ const stage = (0, _ConfigurationHelper.getRunStage)();
20
22
  let cachedConfig = null;
21
23
  function getPrimaryCookiePath() {
22
24
  const {
@@ -24,12 +26,12 @@ function getPrimaryCookiePath() {
24
26
  } = (0, _auth.getDefaultActor)();
25
27
  const authFilePrefix = process.env.authFilePrefix;
26
28
  let authFileName = authFilePrefix ? `${authFilePrefix}-${email}` : `${email}`;
27
- return `uat/playwright/.auth/${authFileName}-cookies.json`;
29
+ return `${_configConstants.default.TEST_SLICE_FOLDER}/${stage}/playwright/.auth/${authFileName}-cookies.json`;
28
30
  }
29
31
  function getDefaultConfig() {
30
32
  return {
31
33
  isTearDown: true,
32
- uatDirectory: _path.default.join(process.cwd(), 'uat'),
34
+ uatDirectory: _path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, stage),
33
35
  headless: false,
34
36
  browsers: ['Chrome'],
35
37
  forbidOnly: false,
@@ -38,7 +40,7 @@ function getDefaultConfig() {
38
40
  video: false,
39
41
  isAuthMode: false,
40
42
  openReportOn: 'never',
41
- reportPath: _path.default.join(process.cwd(), 'uat', 'playwright-report'),
43
+ reportPath: _path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, stage, 'playwright-report'),
42
44
  bddMode: false,
43
45
  expectTimeout: 5 * 1000,
44
46
  testTimeout: 60 * 1000,
@@ -6,14 +6,46 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = generateReport;
8
8
  var _child_process = require("child_process");
9
+ var _fs = require("fs");
9
10
  var _path = _interopRequireDefault(require("path"));
11
+ var _os = require("os");
10
12
  var _logger = require("../../utils/logger");
11
13
  var _rootPath = require("../../utils/rootPath");
12
14
  var _readConfigFile = require("./readConfigFile");
13
- async function generateReport() {
15
+ async function generateReport(reportType) {
16
+ if (reportType === 'unit-test') {
17
+ return openUnitTestReport();
18
+ }
19
+ return openPlaywrightReport(reportType);
20
+ }
21
+ function openUnitTestReport() {
22
+ const userArgs = process.argv.slice(3);
23
+ const cwd = process.cwd();
24
+
25
+ // Allow overriding via --reportPath=<path> argument
26
+ const reportPathArg = userArgs.find(arg => arg.startsWith('--reportPath='));
27
+
28
+ // Candidate paths in priority order
29
+ const candidates = [_path.default.resolve(cwd, 'unit_reports', 'report.html'), _path.default.resolve(cwd, 'test-slices', 'unit-test', 'unit_reports', 'report.html')];
30
+ const reportPath = reportPathArg ? _path.default.resolve(reportPathArg.split('=')[1]) : candidates.find(p => (0, _fs.existsSync)(p)) || candidates[0];
31
+ if (!(0, _fs.existsSync)(reportPath)) {
32
+ _logger.Logger.log(_logger.Logger.FAILURE_TYPE, `Unit test report not found at: ${reportPath}\nRun unit tests first using "ZDTestingFramework unit-test" to generate the report.`);
33
+ process.exit(1);
34
+ }
35
+ _logger.Logger.log(_logger.Logger.SUCCESS_TYPE, `Opening unit test report: ${reportPath}`);
36
+ const os = (0, _os.platform)();
37
+ const openCommand = os === 'darwin' ? 'open' : os === 'win32' ? 'start' : 'xdg-open';
38
+ (0, _child_process.exec)(`${openCommand} "${reportPath}"`, error => {
39
+ if (error) {
40
+ _logger.Logger.log(_logger.Logger.FAILURE_TYPE, `Failed to open report: ${error.message}`);
41
+ }
42
+ process.exit();
43
+ });
44
+ }
45
+ function openPlaywrightReport(reportType) {
14
46
  // await preProcessReport()
15
47
  const userArgs = process.argv.slice(3);
16
- const playwrightPath = _path.default.resolve((0, _rootPath.getExecutableBinaryPath)('playwright'));
48
+ const playwrightPath = _path.default.resolve((0, _rootPath.getExecutableBinaryPath)(reportType));
17
49
  const command = playwrightPath;
18
50
  const {
19
51
  reportPath: htmlPath
@@ -11,6 +11,9 @@ var _path = _interopRequireDefault(require("path"));
11
11
  var _Project = require("./Project");
12
12
  var _configUtils = require("./config-utils");
13
13
  var _readConfigFile = require("../readConfigFile");
14
+ var _configConstants = _interopRequireDefault(require("../constants/configConstants"));
15
+ var _ConfigurationHelper = require("../configuration/ConfigurationHelper");
16
+ const stage = (0, _ConfigurationHelper.getRunStage)();
14
17
  const uatConfig = (0, _readConfigFile.generateConfigFromFile)();
15
18
  const {
16
19
  isAuthMode,
@@ -25,7 +28,7 @@ const {
25
28
  function setupConfig() {
26
29
  const setupProject = new _Project.Project('setup');
27
30
  setupProject.setTestMatch(/.*\.setup\.js/);
28
- setupProject.setTestDir(_path.default.join(process.cwd(), 'uat'));
31
+ setupProject.setTestDir(_path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER));
29
32
  const isTearDown = JSON.parse(process.env.tearDown);
30
33
  setupProject.setTearDown(isTearDown ? 'cleanup' : '');
31
34
  const setupProjectConfig = [setupProject.getProperties()];
@@ -34,10 +37,10 @@ function setupConfig() {
34
37
  function smokeTestConfig() {
35
38
  const smokeTestProject = new _Project.Project('smokeTest');
36
39
  const smokeTestDir = (0, _configUtils.getTestDir)(bddMode, {
37
- featureFilesFolder: _path.default.join(process.cwd(), 'uat', 'smokeTest', '**', '*.feature'),
38
- stepDefinitionsFolder: _path.default.join(process.cwd(), 'uat', '**', 'steps', '*.spec.js'),
39
- outputDir: _path.default.join(process.cwd(), 'uat', '.features-smoke-gen'),
40
- uatPath: _path.default.join(process.cwd(), 'uat', 'smokeTest')
40
+ featureFilesFolder: _path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, stage, 'smokeTest', '**', '*.feature'),
41
+ stepDefinitionsFolder: _path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, '**', '**', 'steps', '*.spec.js'),
42
+ outputDir: _path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, stage, '.features-smoke-gen'),
43
+ uatPath: _path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, stage, 'smokeTest')
41
44
  });
42
45
  const commonConfig = {
43
46
  storageState: isAuthMode ? (0, _readConfigFile.getAuthFilePath)(_path.default.resolve(process.cwd(), authFilePath)) : {}
@@ -51,30 +54,10 @@ function smokeTestConfig() {
51
54
  const smokeTestProjectConfig = [smokeTestProject.getProperties()];
52
55
  return smokeTestProjectConfig;
53
56
  }
54
- function defaultConfig() {
55
- const defaultProject = new _Project.Project('default');
56
- const testDir = (0, _configUtils.getTestDir)(bddMode, {
57
- featureFilesFolder: (0, _configUtils.getPathsForFeatureFiles)(process.cwd()),
58
- stepDefinitionsFolder: _path.default.join(process.cwd(), 'uat', '**', 'steps', '*.spec.js'),
59
- outputDir: _path.default.join(process.cwd(), 'uat', '.features-gen'),
60
- uatPath: _path.default.join(process.cwd(), 'uat')
61
- });
62
- const use = {
63
- trace,
64
- video,
65
- viewport,
66
- testIdAttribute
67
- };
68
- defaultProject.setUse(use);
69
- defaultProject.setTestDir(testDir);
70
- defaultProject.setDependencies(isSmokeTest ? ['smokeTest'] : []);
71
- const defaultProjectConfig = [defaultProject.getProperties()];
72
- return defaultProjectConfig;
73
- }
74
57
  function cleanupConfig() {
75
58
  const cleanupProject = new _Project.Project('cleanup');
76
59
  cleanupProject.setTestMatch(/.*\.teardown\.js/);
77
- cleanupProject.setTestDir(_path.default.join(process.cwd(), 'uat'));
60
+ cleanupProject.setTestDir(_path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER));
78
61
  const cleanupProjectConfig = [cleanupProject.getProperties()];
79
62
  return cleanupProjectConfig;
80
63
  }
@@ -10,7 +10,10 @@ var _path = _interopRequireDefault(require("path"));
10
10
  var _readConfigFile = require("../readConfigFile");
11
11
  var _configUtils = require("./config-utils");
12
12
  var _ProjectConfiguration = require("./ProjectConfiguration");
13
+ var _ConfigurationHelper = require("../configuration/ConfigurationHelper");
14
+ var _configConstants = _interopRequireDefault(require("../constants/configConstants"));
13
15
  const uatConfig = (0, _readConfigFile.generateConfigFromFile)();
16
+ const stage = (0, _ConfigurationHelper.getRunStage)();
14
17
  const {
15
18
  bddMode,
16
19
  browsers,
@@ -41,7 +44,7 @@ let reporter = [['html', {
41
44
  outputFolder: reportPath,
42
45
  open: openReportOn
43
46
  }], ['list'], ['json', {
44
- outputFile: _path.default.join(process.cwd(), 'uat', 'test-results', 'playwright-test-results.json')
47
+ outputFile: _path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, stage, 'test-results', 'playwright-test-results.json')
45
48
  }], ['./custom-reporter.js'], ['./qc-custom-reporter.js']];
46
49
  if (customReporter) {
47
50
  reporter = [customReporter, ...reporter];
@@ -61,9 +64,9 @@ const use = {
61
64
  };
62
65
  const testDir = (0, _configUtils.getTestDir)(bddMode, {
63
66
  featureFilesFolder: (0, _configUtils.getPathsForFeatureFiles)(process.cwd()),
64
- stepDefinitionsFolder: _path.default.join(process.cwd(), 'uat', '**', 'steps', '*.spec.js'),
65
- outputDir: _path.default.join(process.cwd(), 'uat', '.features-gen'),
66
- uatPath: _path.default.join(process.cwd(), 'uat')
67
+ stepDefinitionsFolder: _path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, '**', '**', 'steps', '*.spec.js'),
68
+ outputDir: _path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, stage, '.features-gen'),
69
+ uatPath: _path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, stage)
67
70
  });
68
71
  function getPlaywrightConfig() {
69
72
  const smokeTestProject = isSmokeTest ? (0, _ProjectConfiguration.smokeTestConfig)() : [];
@@ -73,7 +76,7 @@ function getPlaywrightConfig() {
73
76
  const playwrightConfig = {
74
77
  testDir,
75
78
  globalTimeout: globalTimeout || 3600000,
76
- outputDir: _path.default.join(process.cwd(), 'uat', 'test-results'),
79
+ outputDir: _path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, stage, 'test-results'),
77
80
  fullyParallel: true,
78
81
  reporter,
79
82
  timeout: testTimeout,
@@ -16,11 +16,14 @@ var _playwrightBdd = require("playwright-bdd");
16
16
  var _logger = require("../../../utils/logger");
17
17
  var _browserTypes = require("../constants/browserTypes");
18
18
  var _fileUtils = require("../../../utils/fileUtils");
19
+ var _ConfigurationHelper = require("../configuration/ConfigurationHelper");
20
+ var _configConstants = _interopRequireDefault(require("../constants/configConstants"));
19
21
  /**
20
22
  ** Playwright project configuration
21
23
  * @returns {import('@playwright/test').Project}
22
24
  */
23
25
 
26
+ const stage = (0, _ConfigurationHelper.getRunStage)();
24
27
  function getBrowserConfig({
25
28
  browserName,
26
29
  isAuthMode,
@@ -142,7 +145,8 @@ function getPathsForFeatureFiles(cwd) {
142
145
  const {
143
146
  failed = []
144
147
  } = JSON.parse(testSummary);
145
- const casesToRun = failed.map(filePath => _path.default.join(cwd, 'uat', filePath.replace(/\.spec\.js$|\.js$/, '')));
148
+ const casesToRun = failed.map(filePath => _path.default.join(cwd, _configConstants.default.TEST_SLICE_FOLDER, filePath.replace(/\.spec\.js$|\.js$/, '')));
149
+ ;
146
150
  return casesToRun;
147
151
  } else {
148
152
  _logger.Logger.log(_logger.Logger.INFO_TYPE, `Unable to read test summary from the ${reportPath}. Verify If File Exists in the path`);
@@ -153,12 +157,12 @@ function getPathsForFeatureFiles(cwd) {
153
157
  let moduleList = modules.split(',');
154
158
  return getModulePathForFeatureFiles(moduleList);
155
159
  }
156
- return [_path.default.join(cwd, 'uat', 'modules', '**', '*.feature')];
160
+ return [_path.default.join(cwd, _configConstants.default.TEST_SLICE_FOLDER, stage, 'modules', '**', 'feature-files', '*.feature')];
157
161
  }
158
162
  function getModulePathForFeatureFiles(moduleList) {
159
163
  let validModuleList = [];
160
164
  moduleList.forEach(moduleName => {
161
- let modulePath = _path.default.join(process.cwd(), 'uat', 'modules', '**', `${moduleName}`);
165
+ let modulePath = _path.default.join(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, '**', 'modules', '**', `${moduleName}`);
162
166
  if ((0, _fileUtils.checkIfFolderExistsWithPattern)(modulePath)) {
163
167
  validModuleList.push(_path.default.join(modulePath, '**', '*.feature'));
164
168
  } else {
@@ -8,11 +8,14 @@ exports.default = void 0;
8
8
  var _fs = _interopRequireDefault(require("fs"));
9
9
  var _path = _interopRequireDefault(require("path"));
10
10
  var _codeFrame = require("@babel/code-frame");
11
+ var _configConstants = _interopRequireDefault(require("../constants/configConstants"));
12
+ var _ConfigurationHelper = require("../configuration/ConfigurationHelper");
13
+ const stage = (0, _ConfigurationHelper.getRunStage)();
11
14
  class CustomJsonReporter {
12
15
  constructor({
13
16
  outputFile = 'test-results.json'
14
17
  } = {}) {
15
- this.outputFile = _path.default.resolve(process.cwd(), 'uat/test-results/', outputFile);
18
+ this.outputFile = _path.default.resolve(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, stage, 'test-results/', outputFile);
16
19
  this.rootSuite = null;
17
20
  this.report = {
18
21
  config: {},
@@ -8,15 +8,11 @@ exports.default = void 0;
8
8
  exports.runPreprocessing = runPreprocessing;
9
9
  var _child_process = require("child_process");
10
10
  var _path = _interopRequireDefault(require("path"));
11
- var _customCommands = require("./custom-commands");
12
- var _cliArgsToObject = require("../../utils/cliArgsToObject");
13
11
  var _envInitializer = require("./env-initializer");
14
12
  var _logger = require("../../utils/logger");
15
13
  var _readConfigFile = require("./readConfigFile");
16
14
  var _rootPath = require("../../utils/rootPath");
17
15
  var _tagProcessor = _interopRequireDefault(require("./tagProcessor"));
18
- var _configUtils = require("./setup/config-utils");
19
- var _browserTypes = require("./constants/browserTypes");
20
16
  var _ConfigurationHelper = require("./configuration/ConfigurationHelper");
21
17
  var _Configuration = _interopRequireDefault(require("./configuration/Configuration"));
22
18
  var _UserArgs = _interopRequireDefault(require("./configuration/UserArgs"));
package/build/index.js CHANGED
@@ -40,6 +40,12 @@ Object.defineProperty(exports, "getRunMode", {
40
40
  return _index.getRunMode;
41
41
  }
42
42
  });
43
+ Object.defineProperty(exports, "getRunStage", {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _index.getRunStage;
47
+ }
48
+ });
43
49
  Object.defineProperty(exports, "getUserForSelectedEditionAndProfile", {
44
50
  enumerable: true,
45
51
  get: function () {
package/build/lib/cli.js CHANGED
@@ -44,8 +44,14 @@ switch (option) {
44
44
  }
45
45
  case 'report':
46
46
  {
47
- _logger.Logger.log(_logger.Logger.SUCCESS_TYPE, 'Generating Reports...');
48
- (0, _reportGenerator.default)();
47
+ _logger.Logger.log(_logger.Logger.SUCCESS_TYPE, 'Generating UAT Reports...');
48
+ (0, _reportGenerator.default)('playwright');
49
+ break;
50
+ }
51
+ case 'ut-report':
52
+ {
53
+ _logger.Logger.log(_logger.Logger.SUCCESS_TYPE, 'Generating Unit Test Reports...');
54
+ (0, _reportGenerator.default)('unit-test');
49
55
  break;
50
56
  }
51
57
  case 'codegen':
@@ -75,7 +81,6 @@ switch (option) {
75
81
  case 'help':
76
82
  default:
77
83
  {
78
- console.log(`Unknown command: ${option}`);
79
84
  (0, _helper.default)();
80
85
  break;
81
86
  }
@@ -7,11 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.copyCommonSpecs = copyCommonSpecs;
8
8
  var _fileUtils = require("./fileUtils");
9
9
  var _path = _interopRequireDefault(require("path"));
10
+ var _configConstants = _interopRequireDefault(require("../core/playwright/constants/configConstants"));
11
+ var _ConfigurationHelper = require("../core/playwright/configuration/ConfigurationHelper");
12
+ const stage = (0, _ConfigurationHelper.getRunStage)();
10
13
  function copyCommonSpecs() {
11
14
  const libraryPath = require.resolve("@zohodesk/testinglibrary");
12
15
  // libraryPath will be build/index.js to go to the common specs we need to go one level up
13
16
  const commonSpecPath = _path.default.resolve(libraryPath, '../', 'common');
14
- const destDirectory = _path.default.resolve(process.cwd(), 'uat', 'modules', '.testingLib-common');
17
+ const destDirectory = _path.default.resolve(process.cwd(), _configConstants.default.TEST_SLICE_FOLDER, stage, 'modules', '.testingLib-common');
15
18
  (0, _fileUtils.deleteFolder)(destDirectory);
16
19
  (0, _fileUtils.copyDirectory)(commonSpecPath, destDirectory);
17
20
  }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@zohodesk/testinglibrary",
3
- "version": "0.0.34-n20-experimental",
3
+ "version": "0.0.36-n20-experimental",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@zohodesk/testinglibrary",
9
- "version": "0.0.34-n20-experimental",
9
+ "version": "0.0.36-n20-experimental",
10
10
  "hasInstallScript": true,
11
11
  "license": "ISC",
12
12
  "dependencies": {
@@ -15,7 +15,7 @@
15
15
  "@playwright/test": "1.56.1",
16
16
  "@reportportal/agent-js-playwright": "5.2.2",
17
17
  "@testing-library/jest-dom": "6.9.1",
18
- "@zohodesk/unit-testing-framework": "0.0.5-experimental",
18
+ "@zohodesk/unit-testing-framework": "0.0.13-experimental",
19
19
  "babel-jest": "30.2.0",
20
20
  "babel-plugin-transform-dynamic-import": "2.1.0",
21
21
  "fast-glob": "3.3.3",
@@ -32,12 +32,12 @@
32
32
  "ZDTestingFramework": "bin/cli.js"
33
33
  },
34
34
  "devDependencies": {
35
- "@babel/cli": "7.28.3",
36
- "@babel/core": "7.28.4",
37
- "@babel/node": "7.28.0",
35
+ "@babel/cli": "7.28.6",
36
+ "@babel/core": "7.29.0",
37
+ "@babel/node": "7.29.0",
38
38
  "@babel/plugin-transform-runtime": "7.28.3",
39
- "@babel/preset-env": "7.28.3",
40
- "@babel/runtime": "7.28.4",
39
+ "@babel/preset-env": "7.29.0",
40
+ "@babel/runtime": "7.28.6",
41
41
  "commander": "14.0.2",
42
42
  "jest-html-reporter": "4.3.0"
43
43
  },
@@ -73,9 +73,9 @@
73
73
  "license": "ISC"
74
74
  },
75
75
  "node_modules/@babel/cli": {
76
- "version": "7.28.3",
77
- "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.28.3.tgz",
78
- "integrity": "sha512-n1RU5vuCX0CsaqaXm9I0KUCNKNQMy5epmzl/xdSSm70bSqhg9GWhgeosypyQLc0bK24+Xpk1WGzZlI9pJtkZdg==",
76
+ "version": "7.28.6",
77
+ "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.28.6.tgz",
78
+ "integrity": "sha512-6EUNcuBbNkj08Oj4gAZ+BUU8yLCgKzgVX4gaTh09Ya2C8ICM4P+G30g4m3akRxSYAp3A/gnWchrNst7px4/nUQ==",
79
79
  "dev": true,
80
80
  "license": "MIT",
81
81
  "dependencies": {
@@ -136,20 +136,20 @@
136
136
  }
137
137
  },
138
138
  "node_modules/@babel/core": {
139
- "version": "7.28.4",
140
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz",
141
- "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==",
139
+ "version": "7.29.0",
140
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz",
141
+ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
142
142
  "license": "MIT",
143
143
  "dependencies": {
144
- "@babel/code-frame": "^7.27.1",
145
- "@babel/generator": "^7.28.3",
146
- "@babel/helper-compilation-targets": "^7.27.2",
147
- "@babel/helper-module-transforms": "^7.28.3",
148
- "@babel/helpers": "^7.28.4",
149
- "@babel/parser": "^7.28.4",
150
- "@babel/template": "^7.27.2",
151
- "@babel/traverse": "^7.28.4",
152
- "@babel/types": "^7.28.4",
144
+ "@babel/code-frame": "^7.29.0",
145
+ "@babel/generator": "^7.29.0",
146
+ "@babel/helper-compilation-targets": "^7.28.6",
147
+ "@babel/helper-module-transforms": "^7.28.6",
148
+ "@babel/helpers": "^7.28.6",
149
+ "@babel/parser": "^7.29.0",
150
+ "@babel/template": "^7.28.6",
151
+ "@babel/traverse": "^7.29.0",
152
+ "@babel/types": "^7.29.0",
153
153
  "@jridgewell/remapping": "^2.3.5",
154
154
  "convert-source-map": "^2.0.0",
155
155
  "debug": "^4.1.0",
@@ -165,6 +165,20 @@
165
165
  "url": "https://opencollective.com/babel"
166
166
  }
167
167
  },
168
+ "node_modules/@babel/core/node_modules/@babel/code-frame": {
169
+ "version": "7.29.0",
170
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
171
+ "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
172
+ "license": "MIT",
173
+ "dependencies": {
174
+ "@babel/helper-validator-identifier": "^7.28.5",
175
+ "js-tokens": "^4.0.0",
176
+ "picocolors": "^1.1.1"
177
+ },
178
+ "engines": {
179
+ "node": ">=6.9.0"
180
+ }
181
+ },
168
182
  "node_modules/@babel/generator": {
169
183
  "version": "7.29.1",
170
184
  "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
@@ -438,15 +452,15 @@
438
452
  }
439
453
  },
440
454
  "node_modules/@babel/node": {
441
- "version": "7.28.0",
442
- "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.28.0.tgz",
443
- "integrity": "sha512-6u1Mmn3SIMUH8uwTq543L062X3JDgms9HPf06o/pIGdDjeD/zNQ+dfZPQD27sCyvtP0ZOlJtwnl2RIdPe9bHeQ==",
455
+ "version": "7.29.0",
456
+ "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.29.0.tgz",
457
+ "integrity": "sha512-9UeU8F3rx2lOZXneEW2HTnTYdA8+fXP0kr54tk7d0fPomWNlZ6WJ2H9lunr5dSvr8FNY0CDnop3Km6jZ5NAUsQ==",
444
458
  "dev": true,
445
459
  "license": "MIT",
446
460
  "dependencies": {
447
- "@babel/register": "^7.27.1",
461
+ "@babel/register": "^7.28.6",
448
462
  "commander": "^6.2.0",
449
- "core-js": "^3.30.2",
463
+ "core-js": "^3.48.0",
450
464
  "node-environment-flags": "^1.0.5",
451
465
  "regenerator-runtime": "^0.14.0",
452
466
  "v8flags": "^3.1.1"
@@ -1734,81 +1748,80 @@
1734
1748
  }
1735
1749
  },
1736
1750
  "node_modules/@babel/preset-env": {
1737
- "version": "7.28.3",
1738
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz",
1739
- "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==",
1740
- "dev": true,
1751
+ "version": "7.29.0",
1752
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.0.tgz",
1753
+ "integrity": "sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==",
1741
1754
  "license": "MIT",
1742
1755
  "dependencies": {
1743
- "@babel/compat-data": "^7.28.0",
1744
- "@babel/helper-compilation-targets": "^7.27.2",
1745
- "@babel/helper-plugin-utils": "^7.27.1",
1756
+ "@babel/compat-data": "^7.29.0",
1757
+ "@babel/helper-compilation-targets": "^7.28.6",
1758
+ "@babel/helper-plugin-utils": "^7.28.6",
1746
1759
  "@babel/helper-validator-option": "^7.27.1",
1747
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1",
1760
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5",
1748
1761
  "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1",
1749
1762
  "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1",
1750
1763
  "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1",
1751
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3",
1764
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6",
1752
1765
  "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
1753
- "@babel/plugin-syntax-import-assertions": "^7.27.1",
1754
- "@babel/plugin-syntax-import-attributes": "^7.27.1",
1766
+ "@babel/plugin-syntax-import-assertions": "^7.28.6",
1767
+ "@babel/plugin-syntax-import-attributes": "^7.28.6",
1755
1768
  "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
1756
1769
  "@babel/plugin-transform-arrow-functions": "^7.27.1",
1757
- "@babel/plugin-transform-async-generator-functions": "^7.28.0",
1758
- "@babel/plugin-transform-async-to-generator": "^7.27.1",
1770
+ "@babel/plugin-transform-async-generator-functions": "^7.29.0",
1771
+ "@babel/plugin-transform-async-to-generator": "^7.28.6",
1759
1772
  "@babel/plugin-transform-block-scoped-functions": "^7.27.1",
1760
- "@babel/plugin-transform-block-scoping": "^7.28.0",
1761
- "@babel/plugin-transform-class-properties": "^7.27.1",
1762
- "@babel/plugin-transform-class-static-block": "^7.28.3",
1763
- "@babel/plugin-transform-classes": "^7.28.3",
1764
- "@babel/plugin-transform-computed-properties": "^7.27.1",
1765
- "@babel/plugin-transform-destructuring": "^7.28.0",
1766
- "@babel/plugin-transform-dotall-regex": "^7.27.1",
1773
+ "@babel/plugin-transform-block-scoping": "^7.28.6",
1774
+ "@babel/plugin-transform-class-properties": "^7.28.6",
1775
+ "@babel/plugin-transform-class-static-block": "^7.28.6",
1776
+ "@babel/plugin-transform-classes": "^7.28.6",
1777
+ "@babel/plugin-transform-computed-properties": "^7.28.6",
1778
+ "@babel/plugin-transform-destructuring": "^7.28.5",
1779
+ "@babel/plugin-transform-dotall-regex": "^7.28.6",
1767
1780
  "@babel/plugin-transform-duplicate-keys": "^7.27.1",
1768
- "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1",
1781
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0",
1769
1782
  "@babel/plugin-transform-dynamic-import": "^7.27.1",
1770
- "@babel/plugin-transform-explicit-resource-management": "^7.28.0",
1771
- "@babel/plugin-transform-exponentiation-operator": "^7.27.1",
1783
+ "@babel/plugin-transform-explicit-resource-management": "^7.28.6",
1784
+ "@babel/plugin-transform-exponentiation-operator": "^7.28.6",
1772
1785
  "@babel/plugin-transform-export-namespace-from": "^7.27.1",
1773
1786
  "@babel/plugin-transform-for-of": "^7.27.1",
1774
1787
  "@babel/plugin-transform-function-name": "^7.27.1",
1775
- "@babel/plugin-transform-json-strings": "^7.27.1",
1788
+ "@babel/plugin-transform-json-strings": "^7.28.6",
1776
1789
  "@babel/plugin-transform-literals": "^7.27.1",
1777
- "@babel/plugin-transform-logical-assignment-operators": "^7.27.1",
1790
+ "@babel/plugin-transform-logical-assignment-operators": "^7.28.6",
1778
1791
  "@babel/plugin-transform-member-expression-literals": "^7.27.1",
1779
1792
  "@babel/plugin-transform-modules-amd": "^7.27.1",
1780
- "@babel/plugin-transform-modules-commonjs": "^7.27.1",
1781
- "@babel/plugin-transform-modules-systemjs": "^7.27.1",
1793
+ "@babel/plugin-transform-modules-commonjs": "^7.28.6",
1794
+ "@babel/plugin-transform-modules-systemjs": "^7.29.0",
1782
1795
  "@babel/plugin-transform-modules-umd": "^7.27.1",
1783
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1",
1796
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0",
1784
1797
  "@babel/plugin-transform-new-target": "^7.27.1",
1785
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
1786
- "@babel/plugin-transform-numeric-separator": "^7.27.1",
1787
- "@babel/plugin-transform-object-rest-spread": "^7.28.0",
1798
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6",
1799
+ "@babel/plugin-transform-numeric-separator": "^7.28.6",
1800
+ "@babel/plugin-transform-object-rest-spread": "^7.28.6",
1788
1801
  "@babel/plugin-transform-object-super": "^7.27.1",
1789
- "@babel/plugin-transform-optional-catch-binding": "^7.27.1",
1790
- "@babel/plugin-transform-optional-chaining": "^7.27.1",
1802
+ "@babel/plugin-transform-optional-catch-binding": "^7.28.6",
1803
+ "@babel/plugin-transform-optional-chaining": "^7.28.6",
1791
1804
  "@babel/plugin-transform-parameters": "^7.27.7",
1792
- "@babel/plugin-transform-private-methods": "^7.27.1",
1793
- "@babel/plugin-transform-private-property-in-object": "^7.27.1",
1805
+ "@babel/plugin-transform-private-methods": "^7.28.6",
1806
+ "@babel/plugin-transform-private-property-in-object": "^7.28.6",
1794
1807
  "@babel/plugin-transform-property-literals": "^7.27.1",
1795
- "@babel/plugin-transform-regenerator": "^7.28.3",
1796
- "@babel/plugin-transform-regexp-modifiers": "^7.27.1",
1808
+ "@babel/plugin-transform-regenerator": "^7.29.0",
1809
+ "@babel/plugin-transform-regexp-modifiers": "^7.28.6",
1797
1810
  "@babel/plugin-transform-reserved-words": "^7.27.1",
1798
1811
  "@babel/plugin-transform-shorthand-properties": "^7.27.1",
1799
- "@babel/plugin-transform-spread": "^7.27.1",
1812
+ "@babel/plugin-transform-spread": "^7.28.6",
1800
1813
  "@babel/plugin-transform-sticky-regex": "^7.27.1",
1801
1814
  "@babel/plugin-transform-template-literals": "^7.27.1",
1802
1815
  "@babel/plugin-transform-typeof-symbol": "^7.27.1",
1803
1816
  "@babel/plugin-transform-unicode-escapes": "^7.27.1",
1804
- "@babel/plugin-transform-unicode-property-regex": "^7.27.1",
1817
+ "@babel/plugin-transform-unicode-property-regex": "^7.28.6",
1805
1818
  "@babel/plugin-transform-unicode-regex": "^7.27.1",
1806
- "@babel/plugin-transform-unicode-sets-regex": "^7.27.1",
1819
+ "@babel/plugin-transform-unicode-sets-regex": "^7.28.6",
1807
1820
  "@babel/preset-modules": "0.1.6-no-external-plugins",
1808
- "babel-plugin-polyfill-corejs2": "^0.4.14",
1809
- "babel-plugin-polyfill-corejs3": "^0.13.0",
1810
- "babel-plugin-polyfill-regenerator": "^0.6.5",
1811
- "core-js-compat": "^3.43.0",
1821
+ "babel-plugin-polyfill-corejs2": "^0.4.15",
1822
+ "babel-plugin-polyfill-corejs3": "^0.14.0",
1823
+ "babel-plugin-polyfill-regenerator": "^0.6.6",
1824
+ "core-js-compat": "^3.48.0",
1812
1825
  "semver": "^6.3.1"
1813
1826
  },
1814
1827
  "engines": {
@@ -1818,6 +1831,19 @@
1818
1831
  "@babel/core": "^7.0.0-0"
1819
1832
  }
1820
1833
  },
1834
+ "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": {
1835
+ "version": "0.14.0",
1836
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.0.tgz",
1837
+ "integrity": "sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ==",
1838
+ "license": "MIT",
1839
+ "dependencies": {
1840
+ "@babel/helper-define-polyfill-provider": "^0.6.6",
1841
+ "core-js-compat": "^3.48.0"
1842
+ },
1843
+ "peerDependencies": {
1844
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
1845
+ }
1846
+ },
1821
1847
  "node_modules/@babel/preset-modules": {
1822
1848
  "version": "0.1.6-no-external-plugins",
1823
1849
  "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
@@ -1873,9 +1899,9 @@
1873
1899
  }
1874
1900
  },
1875
1901
  "node_modules/@babel/runtime": {
1876
- "version": "7.28.4",
1877
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
1878
- "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
1902
+ "version": "7.28.6",
1903
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz",
1904
+ "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==",
1879
1905
  "dev": true,
1880
1906
  "license": "MIT",
1881
1907
  "engines": {
@@ -3790,9 +3816,9 @@
3790
3816
  ]
3791
3817
  },
3792
3818
  "node_modules/@zohodesk/unit-testing-framework": {
3793
- "version": "0.0.5-experimental",
3794
- "resolved": "https://registry.npmjs.org/@zohodesk/unit-testing-framework/-/unit-testing-framework-0.0.5-experimental.tgz",
3795
- "integrity": "sha512-LOOJKAM+gEqLuuMStydWX8PgWAgt+SQVPhI+dhgFK/cV7CGxeExOks4ZNEvNA/fuxTS2eo30tRhZrbaBLNooxA==",
3819
+ "version": "0.0.13-experimental",
3820
+ "resolved": "https://registry.npmjs.org/@zohodesk/unit-testing-framework/-/unit-testing-framework-0.0.13-experimental.tgz",
3821
+ "integrity": "sha512-Zi8Dxgcuwm28nEAUZCY6U0VxjiBxBQCN7vI7N67NyFqNJMPxWkL8galOLM0LDKAyUYXFC49Dg1FO7Gs4rg2fUQ==",
3796
3822
  "license": "MIT",
3797
3823
  "dependencies": {
3798
3824
  "@babel/core": "7.29.0",
@@ -3806,147 +3832,6 @@
3806
3832
  "jest": "30.2.0"
3807
3833
  }
3808
3834
  },
3809
- "node_modules/@zohodesk/unit-testing-framework/node_modules/@babel/code-frame": {
3810
- "version": "7.29.0",
3811
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
3812
- "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
3813
- "license": "MIT",
3814
- "dependencies": {
3815
- "@babel/helper-validator-identifier": "^7.28.5",
3816
- "js-tokens": "^4.0.0",
3817
- "picocolors": "^1.1.1"
3818
- },
3819
- "engines": {
3820
- "node": ">=6.9.0"
3821
- }
3822
- },
3823
- "node_modules/@zohodesk/unit-testing-framework/node_modules/@babel/core": {
3824
- "version": "7.29.0",
3825
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz",
3826
- "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
3827
- "license": "MIT",
3828
- "dependencies": {
3829
- "@babel/code-frame": "^7.29.0",
3830
- "@babel/generator": "^7.29.0",
3831
- "@babel/helper-compilation-targets": "^7.28.6",
3832
- "@babel/helper-module-transforms": "^7.28.6",
3833
- "@babel/helpers": "^7.28.6",
3834
- "@babel/parser": "^7.29.0",
3835
- "@babel/template": "^7.28.6",
3836
- "@babel/traverse": "^7.29.0",
3837
- "@babel/types": "^7.29.0",
3838
- "@jridgewell/remapping": "^2.3.5",
3839
- "convert-source-map": "^2.0.0",
3840
- "debug": "^4.1.0",
3841
- "gensync": "^1.0.0-beta.2",
3842
- "json5": "^2.2.3",
3843
- "semver": "^6.3.1"
3844
- },
3845
- "engines": {
3846
- "node": ">=6.9.0"
3847
- },
3848
- "funding": {
3849
- "type": "opencollective",
3850
- "url": "https://opencollective.com/babel"
3851
- }
3852
- },
3853
- "node_modules/@zohodesk/unit-testing-framework/node_modules/@babel/preset-env": {
3854
- "version": "7.29.0",
3855
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.0.tgz",
3856
- "integrity": "sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==",
3857
- "license": "MIT",
3858
- "dependencies": {
3859
- "@babel/compat-data": "^7.29.0",
3860
- "@babel/helper-compilation-targets": "^7.28.6",
3861
- "@babel/helper-plugin-utils": "^7.28.6",
3862
- "@babel/helper-validator-option": "^7.27.1",
3863
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5",
3864
- "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1",
3865
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1",
3866
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1",
3867
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6",
3868
- "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
3869
- "@babel/plugin-syntax-import-assertions": "^7.28.6",
3870
- "@babel/plugin-syntax-import-attributes": "^7.28.6",
3871
- "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
3872
- "@babel/plugin-transform-arrow-functions": "^7.27.1",
3873
- "@babel/plugin-transform-async-generator-functions": "^7.29.0",
3874
- "@babel/plugin-transform-async-to-generator": "^7.28.6",
3875
- "@babel/plugin-transform-block-scoped-functions": "^7.27.1",
3876
- "@babel/plugin-transform-block-scoping": "^7.28.6",
3877
- "@babel/plugin-transform-class-properties": "^7.28.6",
3878
- "@babel/plugin-transform-class-static-block": "^7.28.6",
3879
- "@babel/plugin-transform-classes": "^7.28.6",
3880
- "@babel/plugin-transform-computed-properties": "^7.28.6",
3881
- "@babel/plugin-transform-destructuring": "^7.28.5",
3882
- "@babel/plugin-transform-dotall-regex": "^7.28.6",
3883
- "@babel/plugin-transform-duplicate-keys": "^7.27.1",
3884
- "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0",
3885
- "@babel/plugin-transform-dynamic-import": "^7.27.1",
3886
- "@babel/plugin-transform-explicit-resource-management": "^7.28.6",
3887
- "@babel/plugin-transform-exponentiation-operator": "^7.28.6",
3888
- "@babel/plugin-transform-export-namespace-from": "^7.27.1",
3889
- "@babel/plugin-transform-for-of": "^7.27.1",
3890
- "@babel/plugin-transform-function-name": "^7.27.1",
3891
- "@babel/plugin-transform-json-strings": "^7.28.6",
3892
- "@babel/plugin-transform-literals": "^7.27.1",
3893
- "@babel/plugin-transform-logical-assignment-operators": "^7.28.6",
3894
- "@babel/plugin-transform-member-expression-literals": "^7.27.1",
3895
- "@babel/plugin-transform-modules-amd": "^7.27.1",
3896
- "@babel/plugin-transform-modules-commonjs": "^7.28.6",
3897
- "@babel/plugin-transform-modules-systemjs": "^7.29.0",
3898
- "@babel/plugin-transform-modules-umd": "^7.27.1",
3899
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0",
3900
- "@babel/plugin-transform-new-target": "^7.27.1",
3901
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6",
3902
- "@babel/plugin-transform-numeric-separator": "^7.28.6",
3903
- "@babel/plugin-transform-object-rest-spread": "^7.28.6",
3904
- "@babel/plugin-transform-object-super": "^7.27.1",
3905
- "@babel/plugin-transform-optional-catch-binding": "^7.28.6",
3906
- "@babel/plugin-transform-optional-chaining": "^7.28.6",
3907
- "@babel/plugin-transform-parameters": "^7.27.7",
3908
- "@babel/plugin-transform-private-methods": "^7.28.6",
3909
- "@babel/plugin-transform-private-property-in-object": "^7.28.6",
3910
- "@babel/plugin-transform-property-literals": "^7.27.1",
3911
- "@babel/plugin-transform-regenerator": "^7.29.0",
3912
- "@babel/plugin-transform-regexp-modifiers": "^7.28.6",
3913
- "@babel/plugin-transform-reserved-words": "^7.27.1",
3914
- "@babel/plugin-transform-shorthand-properties": "^7.27.1",
3915
- "@babel/plugin-transform-spread": "^7.28.6",
3916
- "@babel/plugin-transform-sticky-regex": "^7.27.1",
3917
- "@babel/plugin-transform-template-literals": "^7.27.1",
3918
- "@babel/plugin-transform-typeof-symbol": "^7.27.1",
3919
- "@babel/plugin-transform-unicode-escapes": "^7.27.1",
3920
- "@babel/plugin-transform-unicode-property-regex": "^7.28.6",
3921
- "@babel/plugin-transform-unicode-regex": "^7.27.1",
3922
- "@babel/plugin-transform-unicode-sets-regex": "^7.28.6",
3923
- "@babel/preset-modules": "0.1.6-no-external-plugins",
3924
- "babel-plugin-polyfill-corejs2": "^0.4.15",
3925
- "babel-plugin-polyfill-corejs3": "^0.14.0",
3926
- "babel-plugin-polyfill-regenerator": "^0.6.6",
3927
- "core-js-compat": "^3.48.0",
3928
- "semver": "^6.3.1"
3929
- },
3930
- "engines": {
3931
- "node": ">=6.9.0"
3932
- },
3933
- "peerDependencies": {
3934
- "@babel/core": "^7.0.0-0"
3935
- }
3936
- },
3937
- "node_modules/@zohodesk/unit-testing-framework/node_modules/babel-plugin-polyfill-corejs3": {
3938
- "version": "0.14.0",
3939
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.0.tgz",
3940
- "integrity": "sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ==",
3941
- "license": "MIT",
3942
- "dependencies": {
3943
- "@babel/helper-define-polyfill-provider": "^0.6.6",
3944
- "core-js-compat": "^3.48.0"
3945
- },
3946
- "peerDependencies": {
3947
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
3948
- }
3949
- },
3950
3835
  "node_modules/acorn": {
3951
3836
  "version": "8.16.0",
3952
3837
  "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/testinglibrary",
3
- "version": "0.0.34-n20-experimental",
3
+ "version": "0.0.36-n20-experimental",
4
4
  "main": "./build/index.js",
5
5
  "scripts": {
6
6
  "postinstall": "node bin/postinstall.js",
@@ -26,6 +26,7 @@
26
26
  "@playwright/test": "1.56.1",
27
27
  "@reportportal/agent-js-playwright": "5.2.2",
28
28
  "@testing-library/jest-dom": "6.9.1",
29
+ "@zohodesk/unit-testing-framework": "0.0.13-experimental",
29
30
  "babel-jest": "30.2.0",
30
31
  "babel-plugin-transform-dynamic-import": "2.1.0",
31
32
  "fast-glob": "3.3.3",
@@ -36,8 +37,7 @@
36
37
  "playwright": "1.56.1",
37
38
  "playwright-bdd": "8.4.2",
38
39
  "properties-reader": "2.3.0",
39
- "supports-color": "10.2.2",
40
- "@zohodesk/unit-testing-framework": "0.0.5-experimental"
40
+ "supports-color": "10.2.2"
41
41
  },
42
42
  "bin": {
43
43
  "ZDTestingFramework": "./bin/cli.js"
@@ -48,13 +48,13 @@
48
48
  "react-dom": "*"
49
49
  },
50
50
  "devDependencies": {
51
- "@babel/cli": "7.28.3",
52
- "@babel/core": "7.28.4",
53
- "@babel/node": "7.28.0",
51
+ "@babel/cli": "7.28.6",
52
+ "@babel/core": "7.29.0",
53
+ "@babel/node": "7.29.0",
54
54
  "@babel/plugin-transform-runtime": "7.28.3",
55
- "@babel/preset-env": "7.28.3",
56
- "@babel/runtime": "7.28.4",
55
+ "@babel/preset-env": "7.29.0",
56
+ "@babel/runtime": "7.28.6",
57
57
  "commander": "14.0.2",
58
58
  "jest-html-reporter": "4.3.0"
59
59
  }
60
- }
60
+ }
@@ -1,14 +1,17 @@
1
1
  // @ts-check
2
2
  const { defineConfig, devices } = require('@playwright/test');
3
3
  const path = require('path');
4
- const numCPUs = require('os').cpus().length;
4
+ import configConstants from './src/core/playwright/constants/configConstants';
5
+ import { getRunStage } from './src/core/playwright/configuration/ConfigurationHelper';
6
+
7
+ const stage = getRunStage();
5
8
 
6
9
  export default defineConfig({
7
- testDir: path.join(path.resolve(process.cwd()), 'uat'),
8
- outputDir: path.join(process.cwd(), 'uat', 'test-results'),
10
+ testDir: path.join(path.resolve(process.cwd()), configConstants.TEST_SLICE_FOLDER, stage),
11
+ outputDir: path.join(process.cwd(), configConstants.TEST_SLICE_FOLDER, stage , 'test-results'),
9
12
  fullyParallel: true,
10
13
  retries: process.env.CI ? 2 : 0,
11
- reporter: [['html', { outputFolder: path.join(process.cwd(), 'uat', 'playwright-report'), open: "always" }]],
14
+ reporter: [['html', { outputFolder: path.join(process.cwd(), configConstants.TEST_SLICE_FOLDER, stage, 'playwright-report'), open: "always" }]],
12
15
  timeout: 60 * 1000,
13
16
  expect: {
14
17
  timeout: 5 * 1000,
@@ -26,7 +29,7 @@ export default defineConfig({
26
29
  name: 'chromium',
27
30
  use: {
28
31
  ...devices['Desktop Chrome'],
29
- storageState: path.resolve(process.cwd(), 'uat', 'playwright/.auth/user.json')
32
+ storageState: path.resolve(process.cwd(), configConstants.TEST_SLICE_FOLDER, stage, 'playwright/.auth/user.json')
30
33
  },
31
34
  dependencies: ['setup'],
32
35
  },
@@ -39,7 +42,7 @@ export default defineConfig({
39
42
  },
40
43
  use: {
41
44
  ...devices['Desktop Firefox'],
42
- storageState: path.resolve(process.cwd(), 'uat', 'playwright/.auth/user.json')
45
+ storageState: path.resolve(process.cwd(), configConstants.TEST_SLICE_FOLDER, stage, 'playwright/.auth/user.json')
43
46
  },
44
47
  dependencies: ['setup'],
45
48
  },
@@ -52,7 +55,7 @@ export default defineConfig({
52
55
  },
53
56
  use: {
54
57
  ...devices['Desktop Safari'],
55
- storageState: path.resolve(process.cwd(), 'uat', 'playwright/.auth/user.json')
58
+ storageState: path.resolve(process.cwd(), configConstants.TEST_SLICE_FOLDER, stage, 'playwright/.auth/user.json')
56
59
  },
57
60
  dependencies: ['setup'],
58
61
  },