@zohodesk/testinglibrary 0.4.1-experimental → 0.4.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 (120) hide show
  1. package/README.md +19 -0
  2. package/build/core/playwright/configuration/Configuration.js +0 -3
  3. package/build/core/playwright/configuration/ConfigurationHelper.js +9 -2
  4. package/build/core/playwright/env-initializer.js +1 -0
  5. package/build/core/playwright/fixtures.js +24 -0
  6. package/build/core/playwright/helpers/auth/getUsers.js +11 -23
  7. package/build/core/playwright/helpers/configFileNameProvider.js +3 -9
  8. package/build/core/playwright/index.js +10 -23
  9. package/build/core/playwright/readConfigFile.js +22 -22
  10. package/build/core/playwright/setup/config-creator.js +8 -9
  11. package/build/core/playwright/setup/config-utils.js +8 -25
  12. package/build/core/playwright/test-runner.js +4 -5
  13. package/build/decorators.d.ts +1 -1
  14. package/build/decorators.js +1 -1
  15. package/build/utils/cliArgsToObject.js +0 -3
  16. package/npm-shrinkwrap.json +5800 -2149
  17. package/package.json +7 -7
  18. package/playwright.config.js +1 -1
  19. package/build/bdd-framework/cli/commands/env.js +0 -42
  20. package/build/bdd-framework/cli/commands/export.js +0 -62
  21. package/build/bdd-framework/cli/commands/test.js +0 -64
  22. package/build/bdd-framework/cli/index.js +0 -11
  23. package/build/bdd-framework/cli/options.js +0 -19
  24. package/build/bdd-framework/cli/worker.js +0 -13
  25. package/build/bdd-framework/config/configDir.js +0 -35
  26. package/build/bdd-framework/config/enrichReporterData.js +0 -23
  27. package/build/bdd-framework/config/env.js +0 -50
  28. package/build/bdd-framework/config/index.js +0 -94
  29. package/build/bdd-framework/config/lang.js +0 -14
  30. package/build/bdd-framework/cucumber/buildStepDefinition.js +0 -43
  31. package/build/bdd-framework/cucumber/createTestStep.js +0 -43
  32. package/build/bdd-framework/cucumber/formatter/EventDataCollector.js +0 -126
  33. package/build/bdd-framework/cucumber/formatter/GherkinDocumentParser.js +0 -72
  34. package/build/bdd-framework/cucumber/formatter/PickleParser.js +0 -25
  35. package/build/bdd-framework/cucumber/formatter/durationHelpers.js +0 -13
  36. package/build/bdd-framework/cucumber/formatter/getColorFns.js +0 -57
  37. package/build/bdd-framework/cucumber/formatter/index.js +0 -16
  38. package/build/bdd-framework/cucumber/formatter/locationHelpers.js +0 -16
  39. package/build/bdd-framework/cucumber/loadConfig.js +0 -17
  40. package/build/bdd-framework/cucumber/loadFeatures.js +0 -70
  41. package/build/bdd-framework/cucumber/loadSnippetBuilder.js +0 -20
  42. package/build/bdd-framework/cucumber/loadSteps.js +0 -47
  43. package/build/bdd-framework/cucumber/resolveFeaturePaths.js +0 -62
  44. package/build/bdd-framework/cucumber/stepArguments.js +0 -21
  45. package/build/bdd-framework/cucumber/types.js +0 -5
  46. package/build/bdd-framework/cucumber/valueChecker.js +0 -23
  47. package/build/bdd-framework/decorators.js +0 -18
  48. package/build/bdd-framework/gen/fixtures.js +0 -48
  49. package/build/bdd-framework/gen/formatter.js +0 -167
  50. package/build/bdd-framework/gen/i18n.js +0 -39
  51. package/build/bdd-framework/gen/index.js +0 -197
  52. package/build/bdd-framework/gen/specialTags.js +0 -70
  53. package/build/bdd-framework/gen/testFile.js +0 -470
  54. package/build/bdd-framework/gen/testMeta.js +0 -60
  55. package/build/bdd-framework/gen/testNode.js +0 -35
  56. package/build/bdd-framework/gen/testPoms.js +0 -133
  57. package/build/bdd-framework/hooks/scenario.js +0 -130
  58. package/build/bdd-framework/hooks/worker.js +0 -89
  59. package/build/bdd-framework/index.js +0 -52
  60. package/build/bdd-framework/playwright/fixtureParameterNames.js +0 -93
  61. package/build/bdd-framework/playwright/getLocationInFile.js +0 -79
  62. package/build/bdd-framework/playwright/loadConfig.js +0 -42
  63. package/build/bdd-framework/playwright/loadUtils.js +0 -33
  64. package/build/bdd-framework/playwright/testTypeImpl.js +0 -79
  65. package/build/bdd-framework/playwright/transform.js +0 -88
  66. package/build/bdd-framework/playwright/types.js +0 -12
  67. package/build/bdd-framework/playwright/utils.js +0 -56
  68. package/build/bdd-framework/reporter/cucumber/base.js +0 -52
  69. package/build/bdd-framework/reporter/cucumber/custom.js +0 -73
  70. package/build/bdd-framework/reporter/cucumber/helper.js +0 -12
  71. package/build/bdd-framework/reporter/cucumber/html.js +0 -40
  72. package/build/bdd-framework/reporter/cucumber/index.js +0 -74
  73. package/build/bdd-framework/reporter/cucumber/json.js +0 -312
  74. package/build/bdd-framework/reporter/cucumber/junit.js +0 -205
  75. package/build/bdd-framework/reporter/cucumber/message.js +0 -20
  76. package/build/bdd-framework/reporter/cucumber/messagesBuilder/AttachmentMapper.js +0 -82
  77. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Builder.js +0 -197
  78. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocument.js +0 -43
  79. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocumentClone.js +0 -52
  80. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocuments.js +0 -105
  81. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Hook.js +0 -70
  82. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Meta.js +0 -45
  83. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Pickles.js +0 -27
  84. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Projects.js +0 -38
  85. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCase.js +0 -128
  86. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRun.js +0 -154
  87. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRunHooks.js +0 -123
  88. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepAttachments.js +0 -67
  89. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepRun.js +0 -114
  90. package/build/bdd-framework/reporter/cucumber/messagesBuilder/index.js +0 -30
  91. package/build/bdd-framework/reporter/cucumber/messagesBuilder/pwStepUtils.js +0 -70
  92. package/build/bdd-framework/reporter/cucumber/messagesBuilder/timing.js +0 -35
  93. package/build/bdd-framework/reporter/cucumber/messagesBuilder/types.js +0 -5
  94. package/build/bdd-framework/run/StepInvoker.js +0 -69
  95. package/build/bdd-framework/run/bddData/index.js +0 -59
  96. package/build/bdd-framework/run/bddData/types.js +0 -5
  97. package/build/bdd-framework/run/bddFixtures.js +0 -192
  98. package/build/bdd-framework/run/bddWorld.js +0 -79
  99. package/build/bdd-framework/run/bddWorldInternal.js +0 -11
  100. package/build/bdd-framework/snippets/index.js +0 -132
  101. package/build/bdd-framework/snippets/snippetSyntax.js +0 -43
  102. package/build/bdd-framework/snippets/snippetSyntaxDecorators.js +0 -26
  103. package/build/bdd-framework/snippets/snippetSyntaxTs.js +0 -18
  104. package/build/bdd-framework/stepDefinitions/createBdd.js +0 -66
  105. package/build/bdd-framework/stepDefinitions/decorators/class.js +0 -68
  106. package/build/bdd-framework/stepDefinitions/decorators/steps.js +0 -99
  107. package/build/bdd-framework/stepDefinitions/defineStep.js +0 -62
  108. package/build/bdd-framework/stepDefinitions/stepConfig.js +0 -24
  109. package/build/bdd-framework/steps/createBdd.js +0 -78
  110. package/build/bdd-framework/steps/decorators/class.js +0 -68
  111. package/build/bdd-framework/steps/decorators/steps.js +0 -98
  112. package/build/bdd-framework/steps/defineStep.js +0 -62
  113. package/build/bdd-framework/steps/stepConfig.js +0 -24
  114. package/build/bdd-framework/utils/AutofillMap.js +0 -20
  115. package/build/bdd-framework/utils/exit.js +0 -62
  116. package/build/bdd-framework/utils/index.js +0 -93
  117. package/build/bdd-framework/utils/jsStringWrap.js +0 -44
  118. package/build/bdd-framework/utils/logger.js +0 -30
  119. package/build/bdd-framework/utils/stripAnsiEscapes.js +0 -20
  120. package/build/test/core/playwright/helpers/__tests__/configFileNameProvider.test.js +0 -34
package/README.md CHANGED
@@ -26,6 +26,25 @@
26
26
  ### Bug fix
27
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
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
+
29
48
  ### v0.2.9 - 08-10-2024
30
49
 
31
50
  #### Feature
@@ -18,8 +18,5 @@ class Configuration {
18
18
  getAll() {
19
19
  return this.properties;
20
20
  }
21
- delete(key) {
22
- delete this.properties[key];
23
- }
24
21
  }
25
22
  module.exports = Configuration;
@@ -12,9 +12,16 @@ var _configFileNameProvider = require("../helpers/configFileNameProvider");
12
12
  var _mergeObjects = require("../helpers/mergeObjects");
13
13
  var _fs = require("fs");
14
14
  const Configuration = require("./Configuration");
15
+ function checkForDeprecatedKeys(configKey) {
16
+ let deprecatedConfigInUatConfigFile = ['mode'];
17
+ if (deprecatedConfigInUatConfigFile.includes(configKey)) {
18
+ _logger.Logger.log(_logger.Logger.INFO_TYPE, `key ${configKey} is deprecated. Please use other options`);
19
+ }
20
+ }
15
21
  function combineConfiguration(defaultConfig, userConfiguration) {
16
22
  let configurationObj = {};
17
23
  Object.keys(userConfiguration).forEach(configKey => {
24
+ checkForDeprecatedKeys(configKey);
18
25
  let configValue = userConfiguration[configKey];
19
26
  if (configValue !== null && configValue !== undefined) {
20
27
  configurationObj[configKey] = configValue;
@@ -26,10 +33,10 @@ function combineConfiguration(defaultConfig, userConfiguration) {
26
33
  });
27
34
  return (0, _mergeObjects.mergeObjects)(defaultConfig, configurationObj);
28
35
  }
29
- function getApplicationConfig(mode) {
36
+ function getApplicationConfig() {
30
37
  let filePath = "";
31
38
  try {
32
- filePath = _path.default.resolve(process.cwd(), (0, _configFileNameProvider.getUATFileName)(mode));
39
+ filePath = _path.default.resolve(process.cwd(), (0, _configFileNameProvider.getUATFileName)());
33
40
  if (!(0, _fs.existsSync)(filePath)) {
34
41
  throw new Error("Exception while getting the uat file from the application - " + filePath);
35
42
  }
@@ -10,6 +10,7 @@ var _path = _interopRequireDefault(require("path"));
10
10
  var _configFileNameProvider = require("./helpers/configFileNameProvider");
11
11
  var _logger = require("../../utils/logger");
12
12
  var _getUsers = require("./helpers/auth/getUsers");
13
+ var _readConfigFile = require("./readConfigFile");
13
14
  function setEnvironmentVariables(configJSON) {
14
15
  for (const key in configJSON) {
15
16
  process.env[key] = configJSON[key];
@@ -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
+ };
@@ -33,17 +33,12 @@ function getDefaultActorConf() {
33
33
  const {
34
34
  uatDirectory
35
35
  } = (0, _readConfigFile.generateConfigFromFile)();
36
- const modeSettingsFile = `conf/${getRunMode()}/settings.json`;
37
- const filePath = _path.default.join(uatDirectory, modeSettingsFile);
38
- try {
39
- if (!(0, _fs.existsSync)(filePath)) {
40
- const defaultSettingsFile = _path.default.join(uatDirectory, `conf/default/settings.json`);
41
- return require(defaultSettingsFile);
42
- }
43
- return require(filePath);
44
- } catch (error) {
45
- throw new Error(`${defaultSettingFile} ${filePath} both files are missing.`);
36
+ const defaultSettingFile = `conf/${getRunMode()}/settings.json`;
37
+ const filePath = _path.default.join(uatDirectory, defaultSettingFile);
38
+ if (!(0, _fs.existsSync)(filePath)) {
39
+ throw new Error(`${defaultSettingFile} is missing.`);
46
40
  }
41
+ return require(filePath);
47
42
  }
48
43
  function getDefaultActor() {
49
44
  const {
@@ -57,25 +52,18 @@ function getListOfActors() {
57
52
  uatDirectory
58
53
  } = (0, _readConfigFile.generateConfigFromFile)();
59
54
  const mode = getRunMode();
60
- let configFile = _path.default.join(uatDirectory, `conf/${mode}/actors/index.js`);
61
- if (!(0, _fs.existsSync)(configFile)) {
62
- configFile = _path.default.join(uatDirectory, `conf/default/actors/index.js`);
63
- }
64
- try {
65
- return require(configFile);
66
- } catch (error) {
67
- throw new Error(`Error loading actor configuration from ${configFile}`);
55
+ const configFile = `conf/${mode}/actors/index`;
56
+ const filePath = _path.default.join(uatDirectory, configFile);
57
+ if (!(0, _fs.existsSync)(filePath + '.js')) {
58
+ throw new Error(`${configFile}.js is missing.`);
68
59
  }
60
+ return require(filePath);
69
61
  }
70
62
  function getUserForSelectedEditionAndProfile(preferedEdition, preferredProfile, betaFeature, testDataPortal = null) {
71
- const actorsData = getListOfActors();
72
- if (!actorsData || !actorsData.editions) {
73
- throw new Error("The actors data is missing.");
74
- }
75
63
  const {
76
64
  editions: userdata,
77
65
  beta: betaPortals
78
- } = actorsData;
66
+ } = getListOfActors();
79
67
  const defaultConf = getDefaultActorConf();
80
68
  const edition = preferedEdition || defaultConf.edition;
81
69
  const profile = preferredProfile || defaultConf.profile;
@@ -9,14 +9,8 @@ exports.getReportFileName = getReportFileName;
9
9
  exports.getUATFileName = getUATFileName;
10
10
  var _path = _interopRequireDefault(require("path"));
11
11
  var _fs = _interopRequireDefault(require("fs"));
12
- var _auth = require("./auth");
13
- function getUATFileName(mode) {
14
- mode = mode || (0, _auth.getRunMode)();
15
- const uatConfFilePath = _path.default.resolve(process.cwd(), `uat/conf/${mode}/uat.config.js`);
16
- if (_fs.default.existsSync(uatConfFilePath)) {
17
- return uatConfFilePath;
18
- }
19
- return _path.default.resolve(process.cwd(), `uat.config.js`);
12
+ function getUATFileName() {
13
+ return 'uat.config.js';
20
14
  }
21
15
  function getEnvConfigFilePath(mode) {
22
16
  const confFilePath = _path.default.resolve(process.cwd(), `uat/conf/${mode}/settings.json`);
@@ -24,7 +18,7 @@ function getEnvConfigFilePath(mode) {
24
18
  if (_fs.default.existsSync(confFilePath)) {
25
19
  return `uat/conf/${mode}/settings.json`;
26
20
  }
27
- return `uat/conf/default/settings.json`;
21
+ return `uat/env-config.json`;
28
22
  }
29
23
  function getReportFileName() {
30
24
  return `test-summary.json`;
@@ -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;
@@ -13,17 +13,13 @@ var _path = _interopRequireDefault(require("path"));
13
13
  var _logger = require("../../utils/logger");
14
14
  var _configFileNameProvider = require("./helpers/configFileNameProvider");
15
15
  var _mergeObjects = require("./helpers/mergeObjects");
16
- var _Configuration = _interopRequireDefault(require("./configuration/Configuration"));
17
- var _UserArgs = _interopRequireDefault(require("./configuration/UserArgs"));
18
- var _ConfigurationHelper = require("./configuration/ConfigurationHelper");
16
+ var _Configuration = require("./configuration/Configuration");
19
17
  let cachedConfig = null;
20
18
  function getDefaultConfig() {
21
19
  return {
22
20
  uatDirectory: _path.default.join(process.cwd(), 'uat'),
23
21
  headless: false,
24
22
  browsers: ['Chrome'],
25
- forbidOnly: false,
26
- retries: 0,
27
23
  trace: false,
28
24
  video: false,
29
25
  isAuthMode: false,
@@ -38,18 +34,26 @@ function getDefaultConfig() {
38
34
  height: 720
39
35
  },
40
36
  debug: false,
41
- testIdAttribute: 'data-testid',
37
+ mode: process.env.mode || 'dev',
42
38
  additionalPages: {},
43
39
  featureFilesFolder: 'feature-files',
44
40
  stepDefinitionsFolder: 'steps',
41
+ testIdAttribute: 'data-testid',
45
42
  testSetup: {},
46
43
  editionOrder: ['Free', 'Express', 'Standard', 'Professional', 'Enterprise']
47
44
  };
48
45
  }
46
+ function checkForDeprecatedKeys(configKey) {
47
+ let deprecatedConfigInUatConfigFile = ['mode'];
48
+ if (deprecatedConfigInUatConfigFile.includes(configKey)) {
49
+ _logger.Logger.log(_logger.Logger.INFO_TYPE, `key ${configKey} is deprecated. Please use other options`);
50
+ }
51
+ }
49
52
  function combineDefaultConfigWithUserConfig(userConfiguration) {
50
53
  let defaultConfig = getDefaultConfig();
51
54
  let configurationObj = {};
52
55
  Object.keys(userConfiguration).forEach(configKey => {
56
+ checkForDeprecatedKeys(configKey);
53
57
  let configValue = userConfiguration[configKey];
54
58
  if (configValue !== null && configValue !== undefined) {
55
59
  configurationObj[configKey] = configValue;
@@ -108,26 +112,22 @@ function combineDefaultConfigWithUserConfig(userConfiguration) {
108
112
  *
109
113
  * @returns {UserConfig}
110
114
  */
111
-
112
- function getConfigFilePath() {
113
- return _path.default.resolve(process.cwd(), (0, _configFileNameProvider.getUATFileName)());
114
- }
115
115
  function generateConfigFromFile() {
116
- if (cachedConfig === null) {
117
- // Getting the default config's from framework
118
- const uatConfig = new _Configuration.default(getDefaultConfig());
119
- // overriding the application config's from project
120
- const appConfig = new _Configuration.default((0, _ConfigurationHelper.getApplicationConfig)());
121
- const userArgConfig = new _Configuration.default(_UserArgs.default.parseToObject(process.argv.slice(2)));
122
- // overriding the user config's from CLI
123
- uatConfig.addAll(appConfig);
124
- uatConfig.addAll(userArgConfig);
125
- cachedConfig = uatConfig.getAll();
116
+ if (cachedConfig !== null) {
117
+ return cachedConfig; // If cached, return the cached configuration
118
+ }
119
+ const filePath = _path.default.resolve(process.cwd(), (0, _configFileNameProvider.getUATFileName)());
120
+ if ((0, _fs.existsSync)(filePath)) {
121
+ /** @type {UserConfig} */
122
+ const config = require(filePath);
123
+ const modifiedConfiguration = combineDefaultConfigWithUserConfig(config);
124
+ cachedConfig = modifiedConfiguration;
125
+ return modifiedConfiguration;
126
126
  }
127
- return cachedConfig;
127
+ return {};
128
128
  }
129
129
  function isUserConfigFileAvailable() {
130
- const filePath = getConfigFilePath();
130
+ const filePath = _path.default.resolve(process.cwd(), (0, _configFileNameProvider.getUATFileName)());
131
131
  if ((0, _fs.existsSync)(filePath)) {
132
132
  return true;
133
133
  }
@@ -9,7 +9,6 @@ var _test = require("@playwright/test");
9
9
  var _path = _interopRequireDefault(require("path"));
10
10
  var _readConfigFile = require("../readConfigFile");
11
11
  var _configUtils = require("./config-utils");
12
- const uatConfig = (0, _readConfigFile.generateConfigFromFile)();
13
12
  const {
14
13
  browsers,
15
14
  trace,
@@ -26,7 +25,7 @@ const {
26
25
  stepDefinitionsFolder,
27
26
  testIdAttribute,
28
27
  globalTimeout
29
- } = uatConfig;
28
+ } = (0, _readConfigFile.generateConfigFromFile)();
30
29
  const projects = (0, _configUtils.getProjects)({
31
30
  browsers,
32
31
  isAuthMode,
@@ -39,12 +38,12 @@ const testDir = (0, _configUtils.getTestDir)(bddMode, process.cwd(), {
39
38
  featureFilesFolder,
40
39
  stepDefinitionsFolder
41
40
  });
42
- const testOptions = (0, _configUtils.getTestUseOptions)({
41
+ const use = {
43
42
  trace,
44
43
  video,
45
44
  viewport,
46
45
  testIdAttribute
47
- });
46
+ };
48
47
 
49
48
  /**
50
49
  * Playwright configuration object
@@ -52,11 +51,13 @@ const testOptions = (0, _configUtils.getTestUseOptions)({
52
51
  * @returns {import('@playwright/test').PlaywrightTestConfig}
53
52
  */
54
53
  function getPlaywrightConfig() {
55
- const playwrightConfig = {
54
+ return {
56
55
  testDir,
57
56
  globalTimeout: globalTimeout || 3600000,
58
57
  outputDir: _path.default.join(process.cwd(), 'uat', 'test-results'),
59
58
  fullyParallel: true,
59
+ forbidOnly: !!process.env.CI,
60
+ retries: process.env.CI ? 2 : 0,
60
61
  reporter: [['html', {
61
62
  outputFolder: reportPath,
62
63
  open: openReportOn
@@ -65,7 +66,7 @@ function getPlaywrightConfig() {
65
66
  expect: {
66
67
  timeout: expectTimeout
67
68
  },
68
- use: testOptions,
69
+ use,
69
70
  projects: isAuthMode ? [{
70
71
  name: 'setup',
71
72
  testMatch: /.*\.setup\.js/,
@@ -75,9 +76,7 @@ function getPlaywrightConfig() {
75
76
  name: 'cleanup',
76
77
  testMatch: /.*\.teardown\.js/,
77
78
  testDir: _path.default.join(process.cwd(), 'uat')
78
- }, ...projects] : [...projects],
79
- ...uatConfig
79
+ }, ...projects] : [...projects]
80
80
  };
81
- return playwrightConfig;
82
81
  }
83
82
  var _default = exports.default = (0, _test.defineConfig)(getPlaywrightConfig());
@@ -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');
@@ -103,16 +103,15 @@ function main() {
103
103
  const uatConfig = new _Configuration.default((0, _readConfigFile.getDefaultConfig)());
104
104
 
105
105
  // overriding the application config's from project
106
-
107
- const userArgConfig = new _Configuration.default(_UserArgs.default.parseToObject(process.argv.slice(2)));
108
- const mode = userArgConfig.get("mode");
109
- uatConfig.addAll(new _Configuration.default((0, _ConfigurationHelper.getApplicationConfig)(mode)));
106
+ uatConfig.addAll(new _Configuration.default((0, _ConfigurationHelper.getApplicationConfig)()));
110
107
 
111
108
  // overriding the user config's from CLI
109
+ const userArgConfig = new _Configuration.default(_UserArgs.default.parseToObject(process.argv.slice(2)));
112
110
  uatConfig.addAll(userArgConfig);
113
111
  const {
114
112
  isAuthMode,
115
113
  editionOrder,
114
+ mode,
116
115
  debug,
117
116
  bddMode = false,
118
117
  headless = false
@@ -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;
@@ -36,9 +36,6 @@ function cliArgsToObject(cliArgs, isKeyNeedToBeAdded) {
36
36
  value = true;
37
37
  }
38
38
  processEnv[key] = value;
39
- if (!isNaN(parseInt(value))) {
40
- processEnv[key] = parseInt(value);
41
- }
42
39
  }
43
40
  });
44
41
  return processEnv;