@zohodesk/testinglibrary 0.3.2-experimental → 0.3.3-experimental

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +1 -10
  2. package/build/core/playwright/fixtures.js +24 -0
  3. package/build/core/playwright/index.js +10 -23
  4. package/build/core/playwright/indexOld.js +37 -0
  5. package/build/core/playwright/setup/config-creator.js +3 -3
  6. package/build/core/playwright/setup/config-utils.js +8 -25
  7. package/build/core/playwright/setup/custom-reporter.js +13 -39
  8. package/build/core/playwright/test-runner.js +2 -2
  9. package/build/decorators.d.ts +1 -1
  10. package/build/decorators.js +1 -1
  11. package/npm-shrinkwrap.json +5795 -2145
  12. package/package.json +6 -5
  13. package/build/bdd-framework/cli/commands/env.js +0 -42
  14. package/build/bdd-framework/cli/commands/export.js +0 -62
  15. package/build/bdd-framework/cli/commands/test.js +0 -64
  16. package/build/bdd-framework/cli/index.js +0 -11
  17. package/build/bdd-framework/cli/options.js +0 -19
  18. package/build/bdd-framework/cli/worker.js +0 -13
  19. package/build/bdd-framework/config/configDir.js +0 -35
  20. package/build/bdd-framework/config/enrichReporterData.js +0 -23
  21. package/build/bdd-framework/config/env.js +0 -50
  22. package/build/bdd-framework/config/index.js +0 -94
  23. package/build/bdd-framework/config/lang.js +0 -14
  24. package/build/bdd-framework/cucumber/buildStepDefinition.js +0 -43
  25. package/build/bdd-framework/cucumber/createTestStep.js +0 -43
  26. package/build/bdd-framework/cucumber/formatter/EventDataCollector.js +0 -126
  27. package/build/bdd-framework/cucumber/formatter/GherkinDocumentParser.js +0 -72
  28. package/build/bdd-framework/cucumber/formatter/PickleParser.js +0 -25
  29. package/build/bdd-framework/cucumber/formatter/durationHelpers.js +0 -13
  30. package/build/bdd-framework/cucumber/formatter/getColorFns.js +0 -57
  31. package/build/bdd-framework/cucumber/formatter/index.js +0 -16
  32. package/build/bdd-framework/cucumber/formatter/locationHelpers.js +0 -16
  33. package/build/bdd-framework/cucumber/loadConfig.js +0 -17
  34. package/build/bdd-framework/cucumber/loadFeatures.js +0 -70
  35. package/build/bdd-framework/cucumber/loadSnippetBuilder.js +0 -20
  36. package/build/bdd-framework/cucumber/loadSteps.js +0 -47
  37. package/build/bdd-framework/cucumber/resolveFeaturePaths.js +0 -62
  38. package/build/bdd-framework/cucumber/stepArguments.js +0 -21
  39. package/build/bdd-framework/cucumber/types.js +0 -5
  40. package/build/bdd-framework/cucumber/valueChecker.js +0 -23
  41. package/build/bdd-framework/decorators.js +0 -18
  42. package/build/bdd-framework/gen/fixtures.js +0 -48
  43. package/build/bdd-framework/gen/formatter.js +0 -167
  44. package/build/bdd-framework/gen/i18n.js +0 -39
  45. package/build/bdd-framework/gen/index.js +0 -197
  46. package/build/bdd-framework/gen/specialTags.js +0 -70
  47. package/build/bdd-framework/gen/testFile.js +0 -470
  48. package/build/bdd-framework/gen/testMeta.js +0 -60
  49. package/build/bdd-framework/gen/testNode.js +0 -35
  50. package/build/bdd-framework/gen/testPoms.js +0 -133
  51. package/build/bdd-framework/hooks/scenario.js +0 -130
  52. package/build/bdd-framework/hooks/worker.js +0 -89
  53. package/build/bdd-framework/index.js +0 -52
  54. package/build/bdd-framework/playwright/fixtureParameterNames.js +0 -93
  55. package/build/bdd-framework/playwright/getLocationInFile.js +0 -79
  56. package/build/bdd-framework/playwright/loadConfig.js +0 -42
  57. package/build/bdd-framework/playwright/loadUtils.js +0 -33
  58. package/build/bdd-framework/playwright/testTypeImpl.js +0 -79
  59. package/build/bdd-framework/playwright/transform.js +0 -88
  60. package/build/bdd-framework/playwright/types.js +0 -12
  61. package/build/bdd-framework/playwright/utils.js +0 -56
  62. package/build/bdd-framework/reporter/cucumber/base.js +0 -52
  63. package/build/bdd-framework/reporter/cucumber/custom.js +0 -73
  64. package/build/bdd-framework/reporter/cucumber/helper.js +0 -12
  65. package/build/bdd-framework/reporter/cucumber/html.js +0 -40
  66. package/build/bdd-framework/reporter/cucumber/index.js +0 -74
  67. package/build/bdd-framework/reporter/cucumber/json.js +0 -312
  68. package/build/bdd-framework/reporter/cucumber/junit.js +0 -205
  69. package/build/bdd-framework/reporter/cucumber/message.js +0 -20
  70. package/build/bdd-framework/reporter/cucumber/messagesBuilder/AttachmentMapper.js +0 -82
  71. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Builder.js +0 -197
  72. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocument.js +0 -43
  73. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocumentClone.js +0 -52
  74. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocuments.js +0 -105
  75. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Hook.js +0 -70
  76. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Meta.js +0 -45
  77. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Pickles.js +0 -27
  78. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Projects.js +0 -38
  79. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCase.js +0 -128
  80. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRun.js +0 -154
  81. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRunHooks.js +0 -123
  82. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepAttachments.js +0 -67
  83. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepRun.js +0 -114
  84. package/build/bdd-framework/reporter/cucumber/messagesBuilder/index.js +0 -30
  85. package/build/bdd-framework/reporter/cucumber/messagesBuilder/pwStepUtils.js +0 -70
  86. package/build/bdd-framework/reporter/cucumber/messagesBuilder/timing.js +0 -35
  87. package/build/bdd-framework/reporter/cucumber/messagesBuilder/types.js +0 -5
  88. package/build/bdd-framework/run/StepInvoker.js +0 -69
  89. package/build/bdd-framework/run/bddData/index.js +0 -59
  90. package/build/bdd-framework/run/bddData/types.js +0 -5
  91. package/build/bdd-framework/run/bddFixtures.js +0 -192
  92. package/build/bdd-framework/run/bddWorld.js +0 -79
  93. package/build/bdd-framework/run/bddWorldInternal.js +0 -11
  94. package/build/bdd-framework/snippets/index.js +0 -132
  95. package/build/bdd-framework/snippets/snippetSyntax.js +0 -43
  96. package/build/bdd-framework/snippets/snippetSyntaxDecorators.js +0 -26
  97. package/build/bdd-framework/snippets/snippetSyntaxTs.js +0 -18
  98. package/build/bdd-framework/stepDefinitions/createBdd.js +0 -66
  99. package/build/bdd-framework/stepDefinitions/decorators/class.js +0 -68
  100. package/build/bdd-framework/stepDefinitions/decorators/steps.js +0 -99
  101. package/build/bdd-framework/stepDefinitions/defineStep.js +0 -62
  102. package/build/bdd-framework/stepDefinitions/stepConfig.js +0 -24
  103. package/build/bdd-framework/steps/createBdd.js +0 -78
  104. package/build/bdd-framework/steps/decorators/class.js +0 -68
  105. package/build/bdd-framework/steps/decorators/steps.js +0 -98
  106. package/build/bdd-framework/steps/defineStep.js +0 -62
  107. package/build/bdd-framework/steps/stepConfig.js +0 -24
  108. package/build/bdd-framework/utils/AutofillMap.js +0 -20
  109. package/build/bdd-framework/utils/exit.js +0 -62
  110. package/build/bdd-framework/utils/index.js +0 -93
  111. package/build/bdd-framework/utils/jsStringWrap.js +0 -44
  112. package/build/bdd-framework/utils/logger.js +0 -30
  113. package/build/bdd-framework/utils/stripAnsiEscapes.js +0 -20
package/README.md CHANGED
@@ -15,13 +15,4 @@
15
15
  ### Generate Report
16
16
 
17
17
  - npm run report
18
-
19
- ## Version History
20
-
21
- ### v0.2.8 - 26-09-2024
22
-
23
- #### Feature
24
- - Added support for writing unitcases for framework implementations
25
-
26
- ### Bug fix
27
- - Updated the custom-reported to include the errors in tests during the executions. It will help us avoid the stage passed without the actual test execution.
18
+
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _test = require("@playwright/test");
5
+ var _playwrightBdd = require("playwright-bdd");
6
+ var _readConfigFile = require("./readConfigFile");
7
+ var _builtInFixtures = _interopRequireDefault(require("./builtInFixtures"));
8
+ var _getUserFixtures = _interopRequireDefault(require("./helpers/getUserFixtures"));
9
+ const {
10
+ bddMode
11
+ } = (0, _readConfigFile.generateConfigFromFile)();
12
+ let base = bddMode ? _playwrightBdd.test : _test.test;
13
+ const buildInFixtures = (0, _builtInFixtures.default)();
14
+ const buildInFixturesTest = base.extend({
15
+ ...buildInFixtures
16
+ });
17
+ const userFixtures = (0, _getUserFixtures.default)();
18
+ const userFixturesTest = base.extend({
19
+ ...userFixtures
20
+ });
21
+ const test = (0, _test.mergeTests)(buildInFixturesTest, userFixturesTest);
22
+ module.exports = {
23
+ test
24
+ };
@@ -1,37 +1,24 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- Object.defineProperty(exports, "createBdd", {
6
+ exports.createBdd = void 0;
7
+ Object.defineProperty(exports, "expect", {
8
8
  enumerable: true,
9
9
  get: function () {
10
- return _bddFramework.createBdd;
10
+ return _test.expect;
11
11
  }
12
12
  });
13
- Object.defineProperty(exports, "expect", {
13
+ Object.defineProperty(exports, "test", {
14
14
  enumerable: true,
15
15
  get: function () {
16
- return _test.expect;
16
+ return _playwrightBdd.test;
17
17
  }
18
18
  });
19
- exports.test = void 0;
20
- var _bddFramework = require("../../bdd-framework");
19
+ var _playwrightBdd = require("playwright-bdd");
21
20
  var _test = require("@playwright/test");
22
- var _readConfigFile = require("./readConfigFile");
23
- var _builtInFixtures = _interopRequireDefault(require("./builtInFixtures"));
24
- var _getUserFixtures = _interopRequireDefault(require("./helpers/getUserFixtures"));
25
- const {
26
- bddMode
27
- } = (0, _readConfigFile.generateConfigFromFile)();
28
- let base = bddMode ? _bddFramework.test : _test.test;
29
- const buildInFixtures = (0, _builtInFixtures.default)(bddMode);
30
- const buildInFixturesTest = base.extend({
31
- ...buildInFixtures
32
- });
33
- const userFixtures = (0, _getUserFixtures.default)();
34
- const userFixturesTest = base.extend({
35
- ...userFixtures
36
- });
37
- const test = exports.test = (0, _test.mergeTests)(buildInFixturesTest, userFixturesTest);
21
+ let createBdd = function () {
22
+ return (0, _playwrightBdd.createBdd)(_playwrightBdd.test);
23
+ };
24
+ exports.createBdd = createBdd;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "createBdd", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _bddFramework.createBdd;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "expect", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _test.expect;
17
+ }
18
+ });
19
+ exports.test = void 0;
20
+ var _bddFramework = require("../../bdd-framework");
21
+ var _test = require("@playwright/test");
22
+ var _readConfigFile = require("./readConfigFile");
23
+ var _builtInFixtures = _interopRequireDefault(require("./builtInFixtures"));
24
+ var _getUserFixtures = _interopRequireDefault(require("./helpers/getUserFixtures"));
25
+ const {
26
+ bddMode
27
+ } = (0, _readConfigFile.generateConfigFromFile)();
28
+ let base = bddMode ? _bddFramework.test : _test.test;
29
+ const buildInFixtures = (0, _builtInFixtures.default)(bddMode);
30
+ const buildInFixturesTest = base.extend({
31
+ ...buildInFixtures
32
+ });
33
+ const userFixtures = (0, _getUserFixtures.default)();
34
+ const userFixturesTest = base.extend({
35
+ ...userFixtures
36
+ });
37
+ const test = exports.test = (0, _test.mergeTests)(buildInFixturesTest, userFixturesTest);
@@ -38,12 +38,12 @@ const testDir = (0, _configUtils.getTestDir)(bddMode, process.cwd(), {
38
38
  featureFilesFolder,
39
39
  stepDefinitionsFolder
40
40
  });
41
- const testOptions = (0, _configUtils.getTestUseOptions)({
41
+ const use = {
42
42
  trace,
43
43
  video,
44
44
  viewport,
45
45
  testIdAttribute
46
- });
46
+ };
47
47
 
48
48
  /**
49
49
  * Playwright configuration object
@@ -66,7 +66,7 @@ function getPlaywrightConfig() {
66
66
  expect: {
67
67
  timeout: expectTimeout
68
68
  },
69
- use: testOptions,
69
+ use,
70
70
  projects: isAuthMode ? [{
71
71
  name: 'setup',
72
72
  testMatch: /.*\.setup\.js/,
@@ -7,14 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.getBrowsersList = getBrowsersList;
8
8
  exports.getProjects = getProjects;
9
9
  exports.getTestDir = getTestDir;
10
- exports.getTestUseOptions = getTestUseOptions;
11
10
  var _test = require("@playwright/test");
12
11
  var _path = _interopRequireDefault(require("path"));
13
12
  var _readConfigFile = require("../readConfigFile");
14
- var _bddFramework = require("../../../bdd-framework");
13
+ var _playwrightBdd = require("playwright-bdd");
15
14
  var _logger = require("../../../utils/logger");
16
15
  var _browserTypes = require("../constants/browserTypes");
17
- var _configFileNameProvider = require("../helpers/configFileNameProvider");
18
16
  var _fileUtils = require("../../../utils/fileUtils");
19
17
  /**
20
18
  ** Playwright project configuration
@@ -148,30 +146,15 @@ function getPathsForFeatureFiles(cwd) {
148
146
  function getTestDir(bddMode, cwd, {
149
147
  stepDefinitionsFolder
150
148
  }) {
151
- return bddMode ? (0, _bddFramework.defineBddConfig)({
152
- paths: getPathsForFeatureFiles(cwd),
153
- import: [_path.default.join(cwd, 'uat', '**', stepDefinitionsFolder, '*.spec.js')],
149
+ return bddMode ? (0, _playwrightBdd.defineBddConfig)({
150
+ features: getPathsForFeatureFiles(cwd),
151
+ steps: [_path.default.join(cwd, 'uat', '**', stepDefinitionsFolder, '*.spec.js'), require.resolve('../fixtures.js')],
152
+ importTestFrom: require.resolve('../fixtures.js'),
154
153
  featuresRoot: _path.default.join(cwd, 'uat'),
155
154
  outputDir: _path.default.join(cwd, 'uat', '.features-gen'),
155
+ disableWarnings: {
156
+ importTestFrom: true
157
+ },
156
158
  publish: true
157
159
  }) : _path.default.join(cwd, 'uat');
158
- }
159
- function getTestUseOptions({
160
- viewport,
161
- trace,
162
- video,
163
- testIdAttribute
164
- }) {
165
- let defaultTestuseOptions = {
166
- viewport,
167
- testIdAttribute,
168
- trace: trace ? 'on' : 'off',
169
- video: video ? {
170
- mode: 'on',
171
- size: {
172
- ...viewport
173
- }
174
- } : 'off'
175
- };
176
- return defaultTestuseOptions;
177
160
  }
@@ -18,7 +18,6 @@ class JSONSummaryReporter {
18
18
  this.skipped = [];
19
19
  this.failed = [];
20
20
  this.warned = [];
21
- this.errored = [];
22
21
  this.interrupted = [];
23
22
  this.timedOut = [];
24
23
  this.flakey = [];
@@ -30,7 +29,7 @@ class JSONSummaryReporter {
30
29
  onBegin() {
31
30
  this.startedAt = Date.now();
32
31
  }
33
- getTitle(test) {
32
+ onTestEnd(test, result) {
34
33
  const title = [];
35
34
  const fileName = [];
36
35
  let clean = true;
@@ -40,52 +39,35 @@ class JSONSummaryReporter {
40
39
  }
41
40
  clean = false;
42
41
  title.push(s);
43
- if (s.endsWith('.ts') || s.endsWith('.js')) {
42
+ if (s.includes('.ts') || s.includes('.js')) {
44
43
  fileName.push(s);
45
44
  }
46
45
  }
47
-
48
- //Using the fullTitle variable in the push will push a full test name + test description
49
-
50
- return {
51
- fullTitle: title.join(' > '),
52
- fileName: fileName[0] || ''
53
- };
54
- }
55
- onTestEnd(test, result) {
56
- const {
57
- fullTitle,
58
- fileName
59
- } = this.getTitle(test);
60
-
46
+ // This will publish the file name + line number test begins on
47
+ const z = `${fileName[0]}`;
48
+ // Using the t variable in the push will push a full test name + test description
49
+ const t = title.join(' > ');
61
50
  // Set the status
62
- const stepTitleList = result.steps.filter(step => step.error).map(step => ({
51
+ const stepTitleList = result.steps.map(step => ({
63
52
  title: step.title,
64
53
  error: step.error,
65
- testTitle: fullTitle
66
- }));
54
+ testTitle: t
55
+ })).filter(step => step.error !== undefined);
67
56
  if (stepTitleList.length > 0) {
68
57
  this.failedSteps = [...this.failedSteps, ...stepTitleList];
69
58
  }
70
- const status = !['passed', 'skipped'].includes(result.status) && fullTitle.includes('@warn') ? 'warned' : result.status;
59
+ const status = !['passed', 'skipped'].includes(result.status) && t.includes('@warn') ? 'warned' : result.status;
71
60
  // Logic to push the results into the correct array
72
61
  if (result.status === 'passed' && result.retry >= 1) {
73
- this.flakey.push(fileName);
62
+ this.flakey.push(z);
74
63
  } else {
75
- this[status].push(fileName);
64
+ this[status].push(z);
76
65
  }
77
- this[status].push(fileName);
78
- }
79
- onError(error) {
80
- this.errored.push({
81
- error: error.message,
82
- stack: error.stack
83
- });
66
+ this[status].push(z);
84
67
  }
85
68
  onEnd(result) {
86
69
  this.durationInMS = Date.now() - this.startedAt;
87
70
  this.status = result.status;
88
-
89
71
  // removing duplicate tests from passed array
90
72
  this.passed = this.passed.filter((element, index) => {
91
73
  return this.passed.indexOf(element) === index;
@@ -108,14 +90,6 @@ class JSONSummaryReporter {
108
90
  this.interrupted = this.interrupted.filter((element, index) => {
109
91
  return this.interrupted.indexOf(element) === index;
110
92
  });
111
- this.errored = this.errored.filter((element, index) => {
112
- return this.errored.indexOf(element) === index;
113
- });
114
- if (this.errored.length > 0) {
115
- // Reflect setup failures in the final report status
116
- this.status = "failed";
117
- }
118
-
119
93
  // fs.writeFileSync('./summary.json', JSON.stringify(this, null, ' '));
120
94
  let {
121
95
  reportPath
@@ -38,9 +38,9 @@ function getPlaywrightArgs(userArgsObject, debug, bddMode, tagArgs, headless) {
38
38
  }
39
39
  return playwrightArgs;
40
40
  }
41
- function runPreprocessing(tagArgs, configPath) {
41
+ async function runPreprocessing(tagArgs, configPath) {
42
42
  const beforeCommand = 'node';
43
- const bddGenPath = _path.default.resolve(__dirname, '../', '../', 'bdd-framework', 'cli', 'index.js');
43
+ const bddGenPath = _path.default.resolve((0, _rootPath.getExecutableBinaryPath)('bddgen'));
44
44
  const beforeArgs = [bddGenPath, '-c', configPath];
45
45
  if (tagArgs) {
46
46
  beforeArgs.push('--tags');
@@ -1 +1 @@
1
- export * from './bdd-framework/decorators';
1
+ export * from 'playwright-bdd/decorators';
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _decorators = require("./bdd-framework/decorators");
6
+ var _decorators = require("playwright-bdd/decorators");
7
7
  Object.keys(_decorators).forEach(function (key) {
8
8
  if (key === "default" || key === "__esModule") return;
9
9
  if (key in exports && exports[key] === _decorators[key]) return;