@zohodesk/testinglibrary 3.2.14 → 3.2.15

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/README.md CHANGED
@@ -17,6 +17,23 @@
17
17
 
18
18
  - npm run report
19
19
 
20
+ ### v3.2.15 - 14-11-2025
21
+
22
+ #### Enhancement
23
+
24
+ - Aborted test results are now merged into the `.last-run.json` file.
25
+ This ensures that any timed-out tests are included in the next retry cycle.
26
+
27
+ ### v3.2.13 - 30-10-2025
28
+
29
+ #### Enhancement
30
+
31
+ - A teardown option has been introduced in the configuration to manage and clean up login sessions stored in the NFS environment.
32
+
33
+ ### Issue fix
34
+
35
+ - Custom teardown comment provided
36
+
20
37
  ### v3.2.11 - 13-10-2025
21
38
 
22
39
  ### Feature
@@ -60,6 +77,7 @@
60
77
  - Multi-actor execution support – now possible to switch between multiple profile agents within scenarios using the predefined step: - `access the {string} profile page`
61
78
 
62
79
  ### Bug fix
80
+
63
81
  - Fixed the issue where localapp and hcapp UAT were not running properly.
64
82
 
65
83
  ### v3.2.5 - 28-08-2025
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ 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';
10
+ }
11
+ exports.default = ReporterConstants;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = mergeAbortedTestsIntoLastRun;
8
+ var _fs = _interopRequireDefault(require("fs"));
9
+ var _path = _interopRequireDefault(require("path"));
10
+ var _logger = require("../../../../utils/logger");
11
+ var _fileUtils = require("../../../../utils/fileUtils");
12
+ var _reporterConstants = _interopRequireDefault(require("../../constants/reporterConstants"));
13
+ function mergeAbortedTestsIntoLastRun() {
14
+ let resultsFile = _path.default.resolve(process.cwd(), _reporterConstants.default.DEFAULT_REPORTER_PATH),
15
+ lastRunFile = _path.default.resolve(process.cwd(), _reporterConstants.default.LAST_RUN_REPORTER_PATH);
16
+ try {
17
+ let report;
18
+ try {
19
+ report = JSON.parse(_fs.default.readFileSync(resultsFile, 'utf-8'));
20
+ } catch (e) {
21
+ _logger.Logger.log(_logger.Logger.FAILURE_TYPE, `Failed to parse results file: ${resultsFile}`, e);
22
+ return;
23
+ }
24
+ const abortedTests = collectAbortedSpecIds(report);
25
+ let lastRunData = {
26
+ status: 'passed',
27
+ failedTests: []
28
+ };
29
+ if (_fs.default.existsSync(lastRunFile)) {
30
+ try {
31
+ const parsed = JSON.parse(_fs.default.readFileSync(lastRunFile, 'utf-8'));
32
+ lastRunData.status = parsed.status || lastRunData.status;
33
+ lastRunData.failedTests = Array.isArray(parsed.failedTests) ? parsed.failedTests : [];
34
+ } catch (e) {
35
+ _logger.Logger.log(_logger.Logger.FAILURE_TYPE, `Failed to parse existing last-run file: ${lastRunFile}`, e);
36
+ }
37
+ }
38
+
39
+ // Merge existing failed tests + aborted tests
40
+ const failedSet = new Set(lastRunData.failedTests);
41
+ for (const id of abortedTests) {
42
+ failedSet.add(id);
43
+ }
44
+ lastRunData.failedTests = [...failedSet];
45
+ lastRunData.status = failedSet.size > 0 ? 'failed' : lastRunData.status;
46
+ (0, _fileUtils.writeFileContents)(lastRunFile, JSON.stringify(lastRunData, null, 2));
47
+ _logger.Logger.log(_logger.Logger.INFO_TYPE, `Updated ${abortedTests.size} aborted tests in .last-run.json file \n`);
48
+ return lastRunData;
49
+ } catch (err) {
50
+ _logger.Logger.log(_logger.Logger.FAILURE_TYPE, `Error updating .last-run.json: ${err.message}`);
51
+ }
52
+ }
53
+ function collectAbortedSpecIds(report) {
54
+ const aborted = new Set();
55
+ if (!Array.isArray(report.suites)) {
56
+ return aborted;
57
+ }
58
+ const isAbortedSpec = spec => {
59
+ var _spec$tests;
60
+ const tags = Array.isArray(spec.tags) ? spec.tags : [];
61
+ return (_spec$tests = spec.tests) === null || _spec$tests === void 0 ? void 0 : _spec$tests.some(t => !tags.includes('skip') && t.projectName === 'chromium' && t.status === 'skipped');
62
+ };
63
+ const testResultsObj = report.suites;
64
+ while (testResultsObj.length > 0) {
65
+ const suite = testResultsObj.pop();
66
+ if (Array.isArray(suite.specs)) {
67
+ for (const spec of suite.specs) {
68
+ if (spec && isAbortedSpec(spec)) {
69
+ aborted.add(spec.id);
70
+ }
71
+ }
72
+ }
73
+ if (Array.isArray(suite.suites)) {
74
+ for (const child of suite.suites) testResultsObj.push(child);
75
+ }
76
+ }
77
+ return aborted;
78
+ }
@@ -11,6 +11,7 @@ var _fileUtils = require("../../../utils/fileUtils");
11
11
  var _readConfigFile = require("../readConfigFile");
12
12
  var _logger = require("../../../utils/logger");
13
13
  var _configFileNameProvider = require("../helpers/configFileNameProvider");
14
+ var _mergeAbortedTests = _interopRequireDefault(require("../reporter/helpers/mergeAbortedTests"));
14
15
  class JSONSummaryReporter {
15
16
  constructor() {
16
17
  this.durationInMS = -1;
@@ -123,6 +124,8 @@ class JSONSummaryReporter {
123
124
  (0, _fileUtils.writeFileContents)(_path.default.join(reportPath, './', (0, _configFileNameProvider.getReportFileName)()), JSON.stringify(this, null, ' '));
124
125
  }
125
126
  onExit() {
127
+ // Update .last-run.json with aborted tests due to timing out or interruption
128
+ (0, _mergeAbortedTests.default)();
126
129
  const shouldClearLastLine = this._open !== 'always' || this._open !== 'on-failure';
127
130
  if (shouldClearLastLine) {
128
131
  /**Below code is to replace the playwright default report commond with abstraction tool command */
@@ -22,7 +22,7 @@ class LoggerImpl {
22
22
  info() {}
23
23
  log(type, message) {
24
24
  const color = this.colors[type];
25
- this.consoleLogger.log(`${color[0]}${message}${color[1]}`);
25
+ this.consoleLogger.log(`${color[0]}${message}${color[1]}\n`);
26
26
  }
27
27
  }
28
28
  const Logger = exports.Logger = new LoggerImpl();
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@zohodesk/testinglibrary",
3
- "version": "3.2.14",
3
+ "version": "3.2.15",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@zohodesk/testinglibrary",
9
- "version": "3.2.14",
9
+ "version": "3.2.15",
10
10
  "hasInstallScript": true,
11
11
  "license": "ISC",
12
12
  "dependencies": {
@@ -2449,43 +2449,6 @@
2449
2449
  "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
2450
2450
  }
2451
2451
  },
2452
- "node_modules/@eslint/plugin-kit/node_modules/levn": {
2453
- "version": "0.4.1",
2454
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
2455
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
2456
- "license": "MIT",
2457
- "peer": true,
2458
- "dependencies": {
2459
- "prelude-ls": "^1.2.1",
2460
- "type-check": "~0.4.0"
2461
- },
2462
- "engines": {
2463
- "node": ">= 0.8.0"
2464
- }
2465
- },
2466
- "node_modules/@eslint/plugin-kit/node_modules/prelude-ls": {
2467
- "version": "1.2.1",
2468
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
2469
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
2470
- "license": "MIT",
2471
- "peer": true,
2472
- "engines": {
2473
- "node": ">= 0.8.0"
2474
- }
2475
- },
2476
- "node_modules/@eslint/plugin-kit/node_modules/type-check": {
2477
- "version": "0.4.0",
2478
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
2479
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
2480
- "license": "MIT",
2481
- "peer": true,
2482
- "dependencies": {
2483
- "prelude-ls": "^1.2.1"
2484
- },
2485
- "engines": {
2486
- "node": ">= 0.8.0"
2487
- }
2488
- },
2489
2452
  "node_modules/@humanfs/core": {
2490
2453
  "version": "0.19.1",
2491
2454
  "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
@@ -2539,12 +2502,12 @@
2539
2502
  }
2540
2503
  },
2541
2504
  "node_modules/@inquirer/external-editor": {
2542
- "version": "1.0.2",
2543
- "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.2.tgz",
2544
- "integrity": "sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==",
2505
+ "version": "1.0.3",
2506
+ "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz",
2507
+ "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==",
2545
2508
  "license": "MIT",
2546
2509
  "dependencies": {
2547
- "chardet": "^2.1.0",
2510
+ "chardet": "^2.1.1",
2548
2511
  "iconv-lite": "^0.7.0"
2549
2512
  },
2550
2513
  "engines": {
@@ -4088,9 +4051,9 @@
4088
4051
  "license": "MIT"
4089
4052
  },
4090
4053
  "node_modules/@types/node": {
4091
- "version": "24.9.1",
4092
- "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.1.tgz",
4093
- "integrity": "sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==",
4054
+ "version": "24.10.0",
4055
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.0.tgz",
4056
+ "integrity": "sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A==",
4094
4057
  "license": "MIT",
4095
4058
  "dependencies": {
4096
4059
  "undici-types": "~7.16.0"
@@ -4485,9 +4448,9 @@
4485
4448
  }
4486
4449
  },
4487
4450
  "node_modules/axios": {
4488
- "version": "1.13.0",
4489
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.0.tgz",
4490
- "integrity": "sha512-zt40Pz4zcRXra9CVV31KeyofwiNvAbJ5B6YPz9pMJ+yOSLikvPT4Yi5LjfgjRa9CawVYBaD1JQzIVcIvBejKeA==",
4451
+ "version": "1.13.2",
4452
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz",
4453
+ "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==",
4491
4454
  "license": "MIT",
4492
4455
  "dependencies": {
4493
4456
  "follow-redirects": "^1.15.6",
@@ -4722,9 +4685,9 @@
4722
4685
  "license": "MIT"
4723
4686
  },
4724
4687
  "node_modules/baseline-browser-mapping": {
4725
- "version": "2.8.20",
4726
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.20.tgz",
4727
- "integrity": "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==",
4688
+ "version": "2.8.25",
4689
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.25.tgz",
4690
+ "integrity": "sha512-2NovHVesVF5TXefsGX1yzx1xgr7+m9JQenvz6FQY3qd+YXkKkYiv+vTCc7OriP9mcDZpTC5mAOYN4ocd29+erA==",
4728
4691
  "license": "Apache-2.0",
4729
4692
  "bin": {
4730
4693
  "baseline-browser-mapping": "dist/cli.js"
@@ -4913,9 +4876,9 @@
4913
4876
  }
4914
4877
  },
4915
4878
  "node_modules/caniuse-lite": {
4916
- "version": "1.0.30001751",
4917
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz",
4918
- "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==",
4879
+ "version": "1.0.30001754",
4880
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001754.tgz",
4881
+ "integrity": "sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==",
4919
4882
  "funding": [
4920
4883
  {
4921
4884
  "type": "opencollective",
@@ -4981,9 +4944,9 @@
4981
4944
  }
4982
4945
  },
4983
4946
  "node_modules/chardet": {
4984
- "version": "2.1.0",
4985
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz",
4986
- "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==",
4947
+ "version": "2.1.1",
4948
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz",
4949
+ "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==",
4987
4950
  "license": "MIT"
4988
4951
  },
4989
4952
  "node_modules/chokidar": {
@@ -5606,9 +5569,9 @@
5606
5569
  "license": "MIT"
5607
5570
  },
5608
5571
  "node_modules/electron-to-chromium": {
5609
- "version": "1.5.240",
5610
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.240.tgz",
5611
- "integrity": "sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==",
5572
+ "version": "1.5.249",
5573
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.249.tgz",
5574
+ "integrity": "sha512-5vcfL3BBe++qZ5kuFhD/p8WOM1N9m3nwvJPULJx+4xf2usSlZFJ0qoNYO2fOX4hi3ocuDcmDobtA+5SFr4OmBg==",
5612
5575
  "license": "ISC"
5613
5576
  },
5614
5577
  "node_modules/emittery": {
@@ -5808,12 +5771,16 @@
5808
5771
  }
5809
5772
  },
5810
5773
  "node_modules/escape-string-regexp": {
5811
- "version": "1.0.5",
5812
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
5813
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
5774
+ "version": "4.0.0",
5775
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
5776
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
5814
5777
  "license": "MIT",
5778
+ "peer": true,
5815
5779
  "engines": {
5816
- "node": ">=0.8.0"
5780
+ "node": ">=10"
5781
+ },
5782
+ "funding": {
5783
+ "url": "https://github.com/sponsors/sindresorhus"
5817
5784
  }
5818
5785
  },
5819
5786
  "node_modules/escodegen": {
@@ -5927,19 +5894,6 @@
5927
5894
  "url": "https://opencollective.com/eslint"
5928
5895
  }
5929
5896
  },
5930
- "node_modules/eslint/node_modules/escape-string-regexp": {
5931
- "version": "4.0.0",
5932
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
5933
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
5934
- "license": "MIT",
5935
- "peer": true,
5936
- "engines": {
5937
- "node": ">=10"
5938
- },
5939
- "funding": {
5940
- "url": "https://github.com/sponsors/sindresorhus"
5941
- }
5942
- },
5943
5897
  "node_modules/eslint/node_modules/find-up": {
5944
5898
  "version": "5.0.0",
5945
5899
  "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -5970,20 +5924,6 @@
5970
5924
  "node": ">=10.13.0"
5971
5925
  }
5972
5926
  },
5973
- "node_modules/eslint/node_modules/levn": {
5974
- "version": "0.4.1",
5975
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
5976
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
5977
- "license": "MIT",
5978
- "peer": true,
5979
- "dependencies": {
5980
- "prelude-ls": "^1.2.1",
5981
- "type-check": "~0.4.0"
5982
- },
5983
- "engines": {
5984
- "node": ">= 0.8.0"
5985
- }
5986
- },
5987
5927
  "node_modules/eslint/node_modules/locate-path": {
5988
5928
  "version": "6.0.0",
5989
5929
  "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -6000,24 +5940,6 @@
6000
5940
  "url": "https://github.com/sponsors/sindresorhus"
6001
5941
  }
6002
5942
  },
6003
- "node_modules/eslint/node_modules/optionator": {
6004
- "version": "0.9.4",
6005
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
6006
- "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
6007
- "license": "MIT",
6008
- "peer": true,
6009
- "dependencies": {
6010
- "deep-is": "^0.1.3",
6011
- "fast-levenshtein": "^2.0.6",
6012
- "levn": "^0.4.1",
6013
- "prelude-ls": "^1.2.1",
6014
- "type-check": "^0.4.0",
6015
- "word-wrap": "^1.2.5"
6016
- },
6017
- "engines": {
6018
- "node": ">= 0.8.0"
6019
- }
6020
- },
6021
5943
  "node_modules/eslint/node_modules/p-locate": {
6022
5944
  "version": "5.0.0",
6023
5945
  "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
@@ -6034,29 +5956,6 @@
6034
5956
  "url": "https://github.com/sponsors/sindresorhus"
6035
5957
  }
6036
5958
  },
6037
- "node_modules/eslint/node_modules/prelude-ls": {
6038
- "version": "1.2.1",
6039
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
6040
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
6041
- "license": "MIT",
6042
- "peer": true,
6043
- "engines": {
6044
- "node": ">= 0.8.0"
6045
- }
6046
- },
6047
- "node_modules/eslint/node_modules/type-check": {
6048
- "version": "0.4.0",
6049
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
6050
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
6051
- "license": "MIT",
6052
- "peer": true,
6053
- "dependencies": {
6054
- "prelude-ls": "^1.2.1"
6055
- },
6056
- "engines": {
6057
- "node": ">= 0.8.0"
6058
- }
6059
- },
6060
5959
  "node_modules/espree": {
6061
5960
  "version": "10.4.0",
6062
5961
  "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
@@ -6338,6 +6237,15 @@
6338
6237
  "url": "https://github.com/sponsors/sindresorhus"
6339
6238
  }
6340
6239
  },
6240
+ "node_modules/figures/node_modules/escape-string-regexp": {
6241
+ "version": "1.0.5",
6242
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
6243
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
6244
+ "license": "MIT",
6245
+ "engines": {
6246
+ "node": ">=0.8.0"
6247
+ }
6248
+ },
6341
6249
  "node_modules/file-entry-cache": {
6342
6250
  "version": "8.0.0",
6343
6251
  "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
@@ -6516,20 +6424,6 @@
6516
6424
  "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
6517
6425
  "license": "ISC"
6518
6426
  },
6519
- "node_modules/fsevents": {
6520
- "version": "2.3.3",
6521
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
6522
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
6523
- "hasInstallScript": true,
6524
- "license": "MIT",
6525
- "optional": true,
6526
- "os": [
6527
- "darwin"
6528
- ],
6529
- "engines": {
6530
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
6531
- }
6532
- },
6533
6427
  "node_modules/function-bind": {
6534
6428
  "version": "1.1.2",
6535
6429
  "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
@@ -6770,9 +6664,9 @@
6770
6664
  "license": "ISC"
6771
6665
  },
6772
6666
  "node_modules/graphql": {
6773
- "version": "16.11.0",
6774
- "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.11.0.tgz",
6775
- "integrity": "sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==",
6667
+ "version": "16.12.0",
6668
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.12.0.tgz",
6669
+ "integrity": "sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==",
6776
6670
  "license": "MIT",
6777
6671
  "engines": {
6778
6672
  "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
@@ -9448,6 +9342,20 @@
9448
9342
  "node": ">=6"
9449
9343
  }
9450
9344
  },
9345
+ "node_modules/levn": {
9346
+ "version": "0.4.1",
9347
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
9348
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
9349
+ "license": "MIT",
9350
+ "peer": true,
9351
+ "dependencies": {
9352
+ "prelude-ls": "^1.2.1",
9353
+ "type-check": "~0.4.0"
9354
+ },
9355
+ "engines": {
9356
+ "node": ">= 0.8.0"
9357
+ }
9358
+ },
9451
9359
  "node_modules/lines-and-columns": {
9452
9360
  "version": "1.2.4",
9453
9361
  "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
@@ -9932,9 +9840,9 @@
9932
9840
  "license": "MIT"
9933
9841
  },
9934
9842
  "node_modules/node-releases": {
9935
- "version": "2.0.26",
9936
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.26.tgz",
9937
- "integrity": "sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==",
9843
+ "version": "2.0.27",
9844
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
9845
+ "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
9938
9846
  "license": "MIT"
9939
9847
  },
9940
9848
  "node_modules/normalize-package-data": {
@@ -10089,6 +9997,24 @@
10089
9997
  "url": "https://github.com/sponsors/sindresorhus"
10090
9998
  }
10091
9999
  },
10000
+ "node_modules/optionator": {
10001
+ "version": "0.9.4",
10002
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
10003
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
10004
+ "license": "MIT",
10005
+ "peer": true,
10006
+ "dependencies": {
10007
+ "deep-is": "^0.1.3",
10008
+ "fast-levenshtein": "^2.0.6",
10009
+ "levn": "^0.4.1",
10010
+ "prelude-ls": "^1.2.1",
10011
+ "type-check": "^0.4.0",
10012
+ "word-wrap": "^1.2.5"
10013
+ },
10014
+ "engines": {
10015
+ "node": ">= 0.8.0"
10016
+ }
10017
+ },
10092
10018
  "node_modules/ora": {
10093
10019
  "version": "5.4.1",
10094
10020
  "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
@@ -10567,20 +10493,6 @@
10567
10493
  "node": ">=18"
10568
10494
  }
10569
10495
  },
10570
- "node_modules/playwright/node_modules/fsevents": {
10571
- "version": "2.3.2",
10572
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
10573
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
10574
- "hasInstallScript": true,
10575
- "license": "MIT",
10576
- "optional": true,
10577
- "os": [
10578
- "darwin"
10579
- ],
10580
- "engines": {
10581
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
10582
- }
10583
- },
10584
10496
  "node_modules/possible-typed-array-names": {
10585
10497
  "version": "1.1.0",
10586
10498
  "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
@@ -10590,6 +10502,16 @@
10590
10502
  "node": ">= 0.4"
10591
10503
  }
10592
10504
  },
10505
+ "node_modules/prelude-ls": {
10506
+ "version": "1.2.1",
10507
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
10508
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
10509
+ "license": "MIT",
10510
+ "peer": true,
10511
+ "engines": {
10512
+ "node": ">= 0.8.0"
10513
+ }
10514
+ },
10593
10515
  "node_modules/pretty-format": {
10594
10516
  "version": "26.6.2",
10595
10517
  "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
@@ -11258,9 +11180,9 @@
11258
11180
  }
11259
11181
  },
11260
11182
  "node_modules/set-cookie-parser": {
11261
- "version": "2.7.1",
11262
- "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
11263
- "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==",
11183
+ "version": "2.7.2",
11184
+ "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz",
11185
+ "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==",
11264
11186
  "license": "MIT"
11265
11187
  },
11266
11188
  "node_modules/set-function-length": {
@@ -11899,6 +11821,19 @@
11899
11821
  "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
11900
11822
  "license": "0BSD"
11901
11823
  },
11824
+ "node_modules/type-check": {
11825
+ "version": "0.4.0",
11826
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
11827
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
11828
+ "license": "MIT",
11829
+ "peer": true,
11830
+ "dependencies": {
11831
+ "prelude-ls": "^1.2.1"
11832
+ },
11833
+ "engines": {
11834
+ "node": ">= 0.8.0"
11835
+ }
11836
+ },
11902
11837
  "node_modules/type-detect": {
11903
11838
  "version": "4.0.8",
11904
11839
  "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/testinglibrary",
3
- "version": "3.2.14",
3
+ "version": "3.2.15",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "scripts": {
@@ -0,0 +1,4 @@
1
+ {
2
+ "status": "passed",
3
+ "failedTests": []
4
+ }
@@ -0,0 +1,260 @@
1
+ <html><head><meta charset="utf-8"/><title>Unit Report</title><style type="text/css">html,
2
+ body {
3
+ font-family: Arial, Helvetica, sans-serif;
4
+ font-size: 1rem;
5
+ margin: 0;
6
+ padding: 0;
7
+ color: #333;
8
+ }
9
+ body {
10
+ padding: 2rem 1rem;
11
+ font-size: 0.85rem;
12
+ }
13
+ .jesthtml-content {
14
+ margin: 0 auto;
15
+ max-width: 70rem;
16
+ }
17
+ header {
18
+ display: flex;
19
+ align-items: center;
20
+ }
21
+ #title {
22
+ margin: 0;
23
+ flex-grow: 1;
24
+ }
25
+ #logo {
26
+ height: 4rem;
27
+ }
28
+ #timestamp {
29
+ color: #777;
30
+ margin-top: 0.5rem;
31
+ }
32
+
33
+ /** SUMMARY */
34
+ #summary {
35
+ color: #333;
36
+ margin: 2rem 0;
37
+ display: flex;
38
+ font-family: monospace;
39
+ font-size: 1rem;
40
+ }
41
+ #summary > div {
42
+ margin-right: 2rem;
43
+ background: #eee;
44
+ padding: 1rem;
45
+ min-width: 15rem;
46
+ }
47
+ #summary > div:last-child {
48
+ margin-right: 0;
49
+ }
50
+ @media only screen and (max-width: 720px) {
51
+ #summary {
52
+ flex-direction: column;
53
+ }
54
+ #summary > div {
55
+ margin-right: 0;
56
+ margin-top: 2rem;
57
+ }
58
+ #summary > div:first-child {
59
+ margin-top: 0;
60
+ }
61
+ }
62
+
63
+ .summary-total {
64
+ font-weight: bold;
65
+ margin-bottom: 0.5rem;
66
+ }
67
+ .summary-passed {
68
+ color: #4f8a10;
69
+ border-left: 0.4rem solid #4f8a10;
70
+ padding-left: 0.5rem;
71
+ }
72
+ .summary-failed,
73
+ .summary-obsolete-snapshots {
74
+ color: #d8000c;
75
+ border-left: 0.4rem solid #d8000c;
76
+ padding-left: 0.5rem;
77
+ }
78
+ .summary-pending {
79
+ color: #9f6000;
80
+ border-left: 0.4rem solid #9f6000;
81
+ padding-left: 0.5rem;
82
+ }
83
+ .summary-empty {
84
+ color: #999;
85
+ border-left: 0.4rem solid #999;
86
+ }
87
+
88
+ .test-result {
89
+ padding: 1rem;
90
+ margin-bottom: 0.25rem;
91
+ }
92
+ .test-result:last-child {
93
+ border: 0;
94
+ }
95
+ .test-result.passed {
96
+ background-color: #dff2bf;
97
+ color: #4f8a10;
98
+ }
99
+ .test-result.failed {
100
+ background-color: #ffbaba;
101
+ color: #d8000c;
102
+ }
103
+ .test-result.pending {
104
+ background-color: #ffdf61;
105
+ color: #9f6000;
106
+ }
107
+
108
+ .test-info {
109
+ display: flex;
110
+ justify-content: space-between;
111
+ }
112
+ .test-suitename {
113
+ width: 20%;
114
+ text-align: left;
115
+ font-weight: bold;
116
+ word-break: break-word;
117
+ }
118
+ .test-title {
119
+ width: 40%;
120
+ text-align: left;
121
+ font-style: italic;
122
+ }
123
+ .test-status {
124
+ width: 20%;
125
+ text-align: right;
126
+ }
127
+ .test-duration {
128
+ width: 10%;
129
+ text-align: right;
130
+ font-size: 0.75rem;
131
+ }
132
+
133
+ .failureMessages {
134
+ padding: 0 1rem;
135
+ margin-top: 1rem;
136
+ border-top: 1px dashed #d8000c;
137
+ }
138
+ .failureMessages.suiteFailure {
139
+ border-top: none;
140
+ }
141
+ .failureMsg {
142
+ white-space: pre-wrap;
143
+ white-space: -moz-pre-wrap;
144
+ white-space: -pre-wrap;
145
+ white-space: -o-pre-wrap;
146
+ word-wrap: break-word;
147
+ }
148
+
149
+ .suite-container {
150
+ margin-bottom: 2rem;
151
+ }
152
+ .suite-container > input[type="checkbox"] {
153
+ position: absolute;
154
+ left: -100vw;
155
+ }
156
+ .suite-container label {
157
+ display: block;
158
+ }
159
+ .suite-container .suite-tests {
160
+ overflow-y: hidden;
161
+ height: 0;
162
+ }
163
+ .suite-container > input[type="checkbox"]:checked ~ .suite-tests {
164
+ height: auto;
165
+ overflow: visible;
166
+ }
167
+ .suite-info {
168
+ padding: 1rem;
169
+ background-color: #eee;
170
+ color: #777;
171
+ display: flex;
172
+ align-items: center;
173
+ margin-bottom: 0.25rem;
174
+ }
175
+ .suite-info:hover {
176
+ background-color: #ddd;
177
+ cursor: pointer;
178
+ }
179
+ .suite-info .suite-path {
180
+ word-break: break-all;
181
+ flex-grow: 1;
182
+ font-family: monospace;
183
+ font-size: 1rem;
184
+ }
185
+ .suite-info .suite-time {
186
+ margin-left: 0.5rem;
187
+ padding: 0.2rem 0.3rem;
188
+ font-size: 0.75rem;
189
+ }
190
+ .suite-info .suite-time.warn {
191
+ background-color: #d8000c;
192
+ color: #fff;
193
+ }
194
+ .suite-info:before {
195
+ content: "\2303";
196
+ display: inline-block;
197
+ margin-right: 0.5rem;
198
+ transform: rotate(0deg);
199
+ }
200
+ .suite-container > input[type="checkbox"]:checked ~ label .suite-info:before {
201
+ transform: rotate(180deg);
202
+ }
203
+
204
+ /* CONSOLE LOGS */
205
+ .suite-consolelog {
206
+ margin-bottom: 0.25rem;
207
+ padding: 1rem;
208
+ background-color: #efefef;
209
+ }
210
+ .suite-consolelog-header {
211
+ font-weight: bold;
212
+ }
213
+ .suite-consolelog-item {
214
+ padding: 0.5rem;
215
+ }
216
+ .suite-consolelog-item pre {
217
+ margin: 0.5rem 0;
218
+ white-space: pre-wrap;
219
+ white-space: -moz-pre-wrap;
220
+ white-space: -pre-wrap;
221
+ white-space: -o-pre-wrap;
222
+ word-wrap: break-word;
223
+ }
224
+ .suite-consolelog-item-origin {
225
+ color: #777;
226
+ font-weight: bold;
227
+ }
228
+ .suite-consolelog-item-message {
229
+ color: #000;
230
+ font-size: 1rem;
231
+ padding: 0 0.5rem;
232
+ }
233
+
234
+ /* OBSOLETE SNAPSHOTS */
235
+ .suite-obsolete-snapshots {
236
+ margin-bottom: 0.25rem;
237
+ padding: 1rem;
238
+ background-color: #ffbaba;
239
+ color: #d8000c;
240
+ }
241
+ .suite-obsolete-snapshots-header {
242
+ font-weight: bold;
243
+ }
244
+ .suite-obsolete-snapshots-item {
245
+ padding: 0.5rem;
246
+ }
247
+ .suite-obsolete-snapshots-item pre {
248
+ margin: 0.5rem 0;
249
+ white-space: pre-wrap;
250
+ white-space: -moz-pre-wrap;
251
+ white-space: -pre-wrap;
252
+ white-space: -o-pre-wrap;
253
+ word-wrap: break-word;
254
+ }
255
+ .suite-obsolete-snapshots-item-message {
256
+ color: #000;
257
+ font-size: 1rem;
258
+ padding: 0 0.5rem;
259
+ }
260
+ </style></head><body><div class="jesthtml-content"><header><h1 id="title">Unit Report</h1></header><div id="metadata-container"><div id="timestamp">Started: 2025-11-14 18:34:36</div><div id="summary"><div id="suite-summary"><div class="summary-total">Suites (12)</div><div class="summary-passed ">12 passed</div><div class="summary-failed summary-empty">0 failed</div><div class="summary-pending summary-empty">0 pending</div></div><div id="test-summary"><div class="summary-total">Tests (41)</div><div class="summary-passed ">41 passed</div><div class="summary-failed summary-empty">0 failed</div><div class="summary-pending summary-empty">0 pending</div></div></div></div><div id="suite-1" class="suite-container"><input id="collapsible-0" type="checkbox" class="toggle" checked="checked"/><label for="collapsible-0"><div class="suite-info"><div class="suite-path">/Users/muthu-19817/git/testing-framework/src/test/core/playwright/__tests__/tagProcessor.test.js</div><div class="suite-time">1.173s</div></div></label><div class="suite-tests"><div class="test-result passed"><div class="test-info"><div class="test-suitename">TagProcessor</div><div class="test-title">should return tagArgs if no edition is provided</div><div class="test-status">passed</div><div class="test-duration">0.007s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">TagProcessor</div><div class="test-title">should handle a single edition with &lt;= operator</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">TagProcessor</div><div class="test-title">should handle a single edition with &gt;= operator</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">TagProcessor</div><div class="test-title">should handle a single edition with &lt; operator</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">TagProcessor</div><div class="test-title">should handle a single edition with &gt; operator</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">TagProcessor</div><div class="test-title">should handle a single edition with no operator</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">TagProcessor</div><div class="test-title">should log a message if edition is not found</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">TagProcessor</div><div class="test-title">should handle multiple editions</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">TagProcessor</div><div class="test-title">should build tags correctly when tags are empty</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div></div></div><div id="suite-2" class="suite-container"><input id="collapsible-1" type="checkbox" class="toggle" checked="checked"/><label for="collapsible-1"><div class="suite-info"><div class="suite-path">/Users/muthu-19817/git/testing-framework/src/test/core/playwright/helpers/__tests__/customFixturesHelper.test.js</div><div class="suite-time">1.223s</div></div></label><div class="suite-tests"><div class="test-result passed"><div class="test-info"><div class="test-suitename">getCustomAccountDetails</div><div class="test-title">returns selected user when any tag info is present</div><div class="test-status">passed</div><div class="test-duration">0.01s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">getCustomAccountDetails</div><div class="test-title">logs and returns undefined if getCustomAccountDetails function throws</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">getCustomAccountDetails</div><div class="test-title">returns default actor when no tag info is not provided</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div></div></div><div id="suite-3" class="suite-container"><input id="collapsible-2" type="checkbox" class="toggle" checked="checked"/><label for="collapsible-2"><div class="suite-info"><div class="suite-path">/Users/muthu-19817/git/testing-framework/src/test/core/playwright/helpers/__tests__/additionalProfiles.test.js</div><div class="suite-time">1.243s</div></div></label><div class="suite-tests"><div class="test-result passed"><div class="test-info"><div class="test-suitename">additionalProfiles</div><div class="test-title">should return empty object when no additional profile tags are present</div><div class="test-status">passed</div><div class="test-duration">0.007s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">additionalProfiles</div><div class="test-title">should return additional profile actors when additional profile tags and editionInfo are present</div><div class="test-status">passed</div><div class="test-duration">0.004s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">additionalProfiles</div><div class="test-title">should return additional profile actors when all actor details are present</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div></div></div><div id="suite-4" class="suite-container"><input id="collapsible-3" type="checkbox" class="toggle" checked="checked"/><label for="collapsible-3"><div class="suite-info"><div class="suite-path">/Users/muthu-19817/git/testing-framework/src/test/core/playwright/helpers/__tests__/getUsers_ListOfActors.test.js</div><div class="suite-time">1.68s</div></div></label><div class="suite-tests"><div class="test-result passed"><div class="test-info"><div class="test-suitename">getListOfActors</div><div class="test-title">throws an error when config file cannot be loaded</div><div class="test-status">passed</div><div class="test-duration">0.076s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">getListOfActors</div><div class="test-title">throws an error when beta feature config does not exist</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">getListOfActors</div><div class="test-title">loads main configuration when betaFeature is not provided and main config file exists</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">getListOfActors</div><div class="test-title">falls back to default configuration if main config file does not exist</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">getListOfActors</div><div class="test-title">loads beta feature configuration when betaFeature is provided</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div></div></div><div id="suite-5" class="suite-container"><input id="collapsible-4" type="checkbox" class="toggle" checked="checked"/><label for="collapsible-4"><div class="suite-info"><div class="suite-path">/Users/muthu-19817/git/testing-framework/src/test/core/playwright/helpers/__tests__/configFileNameProvider.test.js</div><div class="suite-time">0.545s</div></div></label><div class="suite-tests"><div class="test-result passed"><div class="test-info"><div class="test-suitename">getUATFileName</div><div class="test-title">return the pipeline matched config files for pipeline matched files exists</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">getUATFileName</div><div class="test-title">return the default config files for pipeline matched files not exists</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div></div></div><div id="suite-6" class="suite-container"><input id="collapsible-5" type="checkbox" class="toggle" checked="checked"/><label for="collapsible-5"><div class="suite-info"><div class="suite-path">/Users/muthu-19817/git/testing-framework/examples/src/__tests__/App.test.js</div><div class="suite-time">0.192s</div></div></label><div class="suite-tests"><div class="test-result passed"><div class="test-info"><div class="test-suitename">example functions</div><div class="test-title">add function adds two numbers correctly</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">example functions</div><div class="test-title">greet function greets a person with their name</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div></div></div><div id="suite-7" class="suite-container"><input id="collapsible-6" type="checkbox" class="toggle" checked="checked"/><label for="collapsible-6"><div class="suite-info"><div class="suite-path">/Users/muthu-19817/git/testing-framework/src/test/core/playwright/buildInFixtures/__tests__/executionContext.test.js</div><div class="suite-time">0.63s</div></div></label><div class="suite-tests"><div class="test-result passed"><div class="test-info"><div class="test-suitename">executionContext</div><div class="test-title">should pass actorInfo with details from getCustomAccountDetails to use</div><div class="test-status">passed</div><div class="test-duration">0.002s</div></div></div></div></div><div id="suite-8" class="suite-container"><input id="collapsible-7" type="checkbox" class="toggle" checked="checked"/><label for="collapsible-7"><div class="suite-info"><div class="suite-path">/Users/muthu-19817/git/testing-framework/src/test/core/playwright/configuration/__tests__/Configuration.test.js</div><div class="suite-time">0.148s</div></div></label><div class="suite-tests"><div class="test-result passed"><div class="test-info"><div class="test-suitename">Configuration Class</div><div class="test-title">should add new key-value pair to the configuration</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">Configuration Class</div><div class="test-title">should combine configurations correctly using addAll</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">Configuration Class</div><div class="test-title">should return correct value for a given key</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div></div></div><div id="suite-9" class="suite-container"><input id="collapsible-8" type="checkbox" class="toggle" checked="checked"/><label for="collapsible-8"><div class="suite-info"><div class="suite-path">/Users/muthu-19817/git/testing-framework/src/test/core/playwright/helpers/__tests__/fileMutex.test.js</div><div class="suite-time">2.282s</div></div></label><div class="suite-tests"><div class="test-result passed"><div class="test-info"><div class="test-suitename">FileMutex &gt; acquire</div><div class="test-title">should create the lock file if it does not exist</div><div class="test-status">passed</div><div class="test-duration">0.052s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">FileMutex &gt; acquire</div><div class="test-title">should wait for lock file deletion if it exists</div><div class="test-status">passed</div><div class="test-duration">0.007s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">FileMutex &gt; acquire</div><div class="test-title">should reject if watch timeout exceeds</div><div class="test-status">passed</div><div class="test-duration">1.015s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">FileMutex &gt; release</div><div class="test-title">should delete the lock file if it exists</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">FileMutex &gt; release</div><div class="test-title">should release lock by deleting lock file</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">FileMutex &gt; release</div><div class="test-title">should not attempt to delete the lock file if it does not exist</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">FileMutex &gt; release</div><div class="test-title">should log an error if deleting the lock file fails</div><div class="test-status">passed</div><div class="test-duration">0.005s</div></div></div></div></div><div id="suite-10" class="suite-container"><input id="collapsible-9" type="checkbox" class="toggle" checked="checked"/><label for="collapsible-9"><div class="suite-info"><div class="suite-path">/Users/muthu-19817/git/testing-framework/src/test/core/playwright/runner/__tests__/SpawnRunner.test.js</div><div class="suite-time">2.264s</div></div></label><div class="suite-tests"><div class="test-result passed"><div class="test-info"><div class="test-suitename">SpawnRunner &gt; run</div><div class="test-title">should call runPreprocessing when bddMode is true</div><div class="test-status">passed</div><div class="test-duration">0.004s</div></div></div></div></div><div id="suite-11" class="suite-container"><input id="collapsible-10" type="checkbox" class="toggle" checked="checked"/><label for="collapsible-10"><div class="suite-info"><div class="suite-path">/Users/muthu-19817/git/testing-framework/src/test/core/playwright/runner/__tests__/RunnerHelper.test.js</div><div class="suite-time">1.045s</div></div></label><div class="suite-tests"><div class="test-result passed"><div class="test-info"><div class="test-suitename">RunnerHelper &gt; createRunner</div><div class="test-title">should throw error on invalid runner type</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">RunnerHelper &gt; createRunner</div><div class="test-title">should create a valid runner class</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div></div></div><div id="suite-12" class="suite-container"><input id="collapsible-11" type="checkbox" class="toggle" checked="checked"/><label for="collapsible-11"><div class="suite-info"><div class="suite-path">/Users/muthu-19817/git/testing-framework/src/test/core/playwright/__tests__/validateFeature.test.js</div><div class="suite-time">2.325s</div></div></label><div class="suite-tests"><div class="test-result passed"><div class="test-info"><div class="test-suitename">validateFeatureFiles</div><div class="test-title">runPreprocessing with correct arguments and log success</div><div class="test-status">passed</div><div class="test-duration">0.008s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">validateFeatureFiles</div><div class="test-title">runPreprocessing with playwright conf</div><div class="test-status">passed</div><div class="test-duration">0s</div></div></div><div class="test-result passed"><div class="test-info"><div class="test-suitename">validateFeatureFiles</div><div class="test-title">error when runPreprocessing fails</div><div class="test-status">passed</div><div class="test-duration">0.001s</div></div></div></div></div></div></body></html>
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- delete require.cache[require.resolve('../core/playwright/runner/Runner')];
4
- function test() {
5
- const inputString = "@hc";
6
- const selectedTag = ["@hc_1234"].reverse().find(tag => tag.startsWith(inputString));
7
- let tagInput = null;
8
- if (selectedTag) {
9
- tagInput = selectedTag.split(`${inputString}_`).pop().toLowerCase();
10
- }
11
- console.log(tagInput);
12
- }
13
- test();