@zohodesk/testinglibrary 2.9.10 → 2.9.11

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
@@ -115,3 +115,33 @@ uat-nobdd:
115
115
  when: always
116
116
  paths:
117
117
  - nobdd/uat/playwright-report
118
+
119
+ uatmodule:
120
+ stage: uat
121
+ script:
122
+ - cd examples
123
+ - npm install $(npm pack ../../testing-framework | tail -1)
124
+ - output=$(npm run uatmodule)
125
+ - echo "$output"
126
+ - node ../ValidateUATReport.js examples
127
+
128
+
129
+ artifacts:
130
+ when: always
131
+ paths:
132
+ - examples/uat/playwright-report
133
+
134
+ uatconfigmodule:
135
+ stage: uat
136
+ script:
137
+ - cd examples
138
+ - npm install $(npm pack ../../testing-framework | tail -1)
139
+ - output=$(npm run uatconfigmodule)
140
+ - echo "$output"
141
+ - node ../ValidateUATReport.js examples
142
+
143
+ artifacts:
144
+ when: always
145
+ paths:
146
+ - examples/uat/playwright-report
147
+
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var messages = _interopRequireWildcard(require("@cucumber/messages"));
8
8
  var _valueChecker = require("../valueChecker");
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
10
  /**
12
11
  * Groups Cucumber messages for easier access.
13
12
  * Based on Cucumber, with some changes due to strictNullChecks errors.
@@ -15,8 +15,7 @@ var _durationHelpers = require("../../cucumber/formatter/durationHelpers");
15
15
  var _locationHelpers = require("../../cucumber/formatter/locationHelpers");
16
16
  var _GherkinDocument = require("./messagesBuilder/GherkinDocument");
17
17
  var _Projects = require("./messagesBuilder/Projects");
18
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
20
19
  /**
21
20
  * Cucumber json reporter.
22
21
  * Based on: https://github.com/cucumber/cucumber-js/blob/main/src/formatter/json_formatter.ts
@@ -8,8 +8,7 @@ exports.Meta = void 0;
8
8
  var _os = _interopRequireDefault(require("os"));
9
9
  var messages = _interopRequireWildcard(require("@cucumber/messages"));
10
10
  var _utils = require("../../../utils");
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
12
  /**
14
13
  * Builds meta message.
15
14
  * See: https://github.com/cucumber/cucumber-js/blob/main/src/cli/helpers.ts#L100
@@ -8,8 +8,7 @@ exports.TestStepAttachments = void 0;
8
8
  var _fs = _interopRequireDefault(require("fs"));
9
9
  var messages = _interopRequireWildcard(require("@cucumber/messages"));
10
10
  var _path = _interopRequireDefault(require("path"));
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
12
  /**
14
13
  * Class for getting attachment messages for a particular step.
15
14
  */
@@ -8,8 +8,7 @@ var messages = _interopRequireWildcard(require("@cucumber/messages"));
8
8
  var _stripAnsiEscapes = require("../../../utils/stripAnsiEscapes");
9
9
  var _timing = require("./timing");
10
10
  var _TestStepAttachments = require("./TestStepAttachments");
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
12
  class TestStepRun {
14
13
  testCaseRun;
15
14
  testStep;
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.CUSTOM_COMMANDS = void 0;
7
- const CUSTOM_COMMANDS = exports.CUSTOM_COMMANDS = ['mode', 'tags', 'edition', 'browsers', 'filePath', 'headless'];
7
+ const CUSTOM_COMMANDS = exports.CUSTOM_COMMANDS = ['mode', 'tags', 'edition', 'browsers', 'filePath', 'headless', 'modules'];
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.getBrowsersList = getBrowsersList;
8
+ exports.getModulePathForFeatureFiles = getModulePathForFeatureFiles;
8
9
  exports.getProjects = getProjects;
9
10
  exports.getTestDir = getTestDir;
10
11
  exports.getTestUseOptions = getTestUseOptions;
@@ -142,9 +143,27 @@ function getPathsForFeatureFiles(cwd) {
142
143
  _logger.Logger.log(_logger.Logger.INFO_TYPE, `Unable to read test summary from the ${reportPath}. Verify If File Exists in the path`);
143
144
  _logger.Logger.log(_logger.Logger.INFO_TYPE, 'Going to run all test cases');
144
145
  }
146
+ } else if (process.env.modules !== 'undefined' && process.env.modules.length > 0) {
147
+ let modules = process.env.modules;
148
+ let moduleList = modules.split(',');
149
+ return getModulePathForFeatureFiles(moduleList);
145
150
  }
146
151
  return [_path.default.join(cwd, 'uat', '**', '*.feature')];
147
152
  }
153
+ function getModulePathForFeatureFiles(moduleList) {
154
+ let validModuleList = [];
155
+ moduleList.forEach(moduleName => {
156
+ let modulePath = _path.default.join(process.cwd(), 'uat', 'modules', '**', `${moduleName}`);
157
+ if ((0, _fileUtils.checkIfFolderExistsWithPattern)(modulePath)) {
158
+ validModuleList.push(_path.default.join(modulePath, '**', '*.feature'));
159
+ } else {
160
+ _logger.Logger.log(_logger.Logger.FAILURE_TYPE, `Module ${moduleName} does not exist, Please check the module name`);
161
+ validModuleList = [];
162
+ return validModuleList;
163
+ }
164
+ });
165
+ return validModuleList;
166
+ }
148
167
  function getTestDir(bddMode, cwd, {
149
168
  stepDefinitionsFolder
150
169
  }) {
@@ -92,6 +92,10 @@ function main() {
92
92
 
93
93
  // overriding the user config's from CLI
94
94
  uatConfig.addAll(userArgConfig);
95
+ const modules = uatConfig.get('modules');
96
+
97
+ //We need to change this process.env variable to pass the module name in future.
98
+ process.env.modules = modules;
95
99
  const {
96
100
  isAuthMode,
97
101
  editionOrder,
@@ -39,5 +39,6 @@
39
39
  * @property {string} testIdAttribute: Change the default data-testid attribute. configure what attribute to search while calling getByTestId
40
40
  * @property {Array} editionOrder: Order in the form of larger editions in the back. Edition with the most privelages should be last
41
41
  * @property {testSetupConfig} testSetup: Specify page and context functions that will be called while intilaizing fixtures.
42
- */
42
+ * @property {string} modules: Modules name to be used for running the specific module test cases.
43
+ */
43
44
  "use strict";
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.checkIfFileExists = checkIfFileExists;
8
+ exports.checkIfFolderExistsWithPattern = checkIfFolderExistsWithPattern;
8
9
  exports.deleteFile = deleteFile;
9
10
  exports.deleteFolder = deleteFolder;
10
11
  exports.readFileContents = readFileContents;
@@ -12,6 +13,8 @@ exports.writeFileContents = writeFileContents;
12
13
  var _fs = _interopRequireDefault(require("fs"));
13
14
  var _path = _interopRequireDefault(require("path"));
14
15
  var _logger = require("./logger");
16
+ var glob = _interopRequireWildcard(require("glob"));
17
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
18
  function checkIfFileExists(file) {
16
19
  try {
17
20
  _fs.default.accessSync(file, _fs.default.constants.F_OK);
@@ -69,4 +72,17 @@ function deleteFolder(folderPath) {
69
72
  throw new Error(`Error while deleting the test data file: ${folderPath}`);
70
73
  }
71
74
  }
75
+ }
76
+ // This function uses glob to check if a folder exists with a specific pattern
77
+ // Glob is define patterns for matching file and directory names based on wildcards
78
+ function checkIfFolderExistsWithPattern(folderPath) {
79
+ try {
80
+ if (glob.sync(folderPath).length > 0) {
81
+ return true;
82
+ }
83
+ return false;
84
+ } catch (err) {
85
+ _logger.Logger.error(err);
86
+ return false;
87
+ }
72
88
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/testinglibrary",
3
- "version": "2.9.10",
3
+ "version": "2.9.11",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "scripts": {
@@ -27,6 +27,7 @@
27
27
  "@testing-library/jest-dom": "5.11.9",
28
28
  "@testing-library/react": "11.2.7",
29
29
  "@testing-library/react-hooks": "7.0.2",
30
+ "@zohodesk/testinglibrary": "^3.1.2",
30
31
  "babel-jest": "29.6.2",
31
32
  "babel-plugin-transform-dynamic-import": "2.1.0",
32
33
  "fast-glob": "3.3.1",
@@ -40,9 +41,9 @@
40
41
  "ZDTestingFramework": "./bin/cli.js"
41
42
  },
42
43
  "peerDependencies": {
44
+ "eslint": "*",
43
45
  "react": "*",
44
- "react-dom": "*",
45
- "eslint": "*"
46
+ "react-dom": "*"
46
47
  },
47
48
  "devDependencies": {
48
49
  "@babel/cli": "7.22.15",
@@ -56,4 +57,4 @@
56
57
  "jest-html-reporter": "3.10.2",
57
58
  "typescript": "5.4.2"
58
59
  }
59
- }
60
+ }