@zohodesk/testinglibrary 0.3.5-experimental → 0.3.6-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 (115) hide show
  1. package/README.md +25 -1
  2. package/build/core/playwright/builtInFixtures/page.js +1 -1
  3. package/build/core/playwright/configuration/ConfigurationHelper.js +1 -1
  4. package/build/core/playwright/fixtures.js +24 -0
  5. package/build/core/playwright/index.js +10 -23
  6. package/build/core/playwright/readConfigFile.js +0 -9
  7. package/build/core/playwright/setup/config-creator.js +3 -3
  8. package/build/core/playwright/setup/config-utils.js +8 -25
  9. package/build/core/playwright/test-runner.js +10 -13
  10. package/build/decorators.d.ts +1 -1
  11. package/build/decorators.js +1 -1
  12. package/npm-shrinkwrap.json +5795 -2145
  13. package/package.json +6 -5
  14. package/build/bdd-framework/cli/commands/env.js +0 -42
  15. package/build/bdd-framework/cli/commands/export.js +0 -62
  16. package/build/bdd-framework/cli/commands/test.js +0 -64
  17. package/build/bdd-framework/cli/index.js +0 -11
  18. package/build/bdd-framework/cli/options.js +0 -19
  19. package/build/bdd-framework/cli/worker.js +0 -13
  20. package/build/bdd-framework/config/configDir.js +0 -35
  21. package/build/bdd-framework/config/enrichReporterData.js +0 -23
  22. package/build/bdd-framework/config/env.js +0 -50
  23. package/build/bdd-framework/config/index.js +0 -94
  24. package/build/bdd-framework/config/lang.js +0 -14
  25. package/build/bdd-framework/cucumber/buildStepDefinition.js +0 -43
  26. package/build/bdd-framework/cucumber/createTestStep.js +0 -43
  27. package/build/bdd-framework/cucumber/formatter/EventDataCollector.js +0 -126
  28. package/build/bdd-framework/cucumber/formatter/GherkinDocumentParser.js +0 -72
  29. package/build/bdd-framework/cucumber/formatter/PickleParser.js +0 -25
  30. package/build/bdd-framework/cucumber/formatter/durationHelpers.js +0 -13
  31. package/build/bdd-framework/cucumber/formatter/getColorFns.js +0 -57
  32. package/build/bdd-framework/cucumber/formatter/index.js +0 -16
  33. package/build/bdd-framework/cucumber/formatter/locationHelpers.js +0 -16
  34. package/build/bdd-framework/cucumber/loadConfig.js +0 -17
  35. package/build/bdd-framework/cucumber/loadFeatures.js +0 -70
  36. package/build/bdd-framework/cucumber/loadSnippetBuilder.js +0 -20
  37. package/build/bdd-framework/cucumber/loadSteps.js +0 -47
  38. package/build/bdd-framework/cucumber/resolveFeaturePaths.js +0 -62
  39. package/build/bdd-framework/cucumber/stepArguments.js +0 -21
  40. package/build/bdd-framework/cucumber/types.js +0 -5
  41. package/build/bdd-framework/cucumber/valueChecker.js +0 -23
  42. package/build/bdd-framework/decorators.js +0 -18
  43. package/build/bdd-framework/gen/fixtures.js +0 -48
  44. package/build/bdd-framework/gen/formatter.js +0 -167
  45. package/build/bdd-framework/gen/i18n.js +0 -39
  46. package/build/bdd-framework/gen/index.js +0 -197
  47. package/build/bdd-framework/gen/specialTags.js +0 -70
  48. package/build/bdd-framework/gen/testFile.js +0 -470
  49. package/build/bdd-framework/gen/testMeta.js +0 -60
  50. package/build/bdd-framework/gen/testNode.js +0 -35
  51. package/build/bdd-framework/gen/testPoms.js +0 -133
  52. package/build/bdd-framework/hooks/scenario.js +0 -130
  53. package/build/bdd-framework/hooks/worker.js +0 -89
  54. package/build/bdd-framework/index.js +0 -52
  55. package/build/bdd-framework/playwright/fixtureParameterNames.js +0 -93
  56. package/build/bdd-framework/playwright/getLocationInFile.js +0 -79
  57. package/build/bdd-framework/playwright/loadConfig.js +0 -42
  58. package/build/bdd-framework/playwright/loadUtils.js +0 -33
  59. package/build/bdd-framework/playwright/testTypeImpl.js +0 -79
  60. package/build/bdd-framework/playwright/transform.js +0 -88
  61. package/build/bdd-framework/playwright/types.js +0 -12
  62. package/build/bdd-framework/playwright/utils.js +0 -56
  63. package/build/bdd-framework/reporter/cucumber/base.js +0 -52
  64. package/build/bdd-framework/reporter/cucumber/custom.js +0 -73
  65. package/build/bdd-framework/reporter/cucumber/helper.js +0 -12
  66. package/build/bdd-framework/reporter/cucumber/html.js +0 -40
  67. package/build/bdd-framework/reporter/cucumber/index.js +0 -74
  68. package/build/bdd-framework/reporter/cucumber/json.js +0 -312
  69. package/build/bdd-framework/reporter/cucumber/junit.js +0 -205
  70. package/build/bdd-framework/reporter/cucumber/message.js +0 -20
  71. package/build/bdd-framework/reporter/cucumber/messagesBuilder/AttachmentMapper.js +0 -82
  72. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Builder.js +0 -197
  73. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocument.js +0 -43
  74. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocumentClone.js +0 -52
  75. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocuments.js +0 -105
  76. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Hook.js +0 -70
  77. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Meta.js +0 -45
  78. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Pickles.js +0 -27
  79. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Projects.js +0 -38
  80. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCase.js +0 -128
  81. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRun.js +0 -154
  82. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRunHooks.js +0 -123
  83. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepAttachments.js +0 -67
  84. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepRun.js +0 -114
  85. package/build/bdd-framework/reporter/cucumber/messagesBuilder/index.js +0 -30
  86. package/build/bdd-framework/reporter/cucumber/messagesBuilder/pwStepUtils.js +0 -70
  87. package/build/bdd-framework/reporter/cucumber/messagesBuilder/timing.js +0 -35
  88. package/build/bdd-framework/reporter/cucumber/messagesBuilder/types.js +0 -5
  89. package/build/bdd-framework/run/StepInvoker.js +0 -69
  90. package/build/bdd-framework/run/bddData/index.js +0 -59
  91. package/build/bdd-framework/run/bddData/types.js +0 -5
  92. package/build/bdd-framework/run/bddFixtures.js +0 -192
  93. package/build/bdd-framework/run/bddWorld.js +0 -79
  94. package/build/bdd-framework/run/bddWorldInternal.js +0 -11
  95. package/build/bdd-framework/snippets/index.js +0 -132
  96. package/build/bdd-framework/snippets/snippetSyntax.js +0 -43
  97. package/build/bdd-framework/snippets/snippetSyntaxDecorators.js +0 -26
  98. package/build/bdd-framework/snippets/snippetSyntaxTs.js +0 -18
  99. package/build/bdd-framework/stepDefinitions/createBdd.js +0 -66
  100. package/build/bdd-framework/stepDefinitions/decorators/class.js +0 -68
  101. package/build/bdd-framework/stepDefinitions/decorators/steps.js +0 -99
  102. package/build/bdd-framework/stepDefinitions/defineStep.js +0 -62
  103. package/build/bdd-framework/stepDefinitions/stepConfig.js +0 -24
  104. package/build/bdd-framework/steps/createBdd.js +0 -78
  105. package/build/bdd-framework/steps/decorators/class.js +0 -68
  106. package/build/bdd-framework/steps/decorators/steps.js +0 -98
  107. package/build/bdd-framework/steps/defineStep.js +0 -62
  108. package/build/bdd-framework/steps/stepConfig.js +0 -24
  109. package/build/bdd-framework/utils/AutofillMap.js +0 -20
  110. package/build/bdd-framework/utils/exit.js +0 -62
  111. package/build/bdd-framework/utils/index.js +0 -93
  112. package/build/bdd-framework/utils/jsStringWrap.js +0 -44
  113. package/build/bdd-framework/utils/logger.js +0 -30
  114. package/build/bdd-framework/utils/stripAnsiEscapes.js +0 -20
  115. package/build/test/Test.js +0 -63
package/README.md CHANGED
@@ -24,4 +24,28 @@
24
24
  - Added support for writing unitcases for framework implementations
25
25
 
26
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.
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.
28
+
29
+
30
+ ## Version History
31
+
32
+ ### v0.2.9 - 30-09-2024
33
+
34
+ #### Features
35
+ - Added support for scenario level tag support
36
+ - Updated the configuration for `video` and `trace` to accept Playwright-specific values instead of boolean values.
37
+ - Below package versions are updated in this release.
38
+ - playwright - 1.47.2,
39
+ - playwright-bdd - 7.4.2,
40
+ - @playwright/test - 1.47.2,
41
+ - @cucumber/cucumber - 11.0.1
42
+ - From this version, We adopt the playwright-bdd as library instead of modified source
43
+
44
+ #### Deprecations
45
+ - **Deprecated**: Passing `video` and `trace` as boolean (`true`/`false`) in project configuration.
46
+ - **New Approach**: Use Playwright values for `video` and `trace` options, such as `'on'`, `'retain-on-failure'`, or `'off'`.
47
+
48
+ ### v0.2.9 - 08-10-2024
49
+
50
+ #### Feature
51
+ - Added support for scenario level tag support
@@ -11,7 +11,7 @@ var _readConfigFile = require("../readConfigFile");
11
11
  /* eslint-disable global-require */
12
12
 
13
13
  function getTagInputFromSelectedTags(tags, inputString) {
14
- const selectedTag = tags.find(tag => tag.startsWith(inputString));
14
+ const selectedTag = [...tags].reverse().find(tag => tag.startsWith(inputString));
15
15
  let tagInput = null;
16
16
  if (selectedTag) {
17
17
  tagInput = selectedTag.split(`${inputString}_`).pop().toLowerCase();
@@ -38,7 +38,7 @@ function getApplicationConfig() {
38
38
  try {
39
39
  filePath = _path.default.resolve(process.cwd(), (0, _configFileNameProvider.getUATFileName)());
40
40
  if (!(0, _fs.existsSync)(filePath)) {
41
- throw new Error("catch error");
41
+ throw new Error("Exception while getting the uat file from the application - " + filePath);
42
42
  }
43
43
  const config = require(filePath);
44
44
  return config;
@@ -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;
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.generateConfigFromFile = generateConfigFromFile;
8
- exports.getApplicationConfig = getApplicationConfig;
9
8
  exports.getAuthFilePath = getAuthFilePath;
10
9
  exports.getDefaultConfig = getDefaultConfig;
11
10
  exports.isUserConfigFileAvailable = isUserConfigFileAvailable;
@@ -127,14 +126,6 @@ function generateConfigFromFile() {
127
126
  }
128
127
  return {};
129
128
  }
130
- function getApplicationConfig() {
131
- const filePath = _path.default.resolve(process.cwd(), (0, _configFileNameProvider.getUATFileName)());
132
- if ((0, _fs.existsSync)(filePath)) {
133
- const config = require(filePath);
134
- return config;
135
- }
136
- return {};
137
- }
138
129
  function isUserConfigFileAvailable() {
139
130
  const filePath = _path.default.resolve(process.cwd(), (0, _configFileNameProvider.getUATFileName)());
140
131
  if ((0, _fs.existsSync)(filePath)) {
@@ -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
  }
@@ -42,7 +42,7 @@ function getPlaywrightArgs(userArgsObject, debug, bddMode, tagArgs, headless) {
42
42
  }
43
43
  function runPreprocessing(tagArgs, configPath) {
44
44
  const beforeCommand = 'node';
45
- const bddGenPath = _path.default.resolve(__dirname, '../', '../', 'bdd-framework', 'cli', 'index.js');
45
+ const bddGenPath = _path.default.resolve((0, _rootPath.getExecutableBinaryPath)('bddgen'));
46
46
  const beforeArgs = [bddGenPath, '-c', configPath];
47
47
  if (tagArgs) {
48
48
  beforeArgs.push('--tags');
@@ -104,26 +104,23 @@ function main() {
104
104
 
105
105
  // overriding the application config's from project
106
106
  uatConfig.addAll(new _Configuration.default((0, _ConfigurationHelper.getApplicationConfig)()));
107
- const {
108
- isAuthMode,
109
- editionOrder
110
- } = uatConfig.getAll();
111
- const userArgConfig = new _Configuration.default(_UserArgs.default.parseToObject(process.argv.slice(2)));
112
- const mode = userArgConfig.get("mode");
113
- (0, _envInitializer.initializeEnvConfig)(mode, isAuthMode);
114
107
 
115
108
  // overriding the user config's from CLI
116
- // const userArgConfig = new Configuration( UserArgs.parseToObject(process.argv.slice(2)) );
109
+ const userArgConfig = new _Configuration.default(_UserArgs.default.parseToObject(process.argv.slice(2)));
117
110
  uatConfig.addAll(userArgConfig);
118
-
119
- //This is only used for pass the user arguments to need places in legacy code. We need to rewamp that also.
120
- const userArgsObject = userArgConfig.getAll();
121
- const tagArgs = (0, _tagProcessor.tagProcessor)(userArgsObject, editionOrder);
122
111
  const {
112
+ isAuthMode,
113
+ editionOrder,
114
+ mode,
123
115
  debug,
124
116
  bddMode = false,
125
117
  headless = false
126
118
  } = uatConfig.getAll();
119
+ (0, _envInitializer.initializeEnvConfig)(mode, isAuthMode);
120
+
121
+ //This is only used for pass the user arguments to need places in legacy code. We need to rewamp that also.
122
+ const userArgsObject = userArgConfig.getAll();
123
+ const tagArgs = (0, _tagProcessor.tagProcessor)(userArgsObject, editionOrder);
127
124
  const playwrightArgs = getPlaywrightArgs(userArgsObject, debug, bddMode, tagArgs, headless);
128
125
  const playwrightPath = _path.default.resolve((0, _rootPath.getExecutableBinaryPath)('playwright'));
129
126
  const command = playwrightPath;
@@ -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;