@zohodesk/testinglibrary 3.2.21 → 3.3.0

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
@@ -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": "3.2.21",
3
+ "version": "3.3.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@zohodesk/testinglibrary",
9
- "version": "3.2.21",
9
+ "version": "3.3.0",
10
10
  "hasInstallScript": true,
11
11
  "license": "ISC",
12
12
  "dependencies": {
@@ -239,17 +239,17 @@
239
239
  }
240
240
  },
241
241
  "node_modules/@babel/helper-define-polyfill-provider": {
242
- "version": "0.6.5",
243
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz",
244
- "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==",
242
+ "version": "0.6.6",
243
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.6.tgz",
244
+ "integrity": "sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==",
245
245
  "dev": true,
246
246
  "license": "MIT",
247
247
  "dependencies": {
248
- "@babel/helper-compilation-targets": "^7.27.2",
249
- "@babel/helper-plugin-utils": "^7.27.1",
250
- "debug": "^4.4.1",
248
+ "@babel/helper-compilation-targets": "^7.28.6",
249
+ "@babel/helper-plugin-utils": "^7.28.6",
250
+ "debug": "^4.4.3",
251
251
  "lodash.debounce": "^4.0.8",
252
- "resolve": "^1.22.10"
252
+ "resolve": "^1.22.11"
253
253
  },
254
254
  "peerDependencies": {
255
255
  "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -3942,9 +3942,9 @@
3942
3942
  "license": "MIT"
3943
3943
  },
3944
3944
  "node_modules/@types/node": {
3945
- "version": "25.0.10",
3946
- "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.10.tgz",
3947
- "integrity": "sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg==",
3945
+ "version": "25.1.0",
3946
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-25.1.0.tgz",
3947
+ "integrity": "sha512-t7frlewr6+cbx+9Ohpl0NOTKXZNV9xHRmNOvql47BFJKcEG1CxtxlPEEe+gR9uhVWM4DwhnvTF110mIL4yP9RA==",
3948
3948
  "license": "MIT",
3949
3949
  "dependencies": {
3950
3950
  "undici-types": "~7.16.0"
@@ -4312,9 +4312,9 @@
4312
4312
  }
4313
4313
  },
4314
4314
  "node_modules/axios": {
4315
- "version": "1.13.2",
4316
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz",
4317
- "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==",
4315
+ "version": "1.13.4",
4316
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.4.tgz",
4317
+ "integrity": "sha512-1wVkUaAO6WyaYtCkcYCOx12ZgpGf9Zif+qXa4n+oYzK558YryKqiL6UWwd5DqiH3VRW0GYhTZQ/vlgJrCoNQlg==",
4318
4318
  "license": "MIT",
4319
4319
  "dependencies": {
4320
4320
  "follow-redirects": "^1.15.6",
@@ -4396,14 +4396,14 @@
4396
4396
  }
4397
4397
  },
4398
4398
  "node_modules/babel-plugin-polyfill-corejs2": {
4399
- "version": "0.4.14",
4400
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz",
4401
- "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==",
4399
+ "version": "0.4.15",
4400
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.15.tgz",
4401
+ "integrity": "sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==",
4402
4402
  "dev": true,
4403
4403
  "license": "MIT",
4404
4404
  "dependencies": {
4405
- "@babel/compat-data": "^7.27.7",
4406
- "@babel/helper-define-polyfill-provider": "^0.6.5",
4405
+ "@babel/compat-data": "^7.28.6",
4406
+ "@babel/helper-define-polyfill-provider": "^0.6.6",
4407
4407
  "semver": "^6.3.1"
4408
4408
  },
4409
4409
  "peerDependencies": {
@@ -4549,9 +4549,9 @@
4549
4549
  "license": "MIT"
4550
4550
  },
4551
4551
  "node_modules/baseline-browser-mapping": {
4552
- "version": "2.9.17",
4553
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.17.tgz",
4554
- "integrity": "sha512-agD0MgJFUP/4nvjqzIB29zRPUuCF7Ge6mEv9s8dHrtYD7QWXRcx75rOADE/d5ah1NI+0vkDl0yorDd5U852IQQ==",
4552
+ "version": "2.9.19",
4553
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz",
4554
+ "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==",
4555
4555
  "license": "Apache-2.0",
4556
4556
  "bin": {
4557
4557
  "baseline-browser-mapping": "dist/cli.js"
@@ -4740,9 +4740,9 @@
4740
4740
  }
4741
4741
  },
4742
4742
  "node_modules/caniuse-lite": {
4743
- "version": "1.0.30001765",
4744
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001765.tgz",
4745
- "integrity": "sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==",
4743
+ "version": "1.0.30001766",
4744
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz",
4745
+ "integrity": "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==",
4746
4746
  "funding": [
4747
4747
  {
4748
4748
  "type": "opencollective",
@@ -5420,9 +5420,9 @@
5420
5420
  "license": "MIT"
5421
5421
  },
5422
5422
  "node_modules/electron-to-chromium": {
5423
- "version": "1.5.277",
5424
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.277.tgz",
5425
- "integrity": "sha512-wKXFZw4erWmmOz5N/grBoJ2XrNJGDFMu2+W5ACHza5rHtvsqrK4gb6rnLC7XxKB9WlJ+RmyQatuEXmtm86xbnw==",
5423
+ "version": "1.5.279",
5424
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.279.tgz",
5425
+ "integrity": "sha512-0bblUU5UNdOt5G7XqGiJtpZMONma6WAfq9vsFmtn9x1+joAObr6x1chfqyxFSDCAFwFhCQDrqeAr6MYdpwJ9Hg==",
5426
5426
  "license": "ISC"
5427
5427
  },
5428
5428
  "node_modules/emittery": {
@@ -5970,9 +5970,9 @@
5970
5970
  }
5971
5971
  },
5972
5972
  "node_modules/expect/node_modules/@sinclair/typebox": {
5973
- "version": "0.34.47",
5974
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.47.tgz",
5975
- "integrity": "sha512-ZGIBQ+XDvO5JQku9wmwtabcVTHJsgSWAHYtVuM9pBNNR5E88v6Jcj/llpmsjivig5X8A8HHOb4/mbEKPS5EvAw==",
5973
+ "version": "0.34.48",
5974
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz",
5975
+ "integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==",
5976
5976
  "license": "MIT"
5977
5977
  },
5978
5978
  "node_modules/expect/node_modules/ci-info": {
@@ -8218,9 +8218,9 @@
8218
8218
  }
8219
8219
  },
8220
8220
  "node_modules/jest-message-util/node_modules/@sinclair/typebox": {
8221
- "version": "0.34.47",
8222
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.47.tgz",
8223
- "integrity": "sha512-ZGIBQ+XDvO5JQku9wmwtabcVTHJsgSWAHYtVuM9pBNNR5E88v6Jcj/llpmsjivig5X8A8HHOb4/mbEKPS5EvAw==",
8221
+ "version": "0.34.48",
8222
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz",
8223
+ "integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==",
8224
8224
  "license": "MIT"
8225
8225
  },
8226
8226
  "node_modules/jest-message-util/node_modules/slash": {
@@ -8277,9 +8277,9 @@
8277
8277
  }
8278
8278
  },
8279
8279
  "node_modules/jest-mock/node_modules/@sinclair/typebox": {
8280
- "version": "0.34.47",
8281
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.47.tgz",
8282
- "integrity": "sha512-ZGIBQ+XDvO5JQku9wmwtabcVTHJsgSWAHYtVuM9pBNNR5E88v6Jcj/llpmsjivig5X8A8HHOb4/mbEKPS5EvAw==",
8280
+ "version": "0.34.48",
8281
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz",
8282
+ "integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==",
8283
8283
  "license": "MIT"
8284
8284
  },
8285
8285
  "node_modules/jest-mock/node_modules/ci-info": {
@@ -10255,9 +10255,9 @@
10255
10255
  }
10256
10256
  },
10257
10257
  "node_modules/pretty-format/node_modules/@sinclair/typebox": {
10258
- "version": "0.34.47",
10259
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.47.tgz",
10260
- "integrity": "sha512-ZGIBQ+XDvO5JQku9wmwtabcVTHJsgSWAHYtVuM9pBNNR5E88v6Jcj/llpmsjivig5X8A8HHOb4/mbEKPS5EvAw==",
10258
+ "version": "0.34.48",
10259
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz",
10260
+ "integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==",
10261
10261
  "license": "MIT"
10262
10262
  },
10263
10263
  "node_modules/pretty-format/node_modules/ansi-styles": {
@@ -10398,9 +10398,9 @@
10398
10398
  "license": "MIT"
10399
10399
  },
10400
10400
  "node_modules/react": {
10401
- "version": "19.2.3",
10402
- "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz",
10403
- "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==",
10401
+ "version": "19.2.4",
10402
+ "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz",
10403
+ "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==",
10404
10404
  "license": "MIT",
10405
10405
  "peer": true,
10406
10406
  "engines": {
@@ -10408,16 +10408,16 @@
10408
10408
  }
10409
10409
  },
10410
10410
  "node_modules/react-dom": {
10411
- "version": "19.2.3",
10412
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz",
10413
- "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==",
10411
+ "version": "19.2.4",
10412
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz",
10413
+ "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==",
10414
10414
  "license": "MIT",
10415
10415
  "peer": true,
10416
10416
  "dependencies": {
10417
10417
  "scheduler": "^0.27.0"
10418
10418
  },
10419
10419
  "peerDependencies": {
10420
- "react": "^19.2.3"
10420
+ "react": "^19.2.4"
10421
10421
  }
10422
10422
  },
10423
10423
  "node_modules/react-is": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/testinglibrary",
3
- "version": "3.2.21",
3
+ "version": "3.3.0",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "scripts": {
@@ -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
  },