@zohodesk/testinglibrary 4.0.6 → 4.1.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/.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,
@@ -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 () {
@@ -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": "4.0.6",
3
+ "version": "4.1.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@zohodesk/testinglibrary",
9
- "version": "4.0.6",
9
+ "version": "4.1.1",
10
10
  "hasInstallScript": true,
11
11
  "license": "ISC",
12
12
  "dependencies": {
@@ -249,17 +249,17 @@
249
249
  }
250
250
  },
251
251
  "node_modules/@babel/helper-define-polyfill-provider": {
252
- "version": "0.6.5",
253
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz",
254
- "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==",
252
+ "version": "0.6.6",
253
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.6.tgz",
254
+ "integrity": "sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==",
255
255
  "dev": true,
256
256
  "license": "MIT",
257
257
  "dependencies": {
258
- "@babel/helper-compilation-targets": "^7.27.2",
259
- "@babel/helper-plugin-utils": "^7.27.1",
260
- "debug": "^4.4.1",
258
+ "@babel/helper-compilation-targets": "^7.28.6",
259
+ "@babel/helper-plugin-utils": "^7.28.6",
260
+ "debug": "^4.4.3",
261
261
  "lodash.debounce": "^4.0.8",
262
- "resolve": "^1.22.10"
262
+ "resolve": "^1.22.11"
263
263
  },
264
264
  "peerDependencies": {
265
265
  "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -3454,9 +3454,9 @@
3454
3454
  }
3455
3455
  },
3456
3456
  "node_modules/@sinclair/typebox": {
3457
- "version": "0.34.47",
3458
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.47.tgz",
3459
- "integrity": "sha512-ZGIBQ+XDvO5JQku9wmwtabcVTHJsgSWAHYtVuM9pBNNR5E88v6Jcj/llpmsjivig5X8A8HHOb4/mbEKPS5EvAw==",
3457
+ "version": "0.34.48",
3458
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz",
3459
+ "integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==",
3460
3460
  "license": "MIT"
3461
3461
  },
3462
3462
  "node_modules/@sinonjs/commons": {
@@ -4123,9 +4123,9 @@
4123
4123
  }
4124
4124
  },
4125
4125
  "node_modules/axios": {
4126
- "version": "1.13.2",
4127
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz",
4128
- "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==",
4126
+ "version": "1.13.4",
4127
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.4.tgz",
4128
+ "integrity": "sha512-1wVkUaAO6WyaYtCkcYCOx12ZgpGf9Zif+qXa4n+oYzK558YryKqiL6UWwd5DqiH3VRW0GYhTZQ/vlgJrCoNQlg==",
4129
4129
  "license": "MIT",
4130
4130
  "dependencies": {
4131
4131
  "follow-redirects": "^1.15.6",
@@ -4207,14 +4207,14 @@
4207
4207
  }
4208
4208
  },
4209
4209
  "node_modules/babel-plugin-polyfill-corejs2": {
4210
- "version": "0.4.14",
4211
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz",
4212
- "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==",
4210
+ "version": "0.4.15",
4211
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.15.tgz",
4212
+ "integrity": "sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==",
4213
4213
  "dev": true,
4214
4214
  "license": "MIT",
4215
4215
  "dependencies": {
4216
- "@babel/compat-data": "^7.27.7",
4217
- "@babel/helper-define-polyfill-provider": "^0.6.5",
4216
+ "@babel/compat-data": "^7.28.6",
4217
+ "@babel/helper-define-polyfill-provider": "^0.6.6",
4218
4218
  "semver": "^6.3.1"
4219
4219
  },
4220
4220
  "peerDependencies": {
@@ -4236,13 +4236,13 @@
4236
4236
  }
4237
4237
  },
4238
4238
  "node_modules/babel-plugin-polyfill-regenerator": {
4239
- "version": "0.6.5",
4240
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz",
4241
- "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==",
4239
+ "version": "0.6.6",
4240
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.6.tgz",
4241
+ "integrity": "sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==",
4242
4242
  "dev": true,
4243
4243
  "license": "MIT",
4244
4244
  "dependencies": {
4245
- "@babel/helper-define-polyfill-provider": "^0.6.5"
4245
+ "@babel/helper-define-polyfill-provider": "^0.6.6"
4246
4246
  },
4247
4247
  "peerDependencies": {
4248
4248
  "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -4306,9 +4306,9 @@
4306
4306
  "license": "MIT"
4307
4307
  },
4308
4308
  "node_modules/baseline-browser-mapping": {
4309
- "version": "2.9.17",
4310
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.17.tgz",
4311
- "integrity": "sha512-agD0MgJFUP/4nvjqzIB29zRPUuCF7Ge6mEv9s8dHrtYD7QWXRcx75rOADE/d5ah1NI+0vkDl0yorDd5U852IQQ==",
4309
+ "version": "2.9.18",
4310
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.18.tgz",
4311
+ "integrity": "sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA==",
4312
4312
  "license": "Apache-2.0",
4313
4313
  "bin": {
4314
4314
  "baseline-browser-mapping": "dist/cli.js"
@@ -4466,9 +4466,9 @@
4466
4466
  }
4467
4467
  },
4468
4468
  "node_modules/caniuse-lite": {
4469
- "version": "1.0.30001765",
4470
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001765.tgz",
4471
- "integrity": "sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==",
4469
+ "version": "1.0.30001766",
4470
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz",
4471
+ "integrity": "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==",
4472
4472
  "funding": [
4473
4473
  {
4474
4474
  "type": "opencollective",
@@ -5002,9 +5002,9 @@
5002
5002
  "license": "MIT"
5003
5003
  },
5004
5004
  "node_modules/electron-to-chromium": {
5005
- "version": "1.5.277",
5006
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.277.tgz",
5007
- "integrity": "sha512-wKXFZw4erWmmOz5N/grBoJ2XrNJGDFMu2+W5ACHza5rHtvsqrK4gb6rnLC7XxKB9WlJ+RmyQatuEXmtm86xbnw==",
5005
+ "version": "1.5.279",
5006
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.279.tgz",
5007
+ "integrity": "sha512-0bblUU5UNdOt5G7XqGiJtpZMONma6WAfq9vsFmtn9x1+joAObr6x1chfqyxFSDCAFwFhCQDrqeAr6MYdpwJ9Hg==",
5008
5008
  "license": "ISC"
5009
5009
  },
5010
5010
  "node_modules/emittery": {
@@ -8940,9 +8940,9 @@
8940
8940
  "license": "MIT"
8941
8941
  },
8942
8942
  "node_modules/react": {
8943
- "version": "19.2.3",
8944
- "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz",
8945
- "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==",
8943
+ "version": "19.2.4",
8944
+ "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz",
8945
+ "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==",
8946
8946
  "license": "MIT",
8947
8947
  "peer": true,
8948
8948
  "engines": {
@@ -8950,16 +8950,16 @@
8950
8950
  }
8951
8951
  },
8952
8952
  "node_modules/react-dom": {
8953
- "version": "19.2.3",
8954
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz",
8955
- "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==",
8953
+ "version": "19.2.4",
8954
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz",
8955
+ "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==",
8956
8956
  "license": "MIT",
8957
8957
  "peer": true,
8958
8958
  "dependencies": {
8959
8959
  "scheduler": "^0.27.0"
8960
8960
  },
8961
8961
  "peerDependencies": {
8962
- "react": "^19.2.3"
8962
+ "react": "^19.2.4"
8963
8963
  }
8964
8964
  },
8965
8965
  "node_modules/react-is": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/testinglibrary",
3
- "version": "4.0.6",
3
+ "version": "4.1.1",
4
4
  "main": "./build/index.js",
5
5
  "scripts": {
6
6
  "postinstall": "node bin/postinstall.js",
@@ -56,4 +56,4 @@
56
56
  "commander": "14.0.2",
57
57
  "jest-html-reporter": "4.3.0"
58
58
  }
59
- }
59
+ }
@@ -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
  },