@zohodesk/testinglibrary 0.4.45-experimental → 0.4.47-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 (151) hide show
  1. package/.gitlab-ci.yml +12 -20
  2. package/README.md +54 -1
  3. package/build/core/playwright/builtInFixtures/page.js +44 -46
  4. package/build/core/playwright/clear-caches.js +7 -0
  5. package/build/core/playwright/constants/fileMutexConfig.js +4 -3
  6. package/build/core/playwright/custom-commands.js +1 -1
  7. package/build/core/playwright/fixtures.js +24 -0
  8. package/build/core/playwright/helpers/auth/loginSteps.js +20 -25
  9. package/build/core/playwright/helpers/configFileNameProvider.js +1 -1
  10. package/build/core/playwright/helpers/fileMutex.js +11 -13
  11. package/build/core/playwright/index.js +10 -23
  12. package/build/core/playwright/runner/SpawnRunner.js +2 -2
  13. package/build/core/playwright/setup/config-creator.js +15 -8
  14. package/build/core/playwright/setup/config-utils.js +8 -25
  15. package/build/core/playwright/tagProcessor.js +18 -28
  16. package/build/core/playwright/test-runner.js +1 -1
  17. package/build/decorators.d.ts +1 -1
  18. package/build/decorators.js +1 -1
  19. package/build/setup-folder-structure/samples/accountLogin-sample.js +19 -0
  20. package/build/setup-folder-structure/samples/auth-setup-sample.js +10 -68
  21. package/build/setup-folder-structure/samples/editions-index.js +3 -0
  22. package/build/setup-folder-structure/samples/free-sample.json +25 -0
  23. package/{nobdd/uat/conf/default → build/setup-folder-structure/samples}/settings.json +4 -3
  24. package/build/setup-folder-structure/samples/testSetup-sample.js +14 -0
  25. package/build/setup-folder-structure/samples/uat-config-sample.js +3 -1
  26. package/build/setup-folder-structure/setupProject.js +22 -5
  27. package/build/test/core/playwright/helpers/__tests__/configFileNameProvider.test.js +1 -1
  28. package/npm-shrinkwrap.json +7624 -3344
  29. package/package.json +12 -11
  30. package/playwright.config.js +0 -48
  31. package/build/bdd-framework/cli/commands/env.js +0 -42
  32. package/build/bdd-framework/cli/commands/export.js +0 -62
  33. package/build/bdd-framework/cli/commands/test.js +0 -64
  34. package/build/bdd-framework/cli/index.js +0 -11
  35. package/build/bdd-framework/cli/options.js +0 -19
  36. package/build/bdd-framework/cli/worker.js +0 -13
  37. package/build/bdd-framework/config/configDir.js +0 -35
  38. package/build/bdd-framework/config/enrichReporterData.js +0 -23
  39. package/build/bdd-framework/config/env.js +0 -50
  40. package/build/bdd-framework/config/index.js +0 -94
  41. package/build/bdd-framework/config/lang.js +0 -14
  42. package/build/bdd-framework/cucumber/buildStepDefinition.js +0 -43
  43. package/build/bdd-framework/cucumber/createTestStep.js +0 -43
  44. package/build/bdd-framework/cucumber/formatter/EventDataCollector.js +0 -126
  45. package/build/bdd-framework/cucumber/formatter/GherkinDocumentParser.js +0 -72
  46. package/build/bdd-framework/cucumber/formatter/PickleParser.js +0 -25
  47. package/build/bdd-framework/cucumber/formatter/durationHelpers.js +0 -13
  48. package/build/bdd-framework/cucumber/formatter/getColorFns.js +0 -57
  49. package/build/bdd-framework/cucumber/formatter/index.js +0 -16
  50. package/build/bdd-framework/cucumber/formatter/locationHelpers.js +0 -16
  51. package/build/bdd-framework/cucumber/loadConfig.js +0 -17
  52. package/build/bdd-framework/cucumber/loadFeatures.js +0 -70
  53. package/build/bdd-framework/cucumber/loadSnippetBuilder.js +0 -20
  54. package/build/bdd-framework/cucumber/loadSteps.js +0 -47
  55. package/build/bdd-framework/cucumber/resolveFeaturePaths.js +0 -62
  56. package/build/bdd-framework/cucumber/stepArguments.js +0 -21
  57. package/build/bdd-framework/cucumber/types.js +0 -5
  58. package/build/bdd-framework/cucumber/valueChecker.js +0 -23
  59. package/build/bdd-framework/decorators.js +0 -18
  60. package/build/bdd-framework/gen/fixtures.js +0 -48
  61. package/build/bdd-framework/gen/formatter.js +0 -167
  62. package/build/bdd-framework/gen/i18n.js +0 -39
  63. package/build/bdd-framework/gen/index.js +0 -197
  64. package/build/bdd-framework/gen/specialTags.js +0 -70
  65. package/build/bdd-framework/gen/testFile.js +0 -470
  66. package/build/bdd-framework/gen/testMeta.js +0 -60
  67. package/build/bdd-framework/gen/testNode.js +0 -35
  68. package/build/bdd-framework/gen/testPoms.js +0 -133
  69. package/build/bdd-framework/hooks/scenario.js +0 -130
  70. package/build/bdd-framework/hooks/worker.js +0 -89
  71. package/build/bdd-framework/index.js +0 -52
  72. package/build/bdd-framework/playwright/fixtureParameterNames.js +0 -93
  73. package/build/bdd-framework/playwright/getLocationInFile.js +0 -79
  74. package/build/bdd-framework/playwright/loadConfig.js +0 -42
  75. package/build/bdd-framework/playwright/loadUtils.js +0 -33
  76. package/build/bdd-framework/playwright/testTypeImpl.js +0 -79
  77. package/build/bdd-framework/playwright/transform.js +0 -88
  78. package/build/bdd-framework/playwright/types.js +0 -12
  79. package/build/bdd-framework/playwright/utils.js +0 -56
  80. package/build/bdd-framework/reporter/cucumber/base.js +0 -52
  81. package/build/bdd-framework/reporter/cucumber/custom.js +0 -73
  82. package/build/bdd-framework/reporter/cucumber/helper.js +0 -12
  83. package/build/bdd-framework/reporter/cucumber/html.js +0 -40
  84. package/build/bdd-framework/reporter/cucumber/index.js +0 -74
  85. package/build/bdd-framework/reporter/cucumber/json.js +0 -312
  86. package/build/bdd-framework/reporter/cucumber/junit.js +0 -205
  87. package/build/bdd-framework/reporter/cucumber/message.js +0 -20
  88. package/build/bdd-framework/reporter/cucumber/messagesBuilder/AttachmentMapper.js +0 -82
  89. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Builder.js +0 -197
  90. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocument.js +0 -43
  91. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocumentClone.js +0 -52
  92. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocuments.js +0 -105
  93. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Hook.js +0 -70
  94. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Meta.js +0 -45
  95. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Pickles.js +0 -27
  96. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Projects.js +0 -38
  97. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCase.js +0 -128
  98. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRun.js +0 -154
  99. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRunHooks.js +0 -123
  100. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepAttachments.js +0 -67
  101. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepRun.js +0 -114
  102. package/build/bdd-framework/reporter/cucumber/messagesBuilder/index.js +0 -30
  103. package/build/bdd-framework/reporter/cucumber/messagesBuilder/pwStepUtils.js +0 -70
  104. package/build/bdd-framework/reporter/cucumber/messagesBuilder/timing.js +0 -35
  105. package/build/bdd-framework/reporter/cucumber/messagesBuilder/types.js +0 -5
  106. package/build/bdd-framework/run/StepInvoker.js +0 -69
  107. package/build/bdd-framework/run/bddData/index.js +0 -59
  108. package/build/bdd-framework/run/bddData/types.js +0 -5
  109. package/build/bdd-framework/run/bddFixtures.js +0 -192
  110. package/build/bdd-framework/run/bddWorld.js +0 -79
  111. package/build/bdd-framework/run/bddWorldInternal.js +0 -11
  112. package/build/bdd-framework/snippets/index.js +0 -132
  113. package/build/bdd-framework/snippets/snippetSyntax.js +0 -43
  114. package/build/bdd-framework/snippets/snippetSyntaxDecorators.js +0 -26
  115. package/build/bdd-framework/snippets/snippetSyntaxTs.js +0 -18
  116. package/build/bdd-framework/stepDefinitions/createBdd.js +0 -66
  117. package/build/bdd-framework/stepDefinitions/decorators/class.js +0 -68
  118. package/build/bdd-framework/stepDefinitions/decorators/steps.js +0 -99
  119. package/build/bdd-framework/stepDefinitions/defineStep.js +0 -62
  120. package/build/bdd-framework/stepDefinitions/stepConfig.js +0 -24
  121. package/build/bdd-framework/steps/createBdd.js +0 -78
  122. package/build/bdd-framework/steps/decorators/class.js +0 -68
  123. package/build/bdd-framework/steps/decorators/steps.js +0 -98
  124. package/build/bdd-framework/steps/defineStep.js +0 -62
  125. package/build/bdd-framework/steps/stepConfig.js +0 -24
  126. package/build/bdd-framework/utils/AutofillMap.js +0 -20
  127. package/build/bdd-framework/utils/exit.js +0 -62
  128. package/build/bdd-framework/utils/index.js +0 -93
  129. package/build/bdd-framework/utils/jsStringWrap.js +0 -44
  130. package/build/bdd-framework/utils/logger.js +0 -30
  131. package/build/bdd-framework/utils/stripAnsiEscapes.js +0 -20
  132. package/build/setup-folder-structure/samples/authUsers-sample.json +0 -9
  133. package/build/setup-folder-structure/samples/env-config-sample.json +0 -21
  134. package/nobdd/README.md +0 -1
  135. package/nobdd/package.json +0 -17
  136. package/nobdd/src/App.js +0 -7
  137. package/nobdd/uat/conf/default/actors/editions/enterprise.json +0 -24
  138. package/nobdd/uat/conf/default/actors/editions/index.js +0 -4
  139. package/nobdd/uat/conf/nobdd/uat.config.js +0 -36
  140. package/nobdd/uat/env-config.json +0 -20
  141. package/nobdd/uat/fixtures/auth.setup.js +0 -44
  142. package/nobdd/uat/fixtures/setup.teardown.js +0 -33
  143. package/nobdd/uat/modules/nobdd/steps/VerifyNoBDD.feature.spec.js +0 -16
  144. package/nobdd/uat/shared/commands/_index-custom-fixtures.js +0 -9
  145. package/nobdd/uat/shared/commands/i18n.js +0 -25
  146. package/nobdd/uat/shared/commands/unauthenticatedPage.js +0 -8
  147. package/nobdd/uat/shared/index.js +0 -7
  148. package/nobdd/uat/shared/onboardings/onboardingUpdate.js +0 -44
  149. package/nobdd/uat/shared/url-helpers/getUrlOrigin.js +0 -6
  150. package/nobdd/uat.config.js +0 -37
  151. /package/{nobdd/uat/conf/default/actors/index.js → build/setup-folder-structure/samples/actors-index.js} +0 -0
@@ -1,23 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _logger = require("../../utils/logger");
4
- function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
5
- function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
6
- function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
7
- var _buildTagsString = /*#__PURE__*/new WeakSet();
8
- var _parseEdition = /*#__PURE__*/new WeakSet();
9
- var _processSingleEdition = /*#__PURE__*/new WeakSet();
10
- var _processMultipleEditions = /*#__PURE__*/new WeakSet();
11
- var _getEditionArgs = /*#__PURE__*/new WeakSet();
12
- var _buildEditionTags = /*#__PURE__*/new WeakSet();
4
+ function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
5
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
6
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
7
+ var _TagProcessor_brand = /*#__PURE__*/new WeakSet();
13
8
  class TagProcessor {
14
9
  constructor(editionOrder) {
15
- _classPrivateMethodInitSpec(this, _buildEditionTags);
16
- _classPrivateMethodInitSpec(this, _getEditionArgs);
17
- _classPrivateMethodInitSpec(this, _processMultipleEditions);
18
- _classPrivateMethodInitSpec(this, _processSingleEdition);
19
- _classPrivateMethodInitSpec(this, _parseEdition);
20
- _classPrivateMethodInitSpec(this, _buildTagsString);
10
+ _classPrivateMethodInitSpec(this, _TagProcessor_brand);
21
11
  this.editionOrder = editionOrder;
22
12
  }
23
13
  processTags(userArgs) {
@@ -25,36 +15,36 @@ class TagProcessor {
25
15
  const edition = userArgs['edition'] || null;
26
16
  if (!edition) return tagArgs;
27
17
  const editionsArray = edition.split(',');
28
- const editionTags = editionsArray.length === 1 ? _classPrivateMethodGet(this, _processSingleEdition, _processSingleEdition2).call(this, editionsArray[0], tagArgs) : _classPrivateMethodGet(this, _processMultipleEditions, _processMultipleEditions2).call(this, editionsArray, tagArgs);
18
+ const editionTags = editionsArray.length === 1 ? _assertClassBrand(_TagProcessor_brand, this, _processSingleEdition).call(this, editionsArray[0], tagArgs) : _assertClassBrand(_TagProcessor_brand, this, _processMultipleEditions).call(this, editionsArray, tagArgs);
29
19
  return editionTags;
30
20
  }
31
21
  }
32
- function _buildTagsString2(tags, editionTags) {
22
+ function _buildTagsString(tags, editionTags) {
33
23
  return tags && tags !== '' ? `${tags} and not (${editionTags})` : `not (${editionTags})`;
34
24
  }
35
- function _parseEdition2(edition) {
25
+ function _parseEdition(edition) {
36
26
  if (edition.startsWith('<=')) return ['<=', edition.slice(2)];
37
27
  if (edition.startsWith('>=')) return ['>=', edition.slice(2)];
38
28
  if (edition.startsWith('<')) return ['<', edition.slice(1)];
39
29
  if (edition.startsWith('>')) return ['>', edition.slice(1)];
40
30
  return [null, edition];
41
31
  }
42
- function _processSingleEdition2(selectedEdition, tagArgs) {
43
- const editionArgs = _classPrivateMethodGet(this, _getEditionArgs, _getEditionArgs2).call(this, selectedEdition);
32
+ function _processSingleEdition(selectedEdition, tagArgs) {
33
+ const editionArgs = _assertClassBrand(_TagProcessor_brand, this, _getEditionArgs).call(this, selectedEdition);
44
34
  if (editionArgs && editionArgs.length > 0) {
45
- const editionTags = _classPrivateMethodGet(this, _buildEditionTags, _buildEditionTags2).call(this, editionArgs, 'or');
46
- return _classPrivateMethodGet(this, _buildTagsString, _buildTagsString2).call(this, tagArgs, editionTags);
35
+ const editionTags = _assertClassBrand(_TagProcessor_brand, this, _buildEditionTags).call(this, editionArgs, 'or');
36
+ return _assertClassBrand(_TagProcessor_brand, this, _buildTagsString).call(this, tagArgs, editionTags);
47
37
  }
48
38
  _logger.Logger.log(_logger.Logger.INFO_TYPE, `No matching editions for ${selectedEdition} found. Running with default edition`);
49
39
  return tagArgs;
50
40
  }
51
- function _processMultipleEditions2(editionsArray, tagArgs) {
41
+ function _processMultipleEditions(editionsArray, tagArgs) {
52
42
  const filteredEditions = this.editionOrder.filter(edition => !editionsArray.includes(edition));
53
- const editionTags = _classPrivateMethodGet(this, _buildEditionTags, _buildEditionTags2).call(this, filteredEditions, 'or');
54
- return _classPrivateMethodGet(this, _buildTagsString, _buildTagsString2).call(this, tagArgs, editionTags);
43
+ const editionTags = _assertClassBrand(_TagProcessor_brand, this, _buildEditionTags).call(this, filteredEditions, 'or');
44
+ return _assertClassBrand(_TagProcessor_brand, this, _buildTagsString).call(this, tagArgs, editionTags);
55
45
  }
56
- function _getEditionArgs2(selectedEdition) {
57
- const [operator, editionValue] = _classPrivateMethodGet(this, _parseEdition, _parseEdition2).call(this, selectedEdition.toLowerCase());
46
+ function _getEditionArgs(selectedEdition) {
47
+ const [operator, editionValue] = _assertClassBrand(_TagProcessor_brand, this, _parseEdition).call(this, selectedEdition.toLowerCase());
58
48
  const index = this.editionOrder.findIndex(edition => edition.toLowerCase() === editionValue);
59
49
  if (index === -1) {
60
50
  _logger.Logger.log(_logger.Logger.INFO_TYPE, `No matching editions for ${selectedEdition} found. Running with default edition`);
@@ -73,7 +63,7 @@ function _getEditionArgs2(selectedEdition) {
73
63
  return this.editionOrder.filter((_, i) => i !== index);
74
64
  }
75
65
  }
76
- function _buildEditionTags2(editionArgs, operator = 'or') {
66
+ function _buildEditionTags(editionArgs, operator = 'or') {
77
67
  return editionArgs.map(edition => `@edition_${edition}`).join(` ${operator} `);
78
68
  }
79
69
  module.exports = TagProcessor;
@@ -24,7 +24,7 @@ var _RunnerHelper = _interopRequireDefault(require("./runner/RunnerHelper"));
24
24
  var _Runner = _interopRequireDefault(require("./runner/Runner"));
25
25
  function runPreprocessing(tagArgs, configPath) {
26
26
  const beforeCommand = 'node';
27
- const bddGenPath = _path.default.resolve(__dirname, '../', '../', 'bdd-framework', 'cli', 'index.js');
27
+ const bddGenPath = _path.default.resolve((0, _rootPath.getExecutableBinaryPath)('bddgen'));
28
28
  const beforeArgs = [bddGenPath, '-c', configPath];
29
29
  if (tagArgs) {
30
30
  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;
@@ -0,0 +1,19 @@
1
+ // This is the sample file generated by testing framework. You can change as per the respective project login
2
+
3
+ const getUrlOrigin = require('../shared/url-helpers/getUrlOrigin');
4
+
5
+ async function accountLogin( { page, email, password } ) {
6
+ await page.locator('#login_id').fill(email);
7
+ await page.locator('#nextbtn').click();
8
+ await page.locator('#password').fill(password);
9
+ await page.locator('#nextbtn').click();
10
+
11
+ const domainUrlOrigin = getUrlOrigin(process.env.domain);
12
+ await page.waitForNavigation();
13
+ await Promise.race([
14
+ page.waitForURL(`${domainUrlOrigin}/**`),
15
+ page.waitForURL('**/announcement/**')
16
+ ]);
17
+ }
18
+
19
+ module.exports = accountLogin;
@@ -1,73 +1,15 @@
1
1
  /* eslint-disable no-console */
2
2
  import { test as setup, expect } from '@zohodesk/testinglibrary';
3
- import path from 'path';
4
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
5
- import { getAuthFileDirectory } from '../../core/playwright';
6
- import { Logger } from '../../utils/logger';
3
+ import {
4
+ performLoginSteps,
5
+ getDefaultActor
6
+ } from '@zohodesk/testinglibrary/helpers';
7
7
 
8
- const userdata = require('./authUsers.json');
8
+ import { loginSteps , validateLogin } from './testSetup';
9
9
 
10
- const authContent = { cookies: [] };
10
+ const user = getDefaultActor();
11
11
 
12
- const LOGIN_ERR_MESSAGE = 'Need go be logged in';
13
- // const AUTH_ERR_MESSAGE = `Founded Path - ${path.resolve(process.cwd(),'uat','playwright','.auth')} \n Find if file is Properly Created. Cookies Cannot Be Read .. `
14
-
15
- function convertCookiesToParse(cookies, authFilePath) {
16
- try {
17
- return JSON.parse(cookies);
18
- } catch (err) {
19
- Logger.error(err);
20
- throw new Error(
21
- ` Error while parsing cookies ${err} \n${path.resolve(
22
- process.cwd(),
23
- authFilePath
24
- )} File is Empty`
25
- );
26
- // process.exit()
27
- }
28
- }
29
- const authDirectory = getAuthFileDirectory(); //path.resolve(process.cwd(), 'uat', 'playwright', '.auth');
30
- if (!existsSync(authDirectory)) {
31
- console.log('Creating auth directory for the first time setup...');
32
- mkdirSync(authDirectory, { recursive: true });
33
- }
34
-
35
- userdata.forEach(data => {
36
- const authFile = path.resolve(path.join(authDirectory, `${data.filename}`));
37
- if (!existsSync(authFile)) {
38
- console.log('creating auth file..');
39
- writeFileSync(authFile, JSON.stringify(authContent, null, 2));
40
- }
41
- setup(data.description, async ({ page }) => {
42
- try {
43
- const cookies = readFileSync(authFile);
44
- const parsedCookies = convertCookiesToParse(cookies, authFile);
45
- await page
46
- .context()
47
- .addCookies(
48
- parsedCookies.cookies === undefined ? [] : parsedCookies.cookies
49
- );
50
- await page.goto(page.getBaseUrl());
51
- await page.waitForLoadState();
52
- if (await page.url().includes(process.env.domain)) {
53
- await page.waitForSelector(data.locator);
54
- } else {
55
- throw new Error(LOGIN_ERR_MESSAGE);
56
- }
57
- } catch (err) {
58
- if (err.message === LOGIN_ERR_MESSAGE) {
59
- await expect(page.locator('.load-bg')).toBeHidden();
60
- await page.locator('#login_id').type(data.useremail);
61
- await page.locator('#nextbtn').click();
62
- await page.locator('#password').type(data.password);
63
- await page.locator('#nextbtn').click();
64
-
65
- await page.waitForLoadState('networkidle');
66
-
67
- await page.waitForSelector(data.locator);
68
-
69
- await page.context().storageState({ path: authFile });
70
- }
71
- }
72
- });
73
- });
12
+ setup(`${user.edition} - Authentication`, async ({ page }) => {
13
+ //Implement performLoginSteps here
14
+ await performLoginSteps({page, ...user},validateLogin ,loginSteps);
15
+ });
@@ -0,0 +1,3 @@
1
+ const free = require('./free.json');
2
+ const editions = { free};
3
+ module.exports = editions;
@@ -0,0 +1,25 @@
1
+ [
2
+ {
3
+ "id": "1",
4
+ "edition": "free",
5
+ "orgName": "orgFree",
6
+ "profiles": [
7
+ {
8
+ "profile": "admin",
9
+ "email": "admin+free@zohotest.com",
10
+ "password": "password@0987"
11
+ },
12
+ {
13
+ "profile": "agent",
14
+ "email": "agent@zohotest.com",
15
+ "password": "password@12345"
16
+ },
17
+ {
18
+ "profile": "lightagent",
19
+ "email": "lightagent@zohotest.com",
20
+ "password": "password@12345"
21
+ }
22
+ ]
23
+ }
24
+ ]
25
+
@@ -1,6 +1,7 @@
1
1
  {
2
- "environment": "ci",
2
+ "environment": "dev",
3
3
  "edition": "enterprise",
4
4
  "profile": "admin",
5
- "domain": "https://zdesk-devops16.csez.zohocorpin.com:31025/agent"
6
- }
5
+ "domain": "https://zdesk-devops16.csez.zohocorpin.com:31025/agent",
6
+ "devUrl" : ""
7
+ }
@@ -0,0 +1,14 @@
1
+ /* eslint-disable global-require */
2
+ const accountLogin = require('./accountLogin');
3
+
4
+ async function verifyPageIsLoaded({page}) {
5
+
6
+ //Implement your validation logic here
7
+ //Refer deskclientapp testSetup.js
8
+ }
9
+
10
+ module.exports = {
11
+ loginSteps:accountLogin,
12
+ validateLogin:verifyPageIsLoaded,
13
+ page:()=>{}
14
+ };
@@ -1,3 +1,4 @@
1
+ const testSetup = require('../../fixtures/testSetup');
1
2
  /**
2
3
  * @typedef {Object|null} viewportConfig
3
4
  * @property {number} width - width of the viewport
@@ -40,5 +41,6 @@ module.exports = {
40
41
  bddMode: true,
41
42
  featureFilesFolder: 'feature-files',
42
43
  stepDefinitionsFolder: 'steps',
43
- viewport: { width: 1280, height: 720 }
44
+ viewport: { width: 1280, height: 720 },
45
+ testSetup
44
46
  }
@@ -10,8 +10,9 @@ var _path = _interopRequireDefault(require("path"));
10
10
  var _logger = require("../utils/logger");
11
11
  function getScriptsToBeAdded() {
12
12
  return {
13
- "uat": "ZDTestingFramework test --mode=prod --headed",
14
- "uat-debug": "ZDTestingFramework test --mode=prod --debug",
13
+ "uat": "ZDTestingFramework test --mode=dev --headed",
14
+ "uat-debug": "ZDTestingFramework test --mode=dev --debug",
15
+ "uat-validate": "ZDTestingFramework validate",
15
16
  "uat-report": "ZDTestingFramework report --port=9009",
16
17
  "codegen": "ZDTestingFramework codegen deskclientapp.localzoho.com/agent"
17
18
  };
@@ -71,8 +72,11 @@ function createAuthenticationFile() {
71
72
  });
72
73
  }
73
74
  (0, _fs.writeFileSync)(_path.default.resolve(process.cwd(), 'uat', 'fixtures', 'auth.setup.js'), getSetupFileAsString('auth-setup-sample.js'), null, 2);
74
- (0, _fs.writeFileSync)(_path.default.resolve(process.cwd(), 'uat', 'fixtures', 'authUsers.json'), getSetupFileAsString('authUsers-sample.json'), null, 2);
75
75
  _logger.Logger.log(_logger.Logger.INFO_TYPE, 'Creating Authentication File ....');
76
+ (0, _fs.writeFileSync)(_path.default.resolve(process.cwd(), 'uat', 'fixtures', 'accountLogin.js'), getSetupFileAsString('accountLogin-sample.js'), null, 2);
77
+ _logger.Logger.log(_logger.Logger.INFO_TYPE, 'Creating login script File ....');
78
+ (0, _fs.writeFileSync)(_path.default.resolve(process.cwd(), 'uat', 'fixtures', 'testSetup.js'), getSetupFileAsString('testSetup-sample.js'), null, 2);
79
+ _logger.Logger.log(_logger.Logger.INFO_TYPE, 'Creating testSetup File ....');
76
80
  } catch (err) {
77
81
  _logger.Logger.error(err);
78
82
  _logger.Logger.log(_logger.Logger.FAILURE_TYPE, 'Something went wrong ! Folder not Created. Please re-initialize npm init-uat');
@@ -84,8 +88,21 @@ function createAuthenticationFile() {
84
88
  function createConfigJson() {
85
89
  const uatFolder = _path.default.resolve(process.cwd(), 'uat');
86
90
  if ((0, _fs.existsSync)(uatFolder)) {
87
- _logger.Logger.log(_logger.Logger.INFO_TYPE, 'Creating env-config file inside UAT Folder');
88
- (0, _fs.writeFileSync)(_path.default.resolve(uatFolder, './env-config.json'), getSetupFileAsString('env-config-sample.json'), null, 2);
91
+ _logger.Logger.log(_logger.Logger.INFO_TYPE, 'Creating settings.json file inside UAT Folder');
92
+ if (!(0, _fs.existsSync)(_path.default.resolve(uatFolder, 'conf', 'default'))) {
93
+ (0, _fs.mkdirSync)(_path.default.resolve(uatFolder, 'conf', 'default'), {
94
+ recursive: true
95
+ });
96
+ }
97
+ (0, _fs.writeFileSync)(_path.default.resolve(uatFolder, 'conf', 'default', './settings.json'), getSetupFileAsString('settings.json'), null, 2);
98
+ if (!(0, _fs.existsSync)(_path.default.resolve(uatFolder, 'conf', 'default', 'actors', 'editions'))) {
99
+ (0, _fs.mkdirSync)(_path.default.resolve(uatFolder, 'conf', 'default', 'actors', 'editions'), {
100
+ recursive: true
101
+ });
102
+ }
103
+ (0, _fs.writeFileSync)(_path.default.resolve(uatFolder, 'conf', 'default', 'actors', 'editions', 'free.json'), getSetupFileAsString('free-sample.json'), null, 2);
104
+ (0, _fs.writeFileSync)(_path.default.resolve(uatFolder, 'conf', 'default', 'actors', 'editions', 'index.js'), getSetupFileAsString('editions-index.js'), null, 2);
105
+ (0, _fs.writeFileSync)(_path.default.resolve(uatFolder, 'conf', 'default', 'actors', 'index.js'), getSetupFileAsString('actors-index.js'), null, 2);
89
106
  } else {
90
107
  _logger.Logger.log(_logger.Logger.INFO_TYPE, 'Something went wrong. Please re-initialize the @zohodesk/testinglibrary');
91
108
  }
@@ -24,7 +24,7 @@ describe('getUATFileName', () => {
24
24
  });
25
25
  test('return the default config files for pipeline matched files not exists', () => {
26
26
  const mode = 'ci';
27
- const defaultPath = `${mockCwd}/uat.config.js`;
27
+ const defaultPath = `${mockCwd}/uat/conf/default/uat.config.js`;
28
28
  _fs.existsSync.mockReturnValue(false);
29
29
  _path.default.resolve.mockImplementation((...args) => args.join('/'));
30
30
  const result = (0, _configFileNameProvider.getUATFileName)(mode);