@zohodesk/testinglibrary 0.1.9 → 0.1.12-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 (241) hide show
  1. package/.babelrc +4 -2
  2. package/.claude/settings.local.json +14 -0
  3. package/.gitlab-ci.yml +206 -0
  4. package/README.md +264 -1
  5. package/build/common/data-generator/steps/DataGenerator.spec.js +19 -0
  6. package/build/common/data-generator/steps/DataGeneratorStepsHelper.js +21 -0
  7. package/build/common/multi-actor/steps/multiActorHandling.spec.js +26 -0
  8. package/build/common/searchFake/helpers/rpcRequestHelper.js +52 -0
  9. package/build/common/searchFake/steps/searchFake.spec.js +85 -0
  10. package/build/core/dataGenerator/DataGenerator.js +161 -0
  11. package/build/core/dataGenerator/DataGeneratorError.js +60 -0
  12. package/build/core/dataGenerator/DataGeneratorHelper.js +121 -0
  13. package/build/core/dataGenerator/authenticator/Authenticator.js +37 -0
  14. package/build/core/dataGenerator/authenticator/CookieAuthenticator.js +48 -0
  15. package/build/core/dataGenerator/authenticator/JWTauthenticator.js +59 -0
  16. package/build/core/dataGenerator/authenticator/OAuthAuthenticator.js +26 -0
  17. package/build/core/dataGenerator/authenticator/OrgOAuthAuthenticator.js +26 -0
  18. package/build/core/dataGenerator/authenticator/cookieAuthConfig.js +11 -0
  19. package/build/core/jest/preprocessor/jsPreprocessor.js +2 -7
  20. package/build/core/jest/setup/index.js +1 -7
  21. package/build/core/playwright/builtInFixtures/actorContext.js +78 -0
  22. package/build/core/playwright/builtInFixtures/caseTimeout.js +20 -0
  23. package/build/core/playwright/builtInFixtures/context.js +34 -16
  24. package/build/core/playwright/builtInFixtures/executionContext.js +17 -0
  25. package/build/core/playwright/builtInFixtures/i18N.js +8 -0
  26. package/build/core/playwright/builtInFixtures/index.js +7 -1
  27. package/build/core/playwright/builtInFixtures/page.js +22 -66
  28. package/build/core/playwright/clear-caches.js +17 -5
  29. package/build/core/playwright/codegen.js +4 -21
  30. package/build/core/playwright/configuration/Configuration.js +25 -0
  31. package/build/core/playwright/configuration/ConfigurationHelper.js +45 -0
  32. package/build/core/playwright/configuration/UserArgs.js +12 -0
  33. package/build/core/playwright/constants/configConstants.js +17 -0
  34. package/build/core/playwright/constants/failureTagConstants.js +17 -0
  35. package/build/core/playwright/constants/fileMutexConfig.js +9 -0
  36. package/build/core/playwright/constants/reporterConstants.js +20 -0
  37. package/build/core/playwright/constants/retryConstants.js +8 -0
  38. package/build/core/playwright/custom-commands.js +1 -1
  39. package/build/core/playwright/env-initializer.js +28 -9
  40. package/build/core/playwright/fixtures.js +24 -0
  41. package/build/core/playwright/helpers/additionalProfiles.js +25 -0
  42. package/build/core/playwright/helpers/auth/accountLogin.js +4 -1
  43. package/build/core/playwright/helpers/auth/checkAuthCookies.js +27 -23
  44. package/build/core/playwright/helpers/auth/getUsers.js +92 -45
  45. package/build/core/playwright/helpers/auth/index.js +30 -5
  46. package/build/core/playwright/helpers/auth/loginDefaultStepsHelper.js +62 -0
  47. package/build/core/playwright/helpers/auth/loginSteps.js +40 -22
  48. package/build/core/playwright/helpers/browserTimeoutFactor.js +16 -0
  49. package/build/core/playwright/helpers/caseTimeoutResolver.js +37 -0
  50. package/build/core/playwright/helpers/checkAuthDirectory.js +27 -0
  51. package/build/core/playwright/helpers/configFileNameProvider.js +26 -5
  52. package/build/core/playwright/helpers/configPathResolver.js +38 -0
  53. package/build/core/playwright/helpers/contextFailureHandler.js +81 -0
  54. package/build/core/playwright/helpers/customFixturesHelper.js +58 -0
  55. package/build/core/playwright/helpers/failureTagClassifier.js +197 -0
  56. package/build/core/playwright/helpers/fileMutex.js +71 -0
  57. package/build/core/playwright/helpers/logCollector.js +147 -0
  58. package/build/core/playwright/helpers/parseUserArgs.js +2 -3
  59. package/build/core/playwright/helpers/runtimeLogAnnotator.js +140 -0
  60. package/build/core/playwright/helpers/runtimeLogPath.js +61 -0
  61. package/build/core/playwright/helpers/runtimeLogReader.js +54 -0
  62. package/build/core/playwright/helpers/thirdPartyLib.js +13 -0
  63. package/build/core/playwright/index.js +8 -76
  64. package/build/core/playwright/patterns/casePatterns.js +9 -0
  65. package/build/core/playwright/patterns/codePatterns.js +9 -0
  66. package/build/core/playwright/patterns/environmentPatterns.js +15 -0
  67. package/build/core/playwright/patterns/index.js +33 -0
  68. package/build/core/playwright/patterns/logCollectorIgnorePatterns.js +15 -0
  69. package/build/core/playwright/patterns/toolPatterns.js +26 -0
  70. package/build/core/playwright/readConfigFile.js +49 -16
  71. package/build/core/playwright/reporter/PlaywrightReporter.js +58 -0
  72. package/build/core/playwright/reporter/Reporter.js +65 -0
  73. package/build/core/playwright/reporter/ShardReporter.js +58 -0
  74. package/build/core/playwright/reporter/UnitReporter.js +27 -0
  75. package/build/core/playwright/reporter/helpers/mergeAbortedTests.js +78 -0
  76. package/build/core/playwright/runner/Runner.js +22 -0
  77. package/build/core/playwright/runner/RunnerHelper.js +43 -0
  78. package/build/core/playwright/runner/RunnerTypes.js +17 -0
  79. package/build/core/playwright/runner/SpawnRunner.js +93 -0
  80. package/build/core/playwright/setup/Project.js +35 -0
  81. package/build/core/playwright/setup/ProjectConfiguration.js +66 -0
  82. package/build/core/playwright/setup/config-creator.js +58 -40
  83. package/build/core/playwright/setup/config-utils.js +68 -37
  84. package/build/core/playwright/setup/custom-reporter.js +137 -14
  85. package/build/core/playwright/setup/merge-config.js +32 -0
  86. package/build/core/playwright/setup/qc-custom-reporter.js +342 -0
  87. package/build/core/playwright/spawnInheritChild.js +71 -0
  88. package/build/core/playwright/tagProcessor.js +69 -0
  89. package/build/core/playwright/test-runner.js +44 -98
  90. package/build/core/playwright/types.js +4 -1
  91. package/build/core/playwright/validateFeature.js +28 -0
  92. package/build/decorators.d.ts +1 -1
  93. package/build/decorators.js +1 -1
  94. package/build/index.d.ts +17 -19
  95. package/build/index.js +28 -6
  96. package/build/lib/cli.js +42 -7
  97. package/build/setup-folder-structure/helper.js +2 -0
  98. package/build/setup-folder-structure/samples/accountLogin-sample.js +19 -0
  99. package/build/setup-folder-structure/samples/actors-index.js +2 -0
  100. package/build/setup-folder-structure/samples/auth-setup-sample.js +10 -67
  101. package/build/setup-folder-structure/samples/editions-index.js +3 -0
  102. package/build/setup-folder-structure/samples/free-sample.json +25 -0
  103. package/build/setup-folder-structure/samples/settings.json +7 -0
  104. package/build/setup-folder-structure/samples/testSetup-sample.js +14 -0
  105. package/build/setup-folder-structure/samples/uat-config-sample.js +7 -2
  106. package/build/setup-folder-structure/setupProject.js +23 -5
  107. package/build/test/core/dataGenerator/__tests__/DataGenerator.test.js +311 -0
  108. package/build/test/core/dataGenerator/__tests__/DataGeneratorHelper.test.js +204 -0
  109. package/build/test/core/dataGenerator/__tests__/DataGeneratorResolution.test.js +126 -0
  110. package/build/test/core/dataGenerator/authenticator/__tests__/Authenticator.test.js +88 -0
  111. package/build/test/core/dataGenerator/authenticator/__tests__/JWTauthenticator.test.js +136 -0
  112. package/build/test/core/dataGenerator/authenticator/__tests__/OAuthAuthenticator.test.js +39 -0
  113. package/build/test/core/dataGenerator/authenticator/__tests__/OrgOAuthAuthenticator.test.js +39 -0
  114. package/build/test/core/playwright/__tests__/spawnInheritChild.test.js +148 -0
  115. package/build/test/core/playwright/__tests__/tagProcessor.test.js +94 -0
  116. package/build/test/core/playwright/__tests__/validateFeature.test.js +72 -0
  117. package/build/test/core/playwright/buildInFixtures/__tests__/caseTimeout.test.js +96 -0
  118. package/build/test/core/playwright/buildInFixtures/__tests__/executionContext.test.js +27 -0
  119. package/build/test/core/playwright/configuration/__tests__/Configuration.test.js +53 -0
  120. package/build/test/core/playwright/helpers/__tests__/additionalProfiles.test.js +45 -0
  121. package/build/test/core/playwright/helpers/__tests__/configFileNameProvider.test.js +75 -0
  122. package/build/test/core/playwright/helpers/__tests__/configPathResolver.test.js +55 -0
  123. package/build/test/core/playwright/helpers/__tests__/customFixturesHelper.test.js +51 -0
  124. package/build/test/core/playwright/helpers/__tests__/failureTagClassifier.test.js +604 -0
  125. package/build/test/core/playwright/helpers/__tests__/fileMutex.test.js +79 -0
  126. package/build/test/core/playwright/helpers/__tests__/getUsers_ListOfActors.test.js +83 -0
  127. package/build/test/core/playwright/helpers/__tests__/logCollector.test.js +163 -0
  128. package/build/test/core/playwright/helpers/__tests__/runtimeLogReader.test.js +112 -0
  129. package/build/test/core/playwright/helpers/auth/__tests__/checkAuthCookies.test.js +92 -0
  130. package/build/test/core/playwright/runner/__tests__/RunnerHelper.test.js +19 -0
  131. package/build/test/core/playwright/runner/__tests__/SpawnRunner.test.js +30 -0
  132. package/build/utils/cliArgsToObject.js +3 -0
  133. package/build/utils/commonUtils.js +20 -0
  134. package/build/utils/fileUtils.js +43 -1
  135. package/build/utils/logger.js +1 -30
  136. package/changelog.md +23 -0
  137. package/docs/CODE-REVIEW-AGENT.md +399 -0
  138. package/docs/code-review-instructions.md +157 -0
  139. package/jest.config.js +29 -11
  140. package/npm-shrinkwrap.json +14994 -4793
  141. package/package.json +39 -28
  142. package/playwright.config.js +13 -57
  143. package/unit_reports/unit-report.html +277 -0
  144. package/build/bdd-framework/cli/commands/env.js +0 -42
  145. package/build/bdd-framework/cli/commands/export.js +0 -47
  146. package/build/bdd-framework/cli/commands/test.js +0 -64
  147. package/build/bdd-framework/cli/index.js +0 -11
  148. package/build/bdd-framework/cli/options.js +0 -19
  149. package/build/bdd-framework/cli/worker.js +0 -13
  150. package/build/bdd-framework/config/configDir.js +0 -35
  151. package/build/bdd-framework/config/enrichReporterData.js +0 -23
  152. package/build/bdd-framework/config/env.js +0 -50
  153. package/build/bdd-framework/config/index.js +0 -94
  154. package/build/bdd-framework/config/lang.js +0 -14
  155. package/build/bdd-framework/cucumber/buildStepDefinition.js +0 -43
  156. package/build/bdd-framework/cucumber/createTestStep.js +0 -43
  157. package/build/bdd-framework/cucumber/formatter/EventDataCollector.js +0 -126
  158. package/build/bdd-framework/cucumber/formatter/GherkinDocumentParser.js +0 -72
  159. package/build/bdd-framework/cucumber/formatter/PickleParser.js +0 -25
  160. package/build/bdd-framework/cucumber/formatter/durationHelpers.js +0 -13
  161. package/build/bdd-framework/cucumber/formatter/getColorFns.js +0 -57
  162. package/build/bdd-framework/cucumber/formatter/index.js +0 -16
  163. package/build/bdd-framework/cucumber/formatter/locationHelpers.js +0 -16
  164. package/build/bdd-framework/cucumber/loadConfig.js +0 -17
  165. package/build/bdd-framework/cucumber/loadFeatures.js +0 -70
  166. package/build/bdd-framework/cucumber/loadSnippetBuilder.js +0 -20
  167. package/build/bdd-framework/cucumber/loadSteps.js +0 -47
  168. package/build/bdd-framework/cucumber/resolveFeaturePaths.js +0 -62
  169. package/build/bdd-framework/cucumber/stepArguments.js +0 -21
  170. package/build/bdd-framework/cucumber/types.js +0 -5
  171. package/build/bdd-framework/cucumber/valueChecker.js +0 -23
  172. package/build/bdd-framework/decorators.js +0 -18
  173. package/build/bdd-framework/gen/fixtures.js +0 -48
  174. package/build/bdd-framework/gen/formatter.js +0 -123
  175. package/build/bdd-framework/gen/i18n.js +0 -39
  176. package/build/bdd-framework/gen/index.js +0 -185
  177. package/build/bdd-framework/gen/testFile.js +0 -465
  178. package/build/bdd-framework/gen/testMeta.js +0 -60
  179. package/build/bdd-framework/gen/testNode.js +0 -60
  180. package/build/bdd-framework/gen/testPoms.js +0 -133
  181. package/build/bdd-framework/hooks/scenario.js +0 -130
  182. package/build/bdd-framework/hooks/worker.js +0 -89
  183. package/build/bdd-framework/index.js +0 -52
  184. package/build/bdd-framework/playwright/fixtureParameterNames.js +0 -93
  185. package/build/bdd-framework/playwright/getLocationInFile.js +0 -79
  186. package/build/bdd-framework/playwright/loadConfig.js +0 -42
  187. package/build/bdd-framework/playwright/loadUtils.js +0 -33
  188. package/build/bdd-framework/playwright/testTypeImpl.js +0 -61
  189. package/build/bdd-framework/playwright/transform.js +0 -88
  190. package/build/bdd-framework/playwright/types.js +0 -5
  191. package/build/bdd-framework/playwright/utils.js +0 -34
  192. package/build/bdd-framework/reporter/cucumber/base.js +0 -57
  193. package/build/bdd-framework/reporter/cucumber/custom.js +0 -73
  194. package/build/bdd-framework/reporter/cucumber/helper.js +0 -12
  195. package/build/bdd-framework/reporter/cucumber/html.js +0 -35
  196. package/build/bdd-framework/reporter/cucumber/index.js +0 -74
  197. package/build/bdd-framework/reporter/cucumber/json.js +0 -312
  198. package/build/bdd-framework/reporter/cucumber/junit.js +0 -205
  199. package/build/bdd-framework/reporter/cucumber/message.js +0 -20
  200. package/build/bdd-framework/reporter/cucumber/messagesBuilder/AttachmentMapper.js +0 -64
  201. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Builder.js +0 -196
  202. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocument.js +0 -43
  203. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocumentClone.js +0 -52
  204. package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocuments.js +0 -105
  205. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Hook.js +0 -70
  206. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Meta.js +0 -45
  207. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Pickles.js +0 -27
  208. package/build/bdd-framework/reporter/cucumber/messagesBuilder/Projects.js +0 -38
  209. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCase.js +0 -128
  210. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRun.js +0 -126
  211. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRunHooks.js +0 -102
  212. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepAttachments.js +0 -50
  213. package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepRun.js +0 -88
  214. package/build/bdd-framework/reporter/cucumber/messagesBuilder/index.js +0 -30
  215. package/build/bdd-framework/reporter/cucumber/messagesBuilder/pwUtils.js +0 -51
  216. package/build/bdd-framework/reporter/cucumber/messagesBuilder/timing.js +0 -35
  217. package/build/bdd-framework/reporter/cucumber/messagesBuilder/types.js +0 -5
  218. package/build/bdd-framework/run/StepInvoker.js +0 -68
  219. package/build/bdd-framework/run/bddDataAttachment.js +0 -46
  220. package/build/bdd-framework/run/bddFixtures.js +0 -191
  221. package/build/bdd-framework/run/bddWorld.js +0 -79
  222. package/build/bdd-framework/run/bddWorldInternal.js +0 -15
  223. package/build/bdd-framework/snippets/index.js +0 -132
  224. package/build/bdd-framework/snippets/snippetSyntax.js +0 -43
  225. package/build/bdd-framework/snippets/snippetSyntaxDecorators.js +0 -26
  226. package/build/bdd-framework/snippets/snippetSyntaxTs.js +0 -18
  227. package/build/bdd-framework/stepDefinitions/createBdd.js +0 -66
  228. package/build/bdd-framework/stepDefinitions/decorators/class.js +0 -68
  229. package/build/bdd-framework/stepDefinitions/decorators/steps.js +0 -99
  230. package/build/bdd-framework/stepDefinitions/defineStep.js +0 -62
  231. package/build/bdd-framework/stepDefinitions/stepConfig.js +0 -24
  232. package/build/bdd-framework/utils/AutofillMap.js +0 -20
  233. package/build/bdd-framework/utils/exit.js +0 -62
  234. package/build/bdd-framework/utils/index.js +0 -93
  235. package/build/bdd-framework/utils/jsStringWrap.js +0 -44
  236. package/build/bdd-framework/utils/logger.js +0 -30
  237. package/build/bdd-framework/utils/stripAnsiEscapes.js +0 -20
  238. package/build/core/playwright/report-generator.js +0 -42
  239. package/build/core/playwright/tag-processor.js +0 -68
  240. package/build/setup-folder-structure/samples/authUsers-sample.json +0 -9
  241. package/build/setup-folder-structure/samples/env-config-sample.json +0 -21
@@ -0,0 +1,85 @@
1
+ import {createBdd} from '@zohodesk/testinglibrary';
2
+ import { jsonpath } from '@zohodesk/testinglibrary/thirdPartyHelper';
3
+ import { executeRpcRequest , entityIdReConstructor } from '../helpers/rpcRequestHelper';
4
+
5
+ const { Given } = createBdd();
6
+
7
+ Given('a search entity', async ({page}, dataTable)=>{
8
+ const data = dataTable.hashes();
9
+
10
+ for (const row of data) {
11
+
12
+ const { moduleName, entityId, searchString } = row;
13
+ const payload = {
14
+ className: 'applicationDriver.rpc.desk.integrations.search.SearchFakeDataPopulator',
15
+ methodName: 'populateSearchData',
16
+ arguments: {
17
+ module: moduleName,
18
+ searchString: searchString,
19
+ entityId: entityId
20
+ }
21
+ };
22
+ await entityIdReConstructor(payload);
23
+
24
+ await executeRpcRequest(page, payload);
25
+ }
26
+ });
27
+
28
+ Given('a search entity and index a data under {string}', async ({page}, parentEntity, dataTable)=>{
29
+ const data = dataTable.hashes();
30
+
31
+ for (const row of data) {
32
+
33
+ const payload = {
34
+ className: 'applicationDriver.rpc.desk.integrations.search.SearchFakeDataPopulator',
35
+ methodName: 'populateSearchData',
36
+ arguments: {
37
+ module: 'ticket_under_contact_count',
38
+ searchString: '',
39
+ ...row
40
+ }
41
+ };
42
+ await entityIdReConstructor(payload);
43
+
44
+ await executeRpcRequest(page, payload);
45
+ }
46
+ });
47
+
48
+ Given('a search entity using {string}', async ({page,cacheLayer}, reference,dataTable)=>{
49
+ const data = dataTable.hashes();
50
+
51
+ const row = data[0];
52
+ if (!row || !row.moduleName || !row.searchString) {
53
+ throw new Error('Invalid or missing data in dataTable');
54
+ }
55
+
56
+ const { moduleName, searchEntity, searchString } = row;
57
+
58
+ const searchObj = cacheLayer.get(reference);
59
+ let entityIdValue;
60
+
61
+ if (typeof searchObj === 'string') {
62
+ entityIdValue = searchObj;
63
+ } else {
64
+ const jsonPath = searchEntity?.startsWith?.('$') ? searchEntity : `$.${searchEntity}`;
65
+ const result = jsonpath.query(searchObj, jsonPath);
66
+
67
+ if (!result || result.length === 0) {
68
+ throw new Error(`JSONPath query '${jsonPath}' returned no results from cache object for reference: ${reference}`);
69
+ }
70
+
71
+ entityIdValue = result.length === 1 ? result[0] : result;
72
+ }
73
+
74
+ const payload = {
75
+ className: 'applicationDriver.rpc.desk.integrations.search.SearchFakeDataPopulator',
76
+ methodName: 'populateSearchData',
77
+ arguments: {
78
+ module: moduleName,
79
+ searchString: searchString,
80
+ entityId: entityIdValue
81
+ }
82
+ };
83
+ await entityIdReConstructor(payload);
84
+ await executeRpcRequest(page, payload);
85
+ });
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _fs = _interopRequireDefault(require("fs"));
9
+ var _logger = require("../../utils/logger");
10
+ var _DataGeneratorHelper = require("./DataGeneratorHelper");
11
+ var _Authenticator = _interopRequireDefault(require("./authenticator/Authenticator.js"));
12
+ var _helpers = require("@zohodesk/testinglibrary/helpers");
13
+ var _DataGeneratorError = require("./DataGeneratorError");
14
+ function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
15
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
16
+ 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"); }
17
+ var _DataGenerator_brand = /*#__PURE__*/new WeakSet();
18
+ class DataGenerator {
19
+ constructor() {
20
+ _classPrivateMethodInitSpec(this, _DataGenerator_brand);
21
+ }
22
+ async generate(testInfo, actorInfo, generatorType, generatorName, scenarioName, dataTable, page = null) {
23
+ try {
24
+ let generators;
25
+ if (generatorType === 'API') {
26
+ generators = await _assertClassBrand(_DataGenerator_brand, this, _generateAPIGenerator).call(this, generatorName);
27
+ } else {
28
+ generators = await _assertClassBrand(_DataGenerator_brand, this, _getGenerator).call(this, testInfo, generatorName);
29
+ }
30
+ const generatorOperationIds = generators.map(({
31
+ generatorOperationId
32
+ }) => generatorOperationId).filter(Boolean);
33
+ const domainUrl = _assertClassBrand(_DataGenerator_brand, this, _resolveDomainUrl).call(this, generatorOperationIds);
34
+ const processedGenerators = await (0, _DataGeneratorHelper.processGenerator)(generators, dataTable);
35
+ const apiPayload = await _assertClassBrand(_DataGenerator_brand, this, _constructApiPayload).call(this, scenarioName, processedGenerators, actorInfo, domainUrl, page);
36
+ _logger.Logger.log(_logger.Logger.INFO_TYPE, `API payload for generator: ${generatorName || 'UNKNOWN'} for scenario: ${scenarioName || 'UNKNOWN'}, Response: ${JSON.stringify(apiPayload || {})}`);
37
+ const response = await (0, _DataGeneratorHelper.makeRequest)(process.env.DG_SERVICE_DOMAIN + process.env.DG_SERVICE_API_PATH, apiPayload, page);
38
+ _logger.Logger.log(_logger.Logger.INFO_TYPE, `Generated response for the generator: ${generatorName} for scenario: ${scenarioName}, Response: ${JSON.stringify(response)}`);
39
+ return response;
40
+ } catch (error) {
41
+ if (error instanceof _DataGeneratorError.DataGeneratorError) {
42
+ console.error(error.getMessage());
43
+ console.error("Stack trace:", error.stack);
44
+ _logger.Logger.log(_logger.Logger.FAILURE_TYPE, error.getMessage());
45
+ } else {
46
+ console.error("Error Type:", error.constructor.name);
47
+ console.error("Error Message:", error.message);
48
+ console.error("Stack trace:", error.stack);
49
+ _logger.Logger.log(_logger.Logger.FAILURE_TYPE, `${error.constructor.name} - Message: ${error.message}`);
50
+ }
51
+ console.error('Data Generation failed for the generator: ', generatorName, "\n\nError response :", error);
52
+ throw error;
53
+ }
54
+ }
55
+ }
56
+ async function _getGenerator(testInfo, generatorName) {
57
+ let generator = null;
58
+ const generatorFilePaths = await (0, _DataGeneratorHelper.getGeneratorFilePaths)(testInfo.file);
59
+ for (const generatorFilePath of generatorFilePaths) {
60
+ if (!_fs.default.existsSync(generatorFilePath)) {
61
+ continue;
62
+ }
63
+ const data = _fs.default.readFileSync(generatorFilePath, 'utf8');
64
+ const generatorObj = JSON.parse(data);
65
+ if (generatorName && generatorObj.generators) {
66
+ generator = generatorObj.generators[generatorName] || null;
67
+ }
68
+ if (generator) {
69
+ break;
70
+ }
71
+ }
72
+ if (!generator) {
73
+ throw new _DataGeneratorError.GeneratorError(`Generator "${generatorName}" could not be found in any of the paths: ${generatorFilePaths.join(", ")}`);
74
+ }
75
+ return generator;
76
+ }
77
+ // Backward-compat: selects portalDomain for portal.* generators, domain otherwise.
78
+ // Remove this method and inline `process.env.portalDomain` directly once all
79
+ // generators use portal.* operation IDs and portalDomain is always configured.
80
+ function _resolveDomainUrl(generatorOperationIds) {
81
+ const usesPortalDomain = generatorOperationIds.some(id => id.startsWith('portal.'));
82
+ return usesPortalDomain ? process.env.portalDomain || process.env.domain : process.env.domain;
83
+ }
84
+ async function _generateAPIGenerator(operationId) {
85
+ return [{
86
+ type: "dynamic",
87
+ generatorOperationId: operationId,
88
+ name: operationId,
89
+ dataPath: "$.response.body:$"
90
+ }];
91
+ }
92
+ // Backward-compat: legacy v1 payload format for older DG service deployments.
93
+ // Remove this method and the DG_API_VERSION branch in #constructApiPayload
94
+ // once all environments are migrated to the v2 API.
95
+ async function _constructV1Payload(scenarioName, processedGenerators, actorInfo, domainUrl, page) {
96
+ const dataGeneratorObj = actorInfo['data-generator'];
97
+ if (!dataGeneratorObj) {
98
+ throw new _DataGeneratorError.DataGeneratorConfigurationError(`Data Generator configuration is missing for the profile: ${actorInfo['profile']}`);
99
+ }
100
+ let apiPayload = {
101
+ scenario_name: scenarioName,
102
+ data_generation_templates: processedGenerators,
103
+ ...dataGeneratorObj
104
+ };
105
+ const account = apiPayload.account;
106
+ if (account) {
107
+ account.email = actorInfo.email;
108
+ account.password = actorInfo.password;
109
+ }
110
+ const environmentDetails = apiPayload.environmentDetails || {};
111
+ environmentDetails.iam_url = process.env.DG_IAM_DOMAIN;
112
+ environmentDetails.host = new URL(domainUrl).origin;
113
+ apiPayload.environmentDetails = environmentDetails;
114
+ apiPayload = await new _Authenticator.default().constructPayload(apiPayload, actorInfo, page);
115
+ _logger.Logger.log(_logger.Logger.INFO_TYPE, `Final API Payload (v1) after authentication augmentation: ${JSON.stringify(apiPayload)}`);
116
+ return apiPayload;
117
+ }
118
+ async function _constructV2Payload(scenarioName, processedGenerators, actorInfo, domainUrl, page) {
119
+ const dataGeneratorObj = actorInfo['data-generator'];
120
+ if (!dataGeneratorObj) {
121
+ throw new _DataGeneratorError.DataGeneratorConfigurationError(`Data Generator configuration is missing for the profile: ${actorInfo['profile']}`);
122
+ }
123
+ if (!dataGeneratorObj.account) {
124
+ throw new _DataGeneratorError.DataGeneratorConfigurationError('Missing "account" in data-generator config for profile: ' + actorInfo['profile']);
125
+ }
126
+ const account = {
127
+ ...dataGeneratorObj.account
128
+ };
129
+ account.email = actorInfo.email;
130
+ account.password = actorInfo.password;
131
+ const selectedDomain = new URL(domainUrl);
132
+ const environment = {
133
+ host: selectedDomain.origin,
134
+ iam_url: process.env.DG_IAM_DOMAIN
135
+ };
136
+ const translatedGenerators = (0, _DataGeneratorHelper.translateGeneratorsToV2)(processedGenerators);
137
+ let apiPayload = {
138
+ scenario: {
139
+ name: scenarioName
140
+ },
141
+ mode: 'template',
142
+ spec: {
143
+ templates: translatedGenerators
144
+ },
145
+ account,
146
+ environment
147
+ };
148
+ apiPayload = await new _Authenticator.default().constructPayload(apiPayload, actorInfo, page);
149
+ _logger.Logger.log(_logger.Logger.INFO_TYPE, `Final API Payload after authentication augmentation: ${JSON.stringify(apiPayload)}`);
150
+ return apiPayload;
151
+ }
152
+ // Backward-compat: infer v1 from DG_SERVICE_API_PATH containing "/v1/".
153
+ // Remove this method and #constructV1Payload once all environments point to a v2 path.
154
+ async function _constructApiPayload(scenarioName, processedGenerators, actorInfo, domainUrl, page = null) {
155
+ var _process$env$DG_SERVI;
156
+ if ((_process$env$DG_SERVI = process.env.DG_SERVICE_API_PATH) !== null && _process$env$DG_SERVI !== void 0 && _process$env$DG_SERVI.includes('/v1/')) {
157
+ return _assertClassBrand(_DataGenerator_brand, this, _constructV1Payload).call(this, scenarioName, processedGenerators, actorInfo, domainUrl, page);
158
+ }
159
+ return _assertClassBrand(_DataGenerator_brand, this, _constructV2Payload).call(this, scenarioName, processedGenerators, actorInfo, domainUrl, page);
160
+ }
161
+ var _default = exports.default = DataGenerator;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GeneratorError = exports.DataGeneratorError = exports.DataGeneratorConfigurationError = exports.AuthenticationError = void 0;
7
+ class DataGeneratorError extends Error {
8
+ constructor(message) {
9
+ super(message);
10
+ this.name = 'DataGeneratorError';
11
+
12
+ // Maintains proper stack trace for where our error was thrown (only available on V8)
13
+ if (Error.captureStackTrace) {
14
+ Error.captureStackTrace(this, DataGeneratorError);
15
+ }
16
+ }
17
+
18
+ /**
19
+ * Get formatted error message with error type and message
20
+ * @returns {string} Formatted error message
21
+ */
22
+ getMessage() {
23
+ return `\n\n ${this.name} ::: \n\n Error Message: ${this.message} \n\n `;
24
+ }
25
+ }
26
+
27
+ // Specific error for Data Generator configuration issues
28
+ exports.DataGeneratorError = DataGeneratorError;
29
+ class DataGeneratorConfigurationError extends DataGeneratorError {
30
+ constructor(message) {
31
+ super(message);
32
+ this.name = 'DataGeneratorConfigurationError';
33
+ if (Error.captureStackTrace) {
34
+ Error.captureStackTrace(this, DataGeneratorConfigurationError);
35
+ }
36
+ }
37
+ }
38
+
39
+ // Specific error for Generator related issues
40
+ exports.DataGeneratorConfigurationError = DataGeneratorConfigurationError;
41
+ class GeneratorError extends DataGeneratorError {
42
+ constructor(message) {
43
+ super(message);
44
+ this.name = 'GeneratorError';
45
+ if (Error.captureStackTrace) {
46
+ Error.captureStackTrace(this, GeneratorError);
47
+ }
48
+ }
49
+ }
50
+ exports.GeneratorError = GeneratorError;
51
+ class AuthenticationError extends DataGeneratorError {
52
+ constructor(message) {
53
+ super(message);
54
+ this.name = 'AuthenticationError';
55
+ if (Error.captureStackTrace) {
56
+ Error.captureStackTrace(this, AuthenticationError);
57
+ }
58
+ }
59
+ }
60
+ exports.AuthenticationError = AuthenticationError;
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getFeatureNameFromSpec = getFeatureNameFromSpec;
8
+ exports.getGeneratorFilePath = getGeneratorFilePath;
9
+ exports.getGeneratorFilePaths = getGeneratorFilePaths;
10
+ exports.makeRequest = makeRequest;
11
+ exports.postJson = postJson;
12
+ exports.processGenerator = processGenerator;
13
+ exports.translateGeneratorsToV2 = translateGeneratorsToV2;
14
+ var _path = _interopRequireDefault(require("path"));
15
+ var _logger = require("../../utils/logger");
16
+ var _configConstants = _interopRequireDefault(require("../playwright/constants/configConstants"));
17
+ const DATA_GENERATORS_DIR = 'data-generators';
18
+ const SPEC_FILE_SUFFIX = '.feature.spec.js';
19
+
20
+ // Translate v1 generator field names to v2 equivalents.
21
+ // generators.json files authored in v1 format (type:"dynamic", generatorOperationId, params, dataPath)
22
+ // are converted to the v2 API shape. Only params→inputs is renamed; dataPath and all other fields
23
+ // (including type and generatorOperationId) are passed through unchanged.
24
+ function translateGeneratorsToV2(generators) {
25
+ if (!(generators !== null && generators !== void 0 && generators.length)) {
26
+ return [];
27
+ }
28
+ return generators.map(generator => {
29
+ const {
30
+ params,
31
+ ...rest
32
+ } = generator;
33
+ const translated = {
34
+ ...rest
35
+ };
36
+ if (params !== undefined && translated.inputs === undefined) {
37
+ translated.inputs = params;
38
+ }
39
+ return translated;
40
+ });
41
+ }
42
+
43
+ //Create payload for the generators
44
+ async function processGenerator(generators, dataTable) {
45
+ if (!dataTable) {
46
+ return generators;
47
+ }
48
+ return generators.map(generator => {
49
+ dataTable.forEach(row => {
50
+ const generatorName = row.DG_API_NAME;
51
+ if (generatorName === generator.name) {
52
+ generator.params = generator.params ? generator.params : {};
53
+
54
+ // The API name row is only used for matching the template
55
+ // Filter out DG_API_NAME and collect other values
56
+ Object.entries(row).filter(([key]) => key !== 'DG_API_NAME').forEach(([key, value]) => {
57
+ if (value !== '') {
58
+ generator.params[key] = value;
59
+ }
60
+ });
61
+ }
62
+ });
63
+ return generator;
64
+ });
65
+ }
66
+
67
+ // Routes POST requests through Playwright's request context (page.request) so calls pick up
68
+ // the proxy configured in playwright.config.js's `use.proxy`. Node's built-in fetch does not
69
+ // read HTTP_PROXY/HTTPS_PROXY, which causes connect timeouts against internal hosts that are
70
+ // only reachable via the corporate proxy.
71
+ async function postJson(url, payload, page) {
72
+ try {
73
+ const response = await page.request.post(url, {
74
+ data: payload,
75
+ headers: {
76
+ 'Content-Type': 'application/json'
77
+ }
78
+ });
79
+ return {
80
+ ok: response.ok(),
81
+ status: response.status(),
82
+ text: () => response.text(),
83
+ json: () => response.json()
84
+ };
85
+ } catch (err) {
86
+ _logger.Logger.error(err);
87
+ throw new Error(`Error while making POST request to ${url}: ${err}`);
88
+ }
89
+ }
90
+ async function makeRequest(url, payload, page) {
91
+ const response = await postJson(url, payload, page);
92
+ if (!response.ok) {
93
+ const errorBody = await response.text();
94
+ throw new Error(`Data Generator Service Error: status: ${response.status}, body: ${errorBody}`);
95
+ }
96
+ return response.json();
97
+ }
98
+
99
+ // Kept async for the existing call signature even though the work is synchronous.
100
+ async function getGeneratorFilePath(featureFile) {
101
+ const GENERATED_FEATURE_SEGMENT = `${_configConstants.default.FEATURES_GEN_DIR}${_path.default.sep}`;
102
+ let generatorPath = featureFile.replace(GENERATED_FEATURE_SEGMENT, "");
103
+ return generatorPath;
104
+ }
105
+
106
+ // Feature name derived from the generated spec file,
107
+ // e.g. ".../feature-files/GetDepartment.feature.spec.js" -> "GetDepartment"
108
+ function getFeatureNameFromSpec(specFilePath) {
109
+ const specFileName = _path.default.basename(specFilePath);
110
+ return specFileName.slice(0, -SPEC_FILE_SUFFIX.length);
111
+ }
112
+
113
+ // Candidate generator files for a feature, in lookup order:
114
+ // 1. per-feature file -> <module>/data-generators/<FeatureName>.generators.json
115
+ // 2. legacy shared file -> <module>/data-generators/generators.json
116
+ async function getGeneratorFilePaths(specFilePath) {
117
+ const featureName = getFeatureNameFromSpec(specFilePath);
118
+ const basePath = await getGeneratorFilePath(specFilePath);
119
+ const generatorDir = _path.default.join(basePath, '..', '..', DATA_GENERATORS_DIR);
120
+ return [_path.default.join(generatorDir, `${featureName}.generators.json`), _path.default.join(generatorDir, 'generators.json')];
121
+ }
@@ -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
+ exports.default = void 0;
8
+ var _DataGeneratorError = require("../DataGeneratorError.js");
9
+ var _JWTauthenticator = _interopRequireDefault(require("./JWTauthenticator.js"));
10
+ var _OAuthAuthenticator = _interopRequireDefault(require("./OAuthAuthenticator.js"));
11
+ var _OrgOAuthAuthenticator = _interopRequireDefault(require("./OrgOAuthAuthenticator.js"));
12
+ var _CookieAuthenticator = _interopRequireDefault(require("./CookieAuthenticator.js"));
13
+ class Authenticator {
14
+ // Only route authentication augmentations; do not modify environment or base payload here.
15
+ async constructPayload(apiPayload, actorInfo, page = null) {
16
+ var _actorInfo$dataGener;
17
+ const authenticationLoaders = {
18
+ 'jwt-auth': () => new _JWTauthenticator.default(),
19
+ 'iam-oauth2-schema': () => new _OAuthAuthenticator.default(),
20
+ 'org-oauth': () => new _OrgOAuthAuthenticator.default(),
21
+ 'cookie-auth': () => new _CookieAuthenticator.default()
22
+ };
23
+ const authentications = (actorInfo === null || actorInfo === void 0 || (_actorInfo$dataGener = actorInfo['data-generator']) === null || _actorInfo$dataGener === void 0 || (_actorInfo$dataGener = _actorInfo$dataGener.account) === null || _actorInfo$dataGener === void 0 ? void 0 : _actorInfo$dataGener.authentications) || [];
24
+ const authenticationTypes = authentications.map(auth => String(auth).toLowerCase()).filter(Boolean);
25
+ for (const authenticationType of authenticationTypes) {
26
+ const authenticatorLoader = authenticationLoaders[authenticationType];
27
+ if (!authenticatorLoader) {
28
+ throw new _DataGeneratorError.AuthenticationError(`Unknown authentication type: "${authenticationType}". Supported types are: ${Object.keys(authenticationLoaders).join(', ')}`);
29
+ }
30
+ const authenticatorInstance = await authenticatorLoader();
31
+ apiPayload = await authenticatorInstance.constructPayload(apiPayload, actorInfo, page);
32
+ break;
33
+ }
34
+ return apiPayload;
35
+ }
36
+ }
37
+ exports.default = Authenticator;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _cookieAuthConfig = require("./cookieAuthConfig.js");
8
+ var _DataGeneratorError = require("../DataGeneratorError.js");
9
+ /**
10
+ * CookieAuthenticator prepares the payload for cookie-based authentication.
11
+ * It extracts cookies from the browser page context and attaches them
12
+ * as cookieAuthHeaders in the account block for the data generator service.
13
+ */
14
+ class CookieAuthenticator {
15
+ async constructPayload(apiPayload, actorInfo, page = null) {
16
+ if (!page) {
17
+ throw new _DataGeneratorError.AuthenticationError('Cookie authentication failed: "page" is required but was not provided');
18
+ }
19
+ const {
20
+ csrfHeaderName
21
+ } = _cookieAuthConfig.COOKIE_AUTH_CONFIG;
22
+ const {
23
+ csrfToken,
24
+ cookieString
25
+ } = await _getCookies.call(CookieAuthenticator, page);
26
+ apiPayload.account.authHeaders = {
27
+ Cookie: cookieString,
28
+ [csrfHeaderName]: csrfToken
29
+ };
30
+ return apiPayload;
31
+ }
32
+ }
33
+ async function _getCookies(page) {
34
+ const {
35
+ csrfCookieName,
36
+ csrfParamName
37
+ } = _cookieAuthConfig.COOKIE_AUTH_CONFIG;
38
+ const context = page.context();
39
+ const pageUrl = new URL(page.url());
40
+ const currentDomain = pageUrl.hostname;
41
+ const cookies = await context.cookies([page.url()]);
42
+ const csrfCookies = cookies.filter(cookie => cookie.domain.includes(currentDomain) && cookie.name === csrfCookieName);
43
+ return {
44
+ csrfToken: csrfCookies.map(c => `${csrfParamName}=${c.value}`).join('; '),
45
+ cookieString: cookies.map(c => `${c.name}=${c.value}`).join('; ')
46
+ };
47
+ }
48
+ var _default = exports.default = CookieAuthenticator;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _DataGeneratorError = require("../DataGeneratorError.js");
8
+ var _DataGeneratorHelper = require("../DataGeneratorHelper.js");
9
+ /**
10
+ * JWTauthenticator constructs payload by fetching a JWT access token
11
+ * from the authenticator app and attaching it to the account.jwt config.
12
+ */
13
+ class JWTauthenticator {
14
+ async constructPayload(apiPayload, actorInfo, page = null) {
15
+ const account = actorInfo['data-generator'].account;
16
+ if (!account) {
17
+ throw new _DataGeneratorError.AuthenticationError('JWT authentication failed: "account" is missing in actor configuration');
18
+ }
19
+ const jwtConf = account['jwt-oauth'];
20
+ if (!jwtConf) {
21
+ throw new _DataGeneratorError.AuthenticationError('JWT authentication failed: "jwt-oauth" is missing in actor configuration');
22
+ }
23
+
24
+ // Build payload for authenticator service
25
+ const userToken = encodeURIComponent((actorInfo === null || actorInfo === void 0 ? void 0 : actorInfo.email) || '');
26
+ const jwtAuthUrl = process.env.DG_JWT_AUTH_URL;
27
+ const responseType = jwtConf.response_type;
28
+ const clientId = jwtConf.client_id;
29
+ const tokenUrl = jwtConf.token_url;
30
+ const domainUrl = process.env.DG_DOMAIN_URL;
31
+ const authPayload = {
32
+ user_token: userToken,
33
+ jwt_secret: jwtConf.jwt_secret,
34
+ jwt_auth_url: jwtAuthUrl,
35
+ response_type: responseType,
36
+ client_id: clientId,
37
+ token_url: tokenUrl,
38
+ domain_url: domainUrl
39
+ };
40
+ const authenticatorApi = process.env.DG_JWT_AUTHENTICATOR_API;
41
+ const resp = await (0, _DataGeneratorHelper.postJson)(authenticatorApi, authPayload, page);
42
+ if (!resp.ok) {
43
+ const errorBody = await resp.text();
44
+ throw new Error(`JWT authenticator error! status: ${resp.status}, body: ${errorBody}`);
45
+ }
46
+ const json = await resp.json();
47
+ const accessToken = json === null || json === void 0 ? void 0 : json.access_token;
48
+ if (!accessToken) {
49
+ throw new Error('JWT authenticator did not return access_token');
50
+ }
51
+
52
+ // Attach access token to authHeaders so downstream API calls can use it directly
53
+ apiPayload.account = apiPayload.account || {};
54
+ apiPayload.account.authHeaders = apiPayload.account.authHeaders || {};
55
+ apiPayload.account.authHeaders.Authorization = `Zoho-oauthtoken ${accessToken}`;
56
+ return apiPayload;
57
+ }
58
+ }
59
+ var _default = exports.default = JWTauthenticator;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _DataGeneratorError = require("../DataGeneratorError.js");
8
+ /**
9
+ * OAuthAuthenticator prepares the payload for OAuth2-based authentication.
10
+ * It ensures oauth2 config is present in the account block so the
11
+ * data generator service can use it.
12
+ */
13
+ class OAuthAuthenticator {
14
+ async constructPayload(apiPayload, actorInfo) {
15
+ const account = actorInfo['data-generator'].account;
16
+ if (!account) {
17
+ throw new _DataGeneratorError.AuthenticationError('OAuth2 authentication failed: "account" is missing in actor configuration');
18
+ }
19
+ if (!account.oauth2) {
20
+ throw new _DataGeneratorError.AuthenticationError('OAuth2 authentication failed: "oauth2" is missing in actor configuration');
21
+ }
22
+ apiPayload.account.oauth2 = account.oauth2;
23
+ return apiPayload;
24
+ }
25
+ }
26
+ var _default = exports.default = OAuthAuthenticator;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _DataGeneratorError = require("../DataGeneratorError.js");
8
+ /**
9
+ * OrgOAuthAuthenticator prepares the payload for org_oauth authentication.
10
+ * It ensures org_oauth config is present in the account block so the
11
+ * data generator service can use it.
12
+ */
13
+ class OrgOAuthAuthenticator {
14
+ async constructPayload(apiPayload, actorInfo) {
15
+ const account = actorInfo['data-generator'].account;
16
+ if (!account) {
17
+ throw new _DataGeneratorError.AuthenticationError('OrgOAuth authentication failed: "account" is missing in actor configuration');
18
+ }
19
+ if (!account.org_oauth) {
20
+ throw new _DataGeneratorError.AuthenticationError('OrgOAuth authentication failed: "org_oauth" is missing in actor configuration');
21
+ }
22
+ apiPayload.account.org_oauth = account.org_oauth;
23
+ return apiPayload;
24
+ }
25
+ }
26
+ var _default = exports.default = OrgOAuthAuthenticator;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.COOKIE_AUTH_CONFIG = void 0;
7
+ const COOKIE_AUTH_CONFIG = exports.COOKIE_AUTH_CONFIG = {
8
+ csrfHeaderName: 'X-ZCSRF-TOKEN',
9
+ csrfCookieName: 'crmcsr',
10
+ csrfParamName: 'crmcsrfparam'
11
+ };
@@ -1,12 +1,7 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _babelJest = _interopRequireDefault(require("babel-jest"));
9
- var _default = exports.default = _babelJest.default.createTransformer({
3
+ const babelJest = require('babel-jest');
4
+ module.exports = babelJest.createTransformer({
10
5
  presets: [require.resolve('@babel/preset-env'), require.resolve('@babel/preset-react')],
11
6
  plugins: [require.resolve('babel-plugin-transform-dynamic-import')]
12
7
  });
@@ -1,9 +1,3 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _testUtils = _interopRequireDefault(require("react-dom/test-utils"));
5
- var _globals = require("@jest/globals");
6
- var _react = _interopRequireDefault(require("react"));
7
- var _propTypes = _interopRequireDefault(require("prop-types"));
8
- var _reactDom = _interopRequireDefault(require("react-dom"));
9
- require("@testing-library/jest-dom/extend-expect");
3
+ require("@testing-library/jest-dom");