@o3r/testing 12.5.0-prerelease.34 → 12.5.0-prerelease.35

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 (150) hide show
  1. package/core/angular/angular-materials/autocomplete-material.js +9 -20
  2. package/core/angular/angular-materials/autocomplete-material.js.map +1 -1
  3. package/core/angular/angular-materials/index.js +1 -1
  4. package/core/angular/angular-materials/select-material.js +42 -91
  5. package/core/angular/angular-materials/select-material.js.map +1 -1
  6. package/core/angular/angular-materials/slider-material.js +8 -11
  7. package/core/angular/angular-materials/slider-material.js.map +1 -1
  8. package/core/angular/component-fixture.js +68 -148
  9. package/core/angular/component-fixture.js.map +1 -1
  10. package/core/angular/element.js +44 -50
  11. package/core/angular/element.js.map +1 -1
  12. package/core/angular/elements/checkbox-element.js +12 -16
  13. package/core/angular/elements/checkbox-element.js.map +1 -1
  14. package/core/angular/elements/index.js +1 -1
  15. package/core/angular/elements/radio-element.js +12 -16
  16. package/core/angular/elements/radio-element.js.map +1 -1
  17. package/core/angular/elements/select-element.js +28 -49
  18. package/core/angular/elements/select-element.js.map +1 -1
  19. package/core/angular/elements/slider-element.js +38 -42
  20. package/core/angular/elements/slider-element.js.map +1 -1
  21. package/core/angular/group.js +9 -14
  22. package/core/angular/group.js.map +1 -1
  23. package/core/angular/groups/index.js +1 -1
  24. package/core/angular/groups/radio-group.js +25 -62
  25. package/core/angular/groups/radio-group.js.map +1 -1
  26. package/core/angular/index.js +1 -1
  27. package/core/angular/page-fixture.js +8 -11
  28. package/core/angular/page-fixture.js.map +1 -1
  29. package/core/angular-materials/autocomplete-material.js +8 -11
  30. package/core/angular-materials/autocomplete-material.js.map +1 -1
  31. package/core/angular-materials/index.js +1 -1
  32. package/core/angular-materials/select-material.js +12 -15
  33. package/core/angular-materials/select-material.js.map +1 -1
  34. package/core/angular-materials/slider-material.js +5 -8
  35. package/core/angular-materials/slider-material.js.map +1 -1
  36. package/core/component-fixture.js +28 -33
  37. package/core/component-fixture.js.map +1 -1
  38. package/core/element.js +24 -26
  39. package/core/element.js.map +1 -1
  40. package/core/elements/checkbox-element.js +12 -16
  41. package/core/elements/checkbox-element.js.map +1 -1
  42. package/core/elements/index.js +1 -1
  43. package/core/elements/radio-element.js +12 -16
  44. package/core/elements/radio-element.js.map +1 -1
  45. package/core/elements/select-element.js +10 -13
  46. package/core/elements/select-element.js.map +1 -1
  47. package/core/elements/slider-element.js +5 -8
  48. package/core/elements/slider-element.js.map +1 -1
  49. package/core/group.js +9 -15
  50. package/core/group.js.map +1 -1
  51. package/core/groups/index.js +1 -1
  52. package/core/groups/radio-group.js +8 -11
  53. package/core/groups/radio-group.js.map +1 -1
  54. package/core/helpers.js +11 -16
  55. package/core/helpers.js.map +1 -1
  56. package/core/index.js +1 -1
  57. package/core/page-fixture.js +8 -11
  58. package/core/page-fixture.js.map +1 -1
  59. package/core/playwright/angular-materials/autocomplete-material.js +26 -56
  60. package/core/playwright/angular-materials/autocomplete-material.js.map +1 -1
  61. package/core/playwright/angular-materials/index.js +1 -1
  62. package/core/playwright/angular-materials/select-material.js +48 -110
  63. package/core/playwright/angular-materials/select-material.js.map +1 -1
  64. package/core/playwright/angular-materials/slider-material.js +7 -10
  65. package/core/playwright/angular-materials/slider-material.js.map +1 -1
  66. package/core/playwright/component-fixture.js +88 -173
  67. package/core/playwright/component-fixture.js.map +1 -1
  68. package/core/playwright/element.js +38 -90
  69. package/core/playwright/element.js.map +1 -1
  70. package/core/playwright/elements/checkbox-element.js +49 -94
  71. package/core/playwright/elements/checkbox-element.js.map +1 -1
  72. package/core/playwright/elements/index.js +1 -1
  73. package/core/playwright/elements/radio-element.js +18 -34
  74. package/core/playwright/elements/radio-element.js.map +1 -1
  75. package/core/playwright/elements/select-element.js +14 -21
  76. package/core/playwright/elements/select-element.js.map +1 -1
  77. package/core/playwright/elements/slider-element.js +78 -157
  78. package/core/playwright/elements/slider-element.js.map +1 -1
  79. package/core/playwright/group.js +9 -14
  80. package/core/playwright/group.js.map +1 -1
  81. package/core/playwright/groups/index.js +1 -1
  82. package/core/playwright/groups/radio-group.js +27 -64
  83. package/core/playwright/groups/radio-group.js.map +1 -1
  84. package/core/playwright/index.js +1 -1
  85. package/core/playwright/page-fixture.js +8 -18
  86. package/core/playwright/page-fixture.js.map +1 -1
  87. package/core/protractor/angular-materials/autocomplete-material.js +12 -26
  88. package/core/protractor/angular-materials/autocomplete-material.js.map +1 -1
  89. package/core/protractor/angular-materials/index.js +1 -1
  90. package/core/protractor/angular-materials/select-material.js +45 -97
  91. package/core/protractor/angular-materials/select-material.js.map +1 -1
  92. package/core/protractor/component-fixture.js +89 -200
  93. package/core/protractor/component-fixture.js.map +1 -1
  94. package/core/protractor/element.js +46 -118
  95. package/core/protractor/element.js.map +1 -1
  96. package/core/protractor/elements/checkbox-element.js +18 -40
  97. package/core/protractor/elements/checkbox-element.js.map +1 -1
  98. package/core/protractor/elements/index.js +1 -1
  99. package/core/protractor/elements/radio-element.js +20 -42
  100. package/core/protractor/elements/radio-element.js.map +1 -1
  101. package/core/protractor/elements/select-element.js +16 -37
  102. package/core/protractor/elements/select-element.js.map +1 -1
  103. package/core/protractor/group.js +9 -14
  104. package/core/protractor/group.js.map +1 -1
  105. package/core/protractor/groups/index.js +1 -1
  106. package/core/protractor/groups/radio-group.js +29 -66
  107. package/core/protractor/groups/radio-group.js.map +1 -1
  108. package/core/protractor/index.js +1 -1
  109. package/core/protractor/page-fixture.js +9 -12
  110. package/core/protractor/page-fixture.js.map +1 -1
  111. package/core/protractor/utils.js +1 -1
  112. package/core/protractor/utils.js.map +1 -1
  113. package/errors/fixture-usage-error.js +5 -10
  114. package/errors/fixture-usage-error.js.map +1 -1
  115. package/errors/index.js +1 -1
  116. package/errors/transpilation-purpose-only.js +5 -10
  117. package/errors/transpilation-purpose-only.js.map +1 -1
  118. package/kassette/index.js +1 -1
  119. package/kassette/update-dates-in-mocks.js +66 -85
  120. package/kassette/update-dates-in-mocks.js.map +1 -1
  121. package/localization/index.js +1 -1
  122. package/localization/localization-mock.js +38 -60
  123. package/localization/localization-mock.js.map +1 -1
  124. package/mocks/index.js +1 -1
  125. package/mocks/mock-component-generator.js +54 -53
  126. package/mocks/mock-component-generator.js.map +1 -1
  127. package/package.json +11 -11
  128. package/public_api.js +1 -1
  129. package/store/index.js +1 -1
  130. package/store/testable-select.js +13 -13
  131. package/store/testable-select.js.map +1 -1
  132. package/tools/index.js +1 -1
  133. package/tools/path-replacement/index.js +1 -1
  134. package/tools/path-replacement/path-replacement.js +24 -19
  135. package/tools/path-replacement/path-replacement.js.map +1 -1
  136. package/tools/protractor/fetch-manager/index.js +1 -1
  137. package/tools/protractor/fetch-manager/utils.js +15 -51
  138. package/tools/protractor/fetch-manager/utils.js.map +1 -1
  139. package/tools/protractor/index.js +1 -1
  140. package/tools/protractor/post-message-interceptor/index.js +1 -1
  141. package/tools/protractor/post-message-interceptor/post-message-interceptor.js +30 -103
  142. package/tools/protractor/post-message-interceptor/post-message-interceptor.js.map +1 -1
  143. package/visual-test/index.js +1 -1
  144. package/visual-test/utils.js +18 -7
  145. package/visual-test/utils.js.map +1 -1
  146. package/visual-test/visual-test.js +29 -34
  147. package/visual-test/visual-test.js.map +1 -1
  148. package/visual-testing-reporter/index.d.ts.map +1 -1
  149. package/visual-testing-reporter/index.js +37 -40
  150. package/visual-testing-reporter/index.js.map +1 -1
@@ -1,38 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.adjustPath = adjustPath;
4
- var tslib_1 = require("tslib");
5
- var fs = require("node:fs");
6
- var node_module_1 = require("node:module");
7
- var path = require("node:path");
8
- var esbuild_1 = require("esbuild");
9
- var module_from_string_1 = require("module-from-string");
4
+ const fs = require("node:fs");
5
+ const node_module_1 = require("node:module");
6
+ const path = require("node:path");
7
+ const esbuild_1 = require("esbuild");
8
+ const module_from_string_1 = require("module-from-string");
10
9
  /**
11
10
  * Switch to the needed implementation of core testing, when running e2e tests
12
11
  * transforms ESM into CJS when needed
13
12
  * @param frameworkName Name of the framework used for e2e testing (playwright|protractor)
14
13
  * @param customTransformOptions
15
14
  */
16
- function adjustPath(frameworkName, customTransformOptions) {
17
- if (customTransformOptions === void 0) { customTransformOptions = {}; }
18
- var modulesCache = {};
15
+ function adjustPath(frameworkName, customTransformOptions = {}) {
16
+ const modulesCache = {};
19
17
  // eslint-disable-next-line @typescript-eslint/unbound-method -- No need to bind the method, we are using `apply`
20
- var originalRequire = node_module_1.Module.prototype.require;
21
- var regex = new RegExp("@o3r/testing/core(?!/".concat(frameworkName, ")(.*)"));
18
+ const originalRequire = node_module_1.Module.prototype.require;
19
+ const regex = new RegExp(`@o3r/testing/core(?!/${frameworkName})(.*)`);
22
20
  node_module_1.Module.prototype.require = function (id) {
23
- var newId = id.replace(regex, "@o3r/testing/core/".concat(frameworkName, "$1"));
21
+ const newId = id.replace(regex, `@o3r/testing/core/${frameworkName}$1`);
24
22
  try {
25
23
  return Reflect.apply(originalRequire, this, [newId]);
26
24
  }
27
- catch (_a) {
28
- var paths = []
29
- .concat(this.paths, this.paths.map(function (i) { return i.replace(/[/\\]node_modules$/, ''); }));
30
- var filePath = require.resolve(newId, { paths: paths });
25
+ catch {
26
+ const paths = []
27
+ .concat(this.paths, this.paths.map((i) => i.replace(/[/\\]node_modules$/, '')));
28
+ const filePath = require.resolve(newId, { paths });
31
29
  if (!modulesCache[filePath]) {
32
- var fileContent = fs.readFileSync(filePath);
33
- var cwd = path.resolve(process.cwd(), 'src');
30
+ const fileContent = fs.readFileSync(filePath);
31
+ const cwd = path.resolve(process.cwd(), 'src');
34
32
  // we use ESBUILD to transform it into CJS
35
- var trans = (0, esbuild_1.transformSync)(fileContent.toString(), tslib_1.__assign({ loader: 'js', format: 'cjs', target: 'es2016', sourcesContent: true, sourceRoot: cwd }, customTransformOptions));
33
+ const trans = (0, esbuild_1.transformSync)(fileContent.toString(), {
34
+ loader: 'js',
35
+ format: 'cjs',
36
+ target: 'es2016',
37
+ sourcesContent: true,
38
+ sourceRoot: cwd,
39
+ ...customTransformOptions
40
+ });
36
41
  /**
37
42
  * requireFromString will execute the file apart from just returning a module
38
43
  * It can throw an exception which will prevent stop the execution
@@ -1 +1 @@
1
- {"version":3,"file":"path-replacement.js","sourceRoot":"","sources":["../../../src/tools/path-replacement/path-replacement.ts"],"names":[],"mappings":";;AAkBA,gCAiDC;;AAnED,4BAA8B;AAC9B,2CAEqB;AACrB,gCAAkC;AAClC,mCAGiB;AACjB,yDAE4B;AAC5B;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,aAA0C,EAAE,sBAA6C;IAA7C,uCAAA,EAAA,2BAA6C;IAClH,IAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,iHAAiH;IACjH,IAAM,eAAe,GAAG,oBAAM,CAAC,SAAS,CAAC,OAAO,CAAC;IACjD,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,+BAAwB,aAAa,UAAO,CAAC,CAAC;IACvE,oBAAM,CAAC,SAAS,CAAC,OAAO,GAAG,UAA+B,EAAU;QAClE,IAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,4BAAqB,aAAa,OAAI,CAAC,CAAC;QAExE,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,WAAM,CAAC;YACP,IAAM,KAAK,GAAI,EAAe;iBAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAnC,CAAmC,CAAC,CAAC,CAAC;YAElF,IAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,IAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC/C,0CAA0C;gBAC1C,IAAM,KAAK,GAAG,IAAA,uBAAa,EAAC,WAAW,CAAC,QAAQ,EAAE,qBAChD,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,QAAQ,EAChB,cAAc,EAAE,IAAI,EACpB,UAAU,EAAE,GAAG,IACZ,sBAAsB,EACzB,CAAC;gBAEH;;;;;;mBAMG;gBACH,IAAI,CAAC;oBACH,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAA,sCAAiB,EAAC,KAAK,CAAC,IAAI,EAAE;wBACrD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAC/B,gBAAgB,EAAE,IAAI;qBACvB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACZ,mEAAmE;oBACnE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAmB,CAAC;AACtB,CAAC","sourcesContent":["import * as fs from 'node:fs';\nimport {\n Module,\n} from 'node:module';\nimport * as path from 'node:path';\nimport {\n TransformOptions,\n transformSync,\n} from 'esbuild';\nimport {\n requireFromString,\n} from 'module-from-string';\n/**\n * Switch to the needed implementation of core testing, when running e2e tests\n * transforms ESM into CJS when needed\n * @param frameworkName Name of the framework used for e2e testing (playwright|protractor)\n * @param customTransformOptions\n */\nexport function adjustPath(frameworkName: 'playwright' | 'protractor', customTransformOptions: TransformOptions = {}) {\n const modulesCache: Record<string, any> = {};\n // eslint-disable-next-line @typescript-eslint/unbound-method -- No need to bind the method, we are using `apply`\n const originalRequire = Module.prototype.require;\n const regex = new RegExp(`@o3r/testing/core(?!/${frameworkName})(.*)`);\n Module.prototype.require = function (this: NodeJS.Module, id: string) {\n const newId = id.replace(regex, `@o3r/testing/core/${frameworkName}$1`);\n\n try {\n return Reflect.apply(originalRequire, this, [newId]);\n } catch {\n const paths = ([] as string[])\n .concat(this.paths, this.paths.map((i) => i.replace(/[/\\\\]node_modules$/, '')));\n\n const filePath = require.resolve(newId, { paths });\n if (!modulesCache[filePath]) {\n const fileContent = fs.readFileSync(filePath);\n const cwd = path.resolve(process.cwd(), 'src');\n // we use ESBUILD to transform it into CJS\n const trans = transformSync(fileContent.toString(), {\n loader: 'js',\n format: 'cjs',\n target: 'es2016',\n sourcesContent: true,\n sourceRoot: cwd,\n ...customTransformOptions\n });\n\n /**\n * requireFromString will execute the file apart from just returning a module\n * It can throw an exception which will prevent stop the execution\n *\n * That main blocker includes IVY-compatible libraries which have\n * no compiler facade in a global scope.\n */\n try {\n modulesCache[filePath] = requireFromString(trans.code, {\n dirname: path.dirname(filePath),\n useCurrentGlobal: true\n });\n } catch (ex) {\n // eslint-disable-next-line no-console -- no other logger available\n console.error(ex);\n }\n }\n\n return modulesCache[filePath];\n }\n } as NodeJS.Require;\n}\n"]}
1
+ {"version":3,"file":"path-replacement.js","sourceRoot":"","sources":["../../../src/tools/path-replacement/path-replacement.ts"],"names":[],"mappings":";;AAkBA,gCAiDC;AAnED,8BAA8B;AAC9B,6CAEqB;AACrB,kCAAkC;AAClC,qCAGiB;AACjB,2DAE4B;AAC5B;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,aAA0C,EAAE,yBAA2C,EAAE;IAClH,MAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,iHAAiH;IACjH,MAAM,eAAe,GAAG,oBAAM,CAAC,SAAS,CAAC,OAAO,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,wBAAwB,aAAa,OAAO,CAAC,CAAC;IACvE,oBAAM,CAAC,SAAS,CAAC,OAAO,GAAG,UAA+B,EAAU;QAClE,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,aAAa,IAAI,CAAC,CAAC;QAExE,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,KAAK,GAAI,EAAe;iBAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAElF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC/C,0CAA0C;gBAC1C,MAAM,KAAK,GAAG,IAAA,uBAAa,EAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;oBAClD,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,QAAQ;oBAChB,cAAc,EAAE,IAAI;oBACpB,UAAU,EAAE,GAAG;oBACf,GAAG,sBAAsB;iBAC1B,CAAC,CAAC;gBAEH;;;;;;mBAMG;gBACH,IAAI,CAAC;oBACH,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAA,sCAAiB,EAAC,KAAK,CAAC,IAAI,EAAE;wBACrD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAC/B,gBAAgB,EAAE,IAAI;qBACvB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACZ,mEAAmE;oBACnE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAmB,CAAC;AACtB,CAAC","sourcesContent":["import * as fs from 'node:fs';\nimport {\n Module,\n} from 'node:module';\nimport * as path from 'node:path';\nimport {\n TransformOptions,\n transformSync,\n} from 'esbuild';\nimport {\n requireFromString,\n} from 'module-from-string';\n/**\n * Switch to the needed implementation of core testing, when running e2e tests\n * transforms ESM into CJS when needed\n * @param frameworkName Name of the framework used for e2e testing (playwright|protractor)\n * @param customTransformOptions\n */\nexport function adjustPath(frameworkName: 'playwright' | 'protractor', customTransformOptions: TransformOptions = {}) {\n const modulesCache: Record<string, any> = {};\n // eslint-disable-next-line @typescript-eslint/unbound-method -- No need to bind the method, we are using `apply`\n const originalRequire = Module.prototype.require;\n const regex = new RegExp(`@o3r/testing/core(?!/${frameworkName})(.*)`);\n Module.prototype.require = function (this: NodeJS.Module, id: string) {\n const newId = id.replace(regex, `@o3r/testing/core/${frameworkName}$1`);\n\n try {\n return Reflect.apply(originalRequire, this, [newId]);\n } catch {\n const paths = ([] as string[])\n .concat(this.paths, this.paths.map((i) => i.replace(/[/\\\\]node_modules$/, '')));\n\n const filePath = require.resolve(newId, { paths });\n if (!modulesCache[filePath]) {\n const fileContent = fs.readFileSync(filePath);\n const cwd = path.resolve(process.cwd(), 'src');\n // we use ESBUILD to transform it into CJS\n const trans = transformSync(fileContent.toString(), {\n loader: 'js',\n format: 'cjs',\n target: 'es2016',\n sourcesContent: true,\n sourceRoot: cwd,\n ...customTransformOptions\n });\n\n /**\n * requireFromString will execute the file apart from just returning a module\n * It can throw an exception which will prevent stop the execution\n *\n * That main blocker includes IVY-compatible libraries which have\n * no compiler facade in a global scope.\n */\n try {\n modulesCache[filePath] = requireFromString(trans.code, {\n dirname: path.dirname(filePath),\n useCurrentGlobal: true\n });\n } catch (ex) {\n // eslint-disable-next-line no-console -- no other logger available\n console.error(ex);\n }\n }\n\n return modulesCache[filePath];\n }\n } as NodeJS.Require;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
3
+ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./utils"), exports);
5
5
  //# sourceMappingURL=index.js.map
@@ -3,10 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.waitForOtterStable = waitForOtterStable;
4
4
  exports.initFetchManager = initFetchManager;
5
5
  exports.stopFetchManager = stopFetchManager;
6
- var tslib_1 = require("tslib");
7
- var fs = require("node:fs");
8
- var path = require("node:path");
9
- var protractor_1 = require("protractor");
6
+ const fs = require("node:fs");
7
+ const path = require("node:path");
8
+ const protractor_1 = require("protractor");
10
9
  /**
11
10
  * This function waits for all fetchs calls to be resolved and the page to be stable to resolve the promise.
12
11
  * It permits to easily run synchronous e2e tests on a flow that uses fetchs calls with protractor.
@@ -19,63 +18,28 @@ var protractor_1 = require("protractor");
19
18
  * You can ignore the waiting of fetchs by setting `browser.ignoreSynchronization` to `true`
20
19
  * @deprecated Will be removed in v13, please use Playwright instead
21
20
  */
22
- function waitForOtterStable() {
23
- return tslib_1.__awaiter(this, void 0, void 0, function () {
24
- return tslib_1.__generator(this, function (_a) {
25
- switch (_a.label) {
26
- case 0: return [4 /*yield*/, protractor_1.browser.waitForAngular()];
27
- case 1:
28
- _a.sent();
29
- if (!!protractor_1.browser.ignoreSynchronization) return [3 /*break*/, 4];
30
- return [4 /*yield*/, protractor_1.browser.executeAsyncScript('window.fetchManager.getInstance().waitForFetchs(arguments[arguments.length - 1]);')];
31
- case 2:
32
- _a.sent();
33
- return [4 /*yield*/, protractor_1.browser.waitForAngular()];
34
- case 3:
35
- _a.sent();
36
- _a.label = 4;
37
- case 4: return [2 /*return*/];
38
- }
39
- });
40
- });
21
+ async function waitForOtterStable() {
22
+ await protractor_1.browser.waitForAngular();
23
+ if (!protractor_1.browser.ignoreSynchronization) {
24
+ await protractor_1.browser.executeAsyncScript('window.fetchManager.getInstance().waitForFetchs(arguments[arguments.length - 1]);');
25
+ await protractor_1.browser.waitForAngular();
26
+ }
41
27
  }
42
28
  /**
43
29
  * This function initiliaze the FetchManager. Set `window.fetch` variable with a custom behaviour in order to count the
44
30
  * fetch calls.
45
31
  * @deprecated Will be removed in v13, please use Playwright instead
46
32
  */
47
- function initFetchManager() {
48
- return tslib_1.__awaiter(this, void 0, void 0, function () {
49
- var fetchManager;
50
- return tslib_1.__generator(this, function (_a) {
51
- switch (_a.label) {
52
- case 0:
53
- fetchManager = fs.readFileSync(path.resolve(process.cwd(), 'node_modules', '@o3r', 'testing', 'tools', 'protractor', 'fetch-manager', '_fetch-manager.js'), { encoding: 'utf8' });
54
- return [4 /*yield*/, protractor_1.browser.executeScript(fetchManager)];
55
- case 1:
56
- _a.sent();
57
- return [4 /*yield*/, protractor_1.browser.executeScript('window.fetchManager.getInstance().init();')];
58
- case 2:
59
- _a.sent();
60
- return [2 /*return*/];
61
- }
62
- });
63
- });
33
+ async function initFetchManager() {
34
+ const fetchManager = fs.readFileSync(path.resolve(process.cwd(), 'node_modules', '@o3r', 'testing', 'tools', 'protractor', 'fetch-manager', '_fetch-manager.js'), { encoding: 'utf8' });
35
+ await protractor_1.browser.executeScript(fetchManager);
36
+ await protractor_1.browser.executeScript('window.fetchManager.getInstance().init();');
64
37
  }
65
38
  /**
66
39
  * This function stops the FetchManager. Reset `window.fetch` variable with its native behaviour.
67
40
  * @deprecated Will be removed in v13, please use Playwright instead
68
41
  */
69
- function stopFetchManager() {
70
- return tslib_1.__awaiter(this, void 0, void 0, function () {
71
- return tslib_1.__generator(this, function (_a) {
72
- switch (_a.label) {
73
- case 0: return [4 /*yield*/, protractor_1.browser.executeScript('window.fetchManager.getInstance().stop();')];
74
- case 1:
75
- _a.sent();
76
- return [2 /*return*/];
77
- }
78
- });
79
- });
42
+ async function stopFetchManager() {
43
+ await protractor_1.browser.executeScript('window.fetchManager.getInstance().stop();');
80
44
  }
81
45
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/tools/protractor/fetch-manager/utils.ts"],"names":[],"mappings":";;AAkBA,gDAOC;AAOD,4CAQC;AAMD,4CAEC;;AAhDD,4BAA8B;AAC9B,gCAAkC;AAClC,yCAEoB;AAEpB;;;;;;;;;;;GAWG;AACH,SAAsB,kBAAkB;;;;wBACtC,qBAAM,oBAAO,CAAC,cAAc,EAAE,EAAA;;oBAA9B,SAA8B,CAAC;yBAC3B,CAAC,oBAAO,CAAC,qBAAqB,EAA9B,wBAA8B;oBAChC,qBAAM,oBAAO,CAAC,kBAAkB,CAC9B,mFAAmF,CAAC,EAAA;;oBADtF,SACsF,CAAC;oBACvF,qBAAM,oBAAO,CAAC,cAAc,EAAE,EAAA;;oBAA9B,SAA8B,CAAC;;;;;;CAElC;AAED;;;;GAIG;AACH,SAAsB,gBAAgB;;;;;;oBAC9B,YAAY,GAAG,EAAE,CAAC,YAAY,CAClC,IAAI,CAAC,OAAO,CACV,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EACxF,mBAAmB,CAAC,EACtB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;oBACxB,qBAAM,oBAAO,CAAC,aAAa,CAAC,YAAY,CAAC,EAAA;;oBAAzC,SAAyC,CAAC;oBAC1C,qBAAM,oBAAO,CAAC,aAAa,CAAC,2CAA2C,CAAC,EAAA;;oBAAxE,SAAwE,CAAC;;;;;CAC1E;AAED;;;GAGG;AACH,SAAsB,gBAAgB;;;;wBACpC,qBAAM,oBAAO,CAAC,aAAa,CAAC,2CAA2C,CAAC,EAAA;;oBAAxE,SAAwE,CAAC;;;;;CAC1E","sourcesContent":["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport {\n browser,\n} from 'protractor';\n\n/**\n * This function waits for all fetchs calls to be resolved and the page to be stable to resolve the promise.\n * It permits to easily run synchronous e2e tests on a flow that uses fetchs calls with protractor.\n * This is very useful in the case of Otter calls to backend because protractor synchronization manager do not care\n * about fetchs calls.\n *\n * This function needs the FetchManager to have been initialized and injected in the browser at the beginning of the\n * flow with `initFetchManager()`\n *\n * You can ignore the waiting of fetchs by setting `browser.ignoreSynchronization` to `true`\n * @deprecated Will be removed in v13, please use Playwright instead\n */\nexport async function waitForOtterStable() {\n await browser.waitForAngular();\n if (!browser.ignoreSynchronization) {\n await browser.executeAsyncScript(\n 'window.fetchManager.getInstance().waitForFetchs(arguments[arguments.length - 1]);');\n await browser.waitForAngular();\n }\n}\n\n/**\n * This function initiliaze the FetchManager. Set `window.fetch` variable with a custom behaviour in order to count the\n * fetch calls.\n * @deprecated Will be removed in v13, please use Playwright instead\n */\nexport async function initFetchManager() {\n const fetchManager = fs.readFileSync(\n path.resolve(\n process.cwd(), 'node_modules', '@o3r', 'testing', 'tools', 'protractor', 'fetch-manager',\n '_fetch-manager.js'),\n { encoding: 'utf8' });\n await browser.executeScript(fetchManager);\n await browser.executeScript('window.fetchManager.getInstance().init();');\n}\n\n/**\n * This function stops the FetchManager. Reset `window.fetch` variable with its native behaviour.\n * @deprecated Will be removed in v13, please use Playwright instead\n */\nexport async function stopFetchManager() {\n await browser.executeScript('window.fetchManager.getInstance().stop();');\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/tools/protractor/fetch-manager/utils.ts"],"names":[],"mappings":";;AAkBA,gDAOC;AAOD,4CAQC;AAMD,4CAEC;AAhDD,8BAA8B;AAC9B,kCAAkC;AAClC,2CAEoB;AAEpB;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,kBAAkB;IACtC,MAAM,oBAAO,CAAC,cAAc,EAAE,CAAC;IAC/B,IAAI,CAAC,oBAAO,CAAC,qBAAqB,EAAE,CAAC;QACnC,MAAM,oBAAO,CAAC,kBAAkB,CAC9B,mFAAmF,CAAC,CAAC;QACvF,MAAM,oBAAO,CAAC,cAAc,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,gBAAgB;IACpC,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAClC,IAAI,CAAC,OAAO,CACV,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EACxF,mBAAmB,CAAC,EACtB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACxB,MAAM,oBAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,oBAAO,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,gBAAgB;IACpC,MAAM,oBAAO,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC;AAC3E,CAAC","sourcesContent":["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport {\n browser,\n} from 'protractor';\n\n/**\n * This function waits for all fetchs calls to be resolved and the page to be stable to resolve the promise.\n * It permits to easily run synchronous e2e tests on a flow that uses fetchs calls with protractor.\n * This is very useful in the case of Otter calls to backend because protractor synchronization manager do not care\n * about fetchs calls.\n *\n * This function needs the FetchManager to have been initialized and injected in the browser at the beginning of the\n * flow with `initFetchManager()`\n *\n * You can ignore the waiting of fetchs by setting `browser.ignoreSynchronization` to `true`\n * @deprecated Will be removed in v13, please use Playwright instead\n */\nexport async function waitForOtterStable() {\n await browser.waitForAngular();\n if (!browser.ignoreSynchronization) {\n await browser.executeAsyncScript(\n 'window.fetchManager.getInstance().waitForFetchs(arguments[arguments.length - 1]);');\n await browser.waitForAngular();\n }\n}\n\n/**\n * This function initiliaze the FetchManager. Set `window.fetch` variable with a custom behaviour in order to count the\n * fetch calls.\n * @deprecated Will be removed in v13, please use Playwright instead\n */\nexport async function initFetchManager() {\n const fetchManager = fs.readFileSync(\n path.resolve(\n process.cwd(), 'node_modules', '@o3r', 'testing', 'tools', 'protractor', 'fetch-manager',\n '_fetch-manager.js'),\n { encoding: 'utf8' });\n await browser.executeScript(fetchManager);\n await browser.executeScript('window.fetchManager.getInstance().init();');\n}\n\n/**\n * This function stops the FetchManager. Reset `window.fetch` variable with its native behaviour.\n * @deprecated Will be removed in v13, please use Playwright instead\n */\nexport async function stopFetchManager() {\n await browser.executeScript('window.fetchManager.getInstance().stop();');\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
3
+ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./fetch-manager"), exports);
5
5
  tslib_1.__exportStar(require("./post-message-interceptor"), exports);
6
6
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
3
+ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./core"), exports);
5
5
  tslib_1.__exportStar(require("./post-message-interceptor"), exports);
6
6
  //# sourceMappingURL=index.js.map
@@ -1,16 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PostMessageInterceptor = void 0;
4
- var tslib_1 = require("tslib");
5
- var fs = require("node:fs");
6
- var path = require("node:path");
7
- var protractor_1 = require("protractor");
4
+ const fs = require("node:fs");
5
+ const path = require("node:path");
6
+ const protractor_1 = require("protractor");
8
7
  /**
9
8
  * Controls the postMessage interceptor
10
9
  * @deprecated Will be removed in v13, please use Playwright instead
11
10
  */
12
- var PostMessageInterceptor = /** @class */ (function () {
13
- function PostMessageInterceptor() {
11
+ class PostMessageInterceptor {
12
+ constructor() {
14
13
  this.GET_INSTANCE = 'window.postMessageInterceptor.getInstance()';
15
14
  }
16
15
  /**
@@ -18,127 +17,55 @@ var PostMessageInterceptor = /** @class */ (function () {
18
17
  * @param methodName
19
18
  * @param {...any} args
20
19
  */
21
- PostMessageInterceptor.prototype.execInstanceMethod = function (methodName) {
22
- var args = [];
23
- for (var _i = 1; _i < arguments.length; _i++) {
24
- args[_i - 1] = arguments[_i];
25
- }
26
- return tslib_1.__awaiter(this, void 0, void 0, function () {
27
- return tslib_1.__generator(this, function (_a) {
28
- switch (_a.label) {
29
- case 0: return [4 /*yield*/, protractor_1.browser.executeScript.apply(protractor_1.browser, tslib_1.__spreadArray(["".concat(this.GET_INSTANCE, ".").concat(methodName, "(...arguments);")], args, false))];
30
- case 1: return [2 /*return*/, _a.sent()];
31
- }
32
- });
33
- });
34
- };
20
+ async execInstanceMethod(methodName, ...args) {
21
+ return await protractor_1.browser.executeScript(`${this.GET_INSTANCE}.${methodName}(...arguments);`, ...args);
22
+ }
35
23
  /**
36
24
  * Executes an async script in the app
37
25
  * @param methodName
38
26
  * @param {...any} args
39
27
  */
40
- PostMessageInterceptor.prototype.execInstanceAsyncMethod = function (methodName) {
41
- var args = [];
42
- for (var _i = 1; _i < arguments.length; _i++) {
43
- args[_i - 1] = arguments[_i];
44
- }
45
- return tslib_1.__awaiter(this, void 0, void 0, function () {
46
- return tslib_1.__generator(this, function (_a) {
47
- switch (_a.label) {
48
- case 0: return [4 /*yield*/, protractor_1.browser.executeAsyncScript.apply(protractor_1.browser, tslib_1.__spreadArray(["".concat(this.GET_INSTANCE, ".").concat(methodName, "(...arguments);")], args, false))];
49
- case 1: return [2 /*return*/, _a.sent()];
50
- }
51
- });
52
- });
53
- };
28
+ async execInstanceAsyncMethod(methodName, ...args) {
29
+ return await protractor_1.browser.executeAsyncScript(`${this.GET_INSTANCE}.${methodName}(...arguments);`, ...args);
30
+ }
54
31
  /**
55
32
  * Initializes the PostMessageInterceptor in the app
56
33
  * NOTE: It does not start listening right away. You need to call listen()
57
34
  */
58
- PostMessageInterceptor.prototype.initialize = function () {
59
- return tslib_1.__awaiter(this, void 0, void 0, function () {
60
- var fetchManager;
61
- return tslib_1.__generator(this, function (_a) {
62
- switch (_a.label) {
63
- case 0:
64
- fetchManager = fs.readFileSync(path.resolve(process.cwd(), 'node_modules', '@o3r', 'testing', 'tools', 'protractor', 'post-message-interceptor', '_post-message-interceptor.js'), {
65
- encoding: 'utf8'
66
- });
67
- return [4 /*yield*/, protractor_1.browser.executeScript(fetchManager)];
68
- case 1:
69
- _a.sent();
70
- return [4 /*yield*/, this.execInstanceMethod('init')];
71
- case 2:
72
- _a.sent();
73
- return [2 /*return*/];
74
- }
75
- });
35
+ async initialize() {
36
+ const fetchManager = fs.readFileSync(path.resolve(process.cwd(), 'node_modules', '@o3r', 'testing', 'tools', 'protractor', 'post-message-interceptor', '_post-message-interceptor.js'), {
37
+ encoding: 'utf8'
76
38
  });
77
- };
39
+ await protractor_1.browser.executeScript(fetchManager);
40
+ await this.execInstanceMethod('init');
41
+ }
78
42
  /**
79
43
  * Stops the PostMessageInterceptor.
80
44
  */
81
- PostMessageInterceptor.prototype.stop = function () {
82
- return tslib_1.__awaiter(this, void 0, void 0, function () {
83
- return tslib_1.__generator(this, function (_a) {
84
- switch (_a.label) {
85
- case 0: return [4 /*yield*/, this.execInstanceMethod('stop')];
86
- case 1:
87
- _a.sent();
88
- return [2 /*return*/];
89
- }
90
- });
91
- });
92
- };
45
+ async stop() {
46
+ await this.execInstanceMethod('stop');
47
+ }
93
48
  /**
94
49
  * Listens for post messages
95
50
  * @param conditionFn an optional boolean function that will evaluate if the message should be saved or not in the stack
96
51
  */
97
- PostMessageInterceptor.prototype.listen = function (conditionFn) {
98
- return tslib_1.__awaiter(this, void 0, void 0, function () {
99
- return tslib_1.__generator(this, function (_a) {
100
- switch (_a.label) {
101
- case 0: return [4 /*yield*/, this.execInstanceMethod('listen', conditionFn)];
102
- case 1:
103
- _a.sent();
104
- return [2 /*return*/];
105
- }
106
- });
107
- });
108
- };
52
+ async listen(conditionFn) {
53
+ await this.execInstanceMethod('listen', conditionFn);
54
+ }
109
55
  /**
110
56
  * Stops listening for post messages, resets the stack and clears the condition
111
57
  */
112
- PostMessageInterceptor.prototype.stopListening = function () {
113
- return tslib_1.__awaiter(this, void 0, void 0, function () {
114
- return tslib_1.__generator(this, function (_a) {
115
- switch (_a.label) {
116
- case 0: return [4 /*yield*/, this.execInstanceMethod('stopListening')];
117
- case 1:
118
- _a.sent();
119
- return [2 /*return*/];
120
- }
121
- });
122
- });
123
- };
58
+ async stopListening() {
59
+ await this.execInstanceMethod('stopListening');
60
+ }
124
61
  /**
125
62
  * Get all the post messages
126
63
  * @param timeoutInterval Interval in milliseconds between two checks
127
64
  * @param retries How many retries to be executed (-1 for infinite retries)
128
65
  */
129
- PostMessageInterceptor.prototype.getMessages = function () {
130
- return tslib_1.__awaiter(this, arguments, void 0, function (timeoutInterval, retries) {
131
- if (timeoutInterval === void 0) { timeoutInterval = 100; }
132
- if (retries === void 0) { retries = -1; }
133
- return tslib_1.__generator(this, function (_a) {
134
- switch (_a.label) {
135
- case 0: return [4 /*yield*/, this.execInstanceAsyncMethod('getMessages', timeoutInterval, retries)];
136
- case 1: return [2 /*return*/, (_a.sent())];
137
- }
138
- });
139
- });
140
- };
141
- return PostMessageInterceptor;
142
- }());
66
+ async getMessages(timeoutInterval = 100, retries = -1) {
67
+ return (await this.execInstanceAsyncMethod('getMessages', timeoutInterval, retries));
68
+ }
69
+ }
143
70
  exports.PostMessageInterceptor = PostMessageInterceptor;
144
71
  //# sourceMappingURL=post-message-interceptor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-message-interceptor.js","sourceRoot":"","sources":["../../../../src/tools/protractor/post-message-interceptor/post-message-interceptor.ts"],"names":[],"mappings":";;;;AAAA,4BAA8B;AAC9B,gCAAkC;AAClC,yCAEoB;AAMpB;;;GAGG;AACH;IAAA;QACmB,iBAAY,GAAG,6CAA6C,CAAC;IAiEhF,CAAC;IA/DC;;;;OAIG;IACW,mDAAkB,GAAhC,UAAiC,UAAkB;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;;;;4BAC1D,qBAAM,oBAAO,CAAC,aAAa,OAArB,oBAAO,yBAAe,UAAG,IAAI,CAAC,YAAY,cAAI,UAAU,oBAAiB,GAAK,IAAI,WAAC;4BAAhG,sBAAO,SAAyF,EAAC;;;;KAClG;IAED;;;;OAIG;IACW,wDAAuB,GAArC,UAAsC,UAAkB;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;;;;4BAC/D,qBAAM,oBAAO,CAAC,kBAAkB,OAA1B,oBAAO,yBAAoB,UAAG,IAAI,CAAC,YAAY,cAAI,UAAU,oBAAiB,GAAK,IAAI,WAAC;4BAArG,sBAAO,SAA8F,EAAC;;;;KACvG;IAED;;;OAGG;IACU,2CAAU,GAAvB;;;;;;wBACQ,YAAY,GAAG,EAAE,CAAC,YAAY,CAClC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,8BAA8B,CAAC,EACjJ;4BACE,QAAQ,EAAE,MAAM;yBACjB,CACF,CAAC;wBACF,qBAAM,oBAAO,CAAC,aAAa,CAAC,YAAY,CAAC,EAAA;;wBAAzC,SAAyC,CAAC;wBAC1C,qBAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAA;;wBAArC,SAAqC,CAAC;;;;;KACvC;IAED;;OAEG;IACU,qCAAI,GAAjB;;;;4BACE,qBAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAA;;wBAArC,SAAqC,CAAC;;;;;KACvC;IAED;;;OAGG;IACU,uCAAM,GAAnB,UAAoB,WAAyB;;;;4BAC3C,qBAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAA;;wBAApD,SAAoD,CAAC;;;;;KACtD;IAED;;OAEG;IACU,8CAAa,GAA1B;;;;4BACE,qBAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;;;;;KAChD;IAED;;;;OAIG;IACU,4CAAW,GAAxB;oEAAyB,eAAqB,EAAE,OAAY;YAAnC,gCAAA,EAAA,qBAAqB;YAAE,wBAAA,EAAA,WAAW,CAAC;;;4BAClD,qBAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,eAAe,EAAE,OAAO,CAAC,EAAA;4BAAnF,sBAAO,CAAC,SAA2E,CAAsB,EAAC;;;;KAC3G;IACH,6BAAC;AAAD,CAAC,AAlED,IAkEC;AAlEY,wDAAsB","sourcesContent":["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport {\n browser,\n} from 'protractor';\nimport {\n ConditionFn,\n PostMessageCall,\n} from './core';\n\n/**\n * Controls the postMessage interceptor\n * @deprecated Will be removed in v13, please use Playwright instead\n */\nexport class PostMessageInterceptor {\n private readonly GET_INSTANCE = 'window.postMessageInterceptor.getInstance()';\n\n /**\n * Executes a script in the app\n * @param methodName\n * @param {...any} args\n */\n private async execInstanceMethod(methodName: string, ...args: any[]) {\n return await browser.executeScript(`${this.GET_INSTANCE}.${methodName}(...arguments);`, ...args);\n }\n\n /**\n * Executes an async script in the app\n * @param methodName\n * @param {...any} args\n */\n private async execInstanceAsyncMethod(methodName: string, ...args: any[]) {\n return await browser.executeAsyncScript(`${this.GET_INSTANCE}.${methodName}(...arguments);`, ...args);\n }\n\n /**\n * Initializes the PostMessageInterceptor in the app\n * NOTE: It does not start listening right away. You need to call listen()\n */\n public async initialize() {\n const fetchManager = fs.readFileSync(\n path.resolve(process.cwd(), 'node_modules', '@o3r', 'testing', 'tools', 'protractor', 'post-message-interceptor', '_post-message-interceptor.js'),\n {\n encoding: 'utf8'\n }\n );\n await browser.executeScript(fetchManager);\n await this.execInstanceMethod('init');\n }\n\n /**\n * Stops the PostMessageInterceptor.\n */\n public async stop() {\n await this.execInstanceMethod('stop');\n }\n\n /**\n * Listens for post messages\n * @param conditionFn an optional boolean function that will evaluate if the message should be saved or not in the stack\n */\n public async listen(conditionFn?: ConditionFn) {\n await this.execInstanceMethod('listen', conditionFn);\n }\n\n /**\n * Stops listening for post messages, resets the stack and clears the condition\n */\n public async stopListening() {\n await this.execInstanceMethod('stopListening');\n }\n\n /**\n * Get all the post messages\n * @param timeoutInterval Interval in milliseconds between two checks\n * @param retries How many retries to be executed (-1 for infinite retries)\n */\n public async getMessages(timeoutInterval = 100, retries = -1): Promise<PostMessageCall[]> {\n return (await this.execInstanceAsyncMethod('getMessages', timeoutInterval, retries)) as PostMessageCall[];\n }\n}\n"]}
1
+ {"version":3,"file":"post-message-interceptor.js","sourceRoot":"","sources":["../../../../src/tools/protractor/post-message-interceptor/post-message-interceptor.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,kCAAkC;AAClC,2CAEoB;AAMpB;;;GAGG;AACH,MAAa,sBAAsB;IAAnC;QACmB,iBAAY,GAAG,6CAA6C,CAAC;IAiEhF,CAAC;IA/DC;;;;OAIG;IACK,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,GAAG,IAAW;QACjE,OAAO,MAAM,oBAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,UAAU,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAC;IACnG,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,uBAAuB,CAAC,UAAkB,EAAE,GAAG,IAAW;QACtE,OAAO,MAAM,oBAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,UAAU,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAC;IACxG,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU;QACrB,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAClC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,8BAA8B,CAAC,EACjJ;YACE,QAAQ,EAAE,MAAM;SACjB,CACF,CAAC;QACF,MAAM,oBAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI;QACf,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CAAC,WAAyB;QAC3C,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa;QACxB,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,eAAe,GAAG,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC;QAC1D,OAAO,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,eAAe,EAAE,OAAO,CAAC,CAAsB,CAAC;IAC5G,CAAC;CACF;AAlED,wDAkEC","sourcesContent":["import * as fs from 'node:fs';\nimport * as path from 'node:path';\nimport {\n browser,\n} from 'protractor';\nimport {\n ConditionFn,\n PostMessageCall,\n} from './core';\n\n/**\n * Controls the postMessage interceptor\n * @deprecated Will be removed in v13, please use Playwright instead\n */\nexport class PostMessageInterceptor {\n private readonly GET_INSTANCE = 'window.postMessageInterceptor.getInstance()';\n\n /**\n * Executes a script in the app\n * @param methodName\n * @param {...any} args\n */\n private async execInstanceMethod(methodName: string, ...args: any[]) {\n return await browser.executeScript(`${this.GET_INSTANCE}.${methodName}(...arguments);`, ...args);\n }\n\n /**\n * Executes an async script in the app\n * @param methodName\n * @param {...any} args\n */\n private async execInstanceAsyncMethod(methodName: string, ...args: any[]) {\n return await browser.executeAsyncScript(`${this.GET_INSTANCE}.${methodName}(...arguments);`, ...args);\n }\n\n /**\n * Initializes the PostMessageInterceptor in the app\n * NOTE: It does not start listening right away. You need to call listen()\n */\n public async initialize() {\n const fetchManager = fs.readFileSync(\n path.resolve(process.cwd(), 'node_modules', '@o3r', 'testing', 'tools', 'protractor', 'post-message-interceptor', '_post-message-interceptor.js'),\n {\n encoding: 'utf8'\n }\n );\n await browser.executeScript(fetchManager);\n await this.execInstanceMethod('init');\n }\n\n /**\n * Stops the PostMessageInterceptor.\n */\n public async stop() {\n await this.execInstanceMethod('stop');\n }\n\n /**\n * Listens for post messages\n * @param conditionFn an optional boolean function that will evaluate if the message should be saved or not in the stack\n */\n public async listen(conditionFn?: ConditionFn) {\n await this.execInstanceMethod('listen', conditionFn);\n }\n\n /**\n * Stops listening for post messages, resets the stack and clears the condition\n */\n public async stopListening() {\n await this.execInstanceMethod('stopListening');\n }\n\n /**\n * Get all the post messages\n * @param timeoutInterval Interval in milliseconds between two checks\n * @param retries How many retries to be executed (-1 for infinite retries)\n */\n public async getMessages(timeoutInterval = 100, retries = -1): Promise<PostMessageCall[]> {\n return (await this.execInstanceAsyncMethod('getMessages', timeoutInterval, retries)) as PostMessageCall[];\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
3
+ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./visual-test"), exports);
5
5
  //# sourceMappingURL=index.js.map
@@ -10,18 +10,29 @@ exports.toggleVisualTestingRender = toggleVisualTestingRender;
10
10
  * @note this function is evaluated in the context of the page and should not use external variables
11
11
  * @param ignoreClass
12
12
  */
13
- function prepareVisualTesting(ignoreClass) {
14
- if (ignoreClass === void 0) { ignoreClass = 'e2e-ignore'; }
15
- var visualTestingCss = document.createElement('style');
16
- var visualTestingClass = 'visual-testing-render';
17
- visualTestingCss.textContent = "\n .".concat(visualTestingClass, " .").concat(ignoreClass, " {position: relative;}\n\n .").concat(visualTestingClass, " .").concat(ignoreClass, ":before {\n z-index: 999;\n content: '';\n width: 100%;\n height: 100%;\n background: grey;\n position: absolute;\n left: 0;\n top: 0;\n }");
13
+ function prepareVisualTesting(ignoreClass = 'e2e-ignore') {
14
+ const visualTestingCss = document.createElement('style');
15
+ const visualTestingClass = 'visual-testing-render';
16
+ visualTestingCss.textContent = `
17
+ .${visualTestingClass} .${ignoreClass} {position: relative;}
18
+
19
+ .${visualTestingClass} .${ignoreClass}:before {
20
+ z-index: 999;
21
+ content: '';
22
+ width: 100%;
23
+ height: 100%;
24
+ background: grey;
25
+ position: absolute;
26
+ left: 0;
27
+ top: 0;
28
+ }`;
18
29
  document.head.append(visualTestingCss);
19
30
  }
20
31
  /**
21
32
  * Determine if the visual testing is enabled
22
33
  */
23
34
  function isVisualTestingEnabled() {
24
- var visualTestingClass = 'visual-testing-render';
35
+ const visualTestingClass = 'visual-testing-render';
25
36
  return document.body.classList.contains(visualTestingClass);
26
37
  }
27
38
  /**
@@ -30,7 +41,7 @@ function isVisualTestingEnabled() {
30
41
  * @param enabled
31
42
  */
32
43
  function toggleVisualTestingRender(enabled) {
33
- var visualTestingClass = 'visual-testing-render';
44
+ const visualTestingClass = 'visual-testing-render';
34
45
  if (enabled) {
35
46
  document.body.classList.add(visualTestingClass);
36
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/visual-test/utils.ts"],"names":[],"mappings":";;AAOA,oDAkBC;AAKD,wDAGC;AAOD,8DAOC;AA/CD;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,WAA0B;IAA1B,4BAAA,EAAA,0BAA0B;IAC7D,IAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzD,IAAM,kBAAkB,GAAG,uBAAuB,CAAC;IACnD,gBAAgB,CAAC,WAAW,GAAG,iBAC1B,kBAAkB,eAAK,WAAW,4CAElC,kBAAkB,eAAK,WAAW,wLASrC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IACpC,IAAM,kBAAkB,GAAG,uBAAuB,CAAC;IACnD,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,OAAgB;IACxD,IAAM,kBAAkB,GAAG,uBAAuB,CAAC;IACnD,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;AACH,CAAC","sourcesContent":["/**\n * Prepare css rule to hide specific blocks\n *\n * Should be called only once during the visual test.\n * @note this function is evaluated in the context of the page and should not use external variables\n * @param ignoreClass\n */\nexport function prepareVisualTesting(ignoreClass = 'e2e-ignore') {\n const visualTestingCss = document.createElement('style');\n const visualTestingClass = 'visual-testing-render';\n visualTestingCss.textContent = `\n .${visualTestingClass} .${ignoreClass} {position: relative;}\n\n .${visualTestingClass} .${ignoreClass}:before {\n z-index: 999;\n content: '';\n width: 100%;\n height: 100%;\n background: grey;\n position: absolute;\n left: 0;\n top: 0;\n }`;\n\n document.head.append(visualTestingCss);\n}\n\n/**\n * Determine if the visual testing is enabled\n */\nexport function isVisualTestingEnabled() {\n const visualTestingClass = 'visual-testing-render';\n return document.body.classList.contains(visualTestingClass);\n}\n\n/**\n * Toggle the visual testing view : if it is active, will hide tagged components as grey blocks.\n * @note this function is evaluated in the context of the page and cannot use external code\n * @param enabled\n */\nexport function toggleVisualTestingRender(enabled: boolean) {\n const visualTestingClass = 'visual-testing-render';\n if (enabled) {\n document.body.classList.add(visualTestingClass);\n } else {\n document.body.classList.remove(visualTestingClass);\n }\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/visual-test/utils.ts"],"names":[],"mappings":";;AAOA,oDAkBC;AAKD,wDAGC;AAOD,8DAOC;AA/CD;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,WAAW,GAAG,YAAY;IAC7D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;IACnD,gBAAgB,CAAC,WAAW,GAAG;OAC1B,kBAAkB,KAAK,WAAW;;OAElC,kBAAkB,KAAK,WAAW;;;;;;;;;IASrC,CAAC;IAEH,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IACpC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;IACnD,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,OAAgB;IACxD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;IACnD,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;AACH,CAAC","sourcesContent":["/**\n * Prepare css rule to hide specific blocks\n *\n * Should be called only once during the visual test.\n * @note this function is evaluated in the context of the page and should not use external variables\n * @param ignoreClass\n */\nexport function prepareVisualTesting(ignoreClass = 'e2e-ignore') {\n const visualTestingCss = document.createElement('style');\n const visualTestingClass = 'visual-testing-render';\n visualTestingCss.textContent = `\n .${visualTestingClass} .${ignoreClass} {position: relative;}\n\n .${visualTestingClass} .${ignoreClass}:before {\n z-index: 999;\n content: '';\n width: 100%;\n height: 100%;\n background: grey;\n position: absolute;\n left: 0;\n top: 0;\n }`;\n\n document.head.append(visualTestingCss);\n}\n\n/**\n * Determine if the visual testing is enabled\n */\nexport function isVisualTestingEnabled() {\n const visualTestingClass = 'visual-testing-render';\n return document.body.classList.contains(visualTestingClass);\n}\n\n/**\n * Toggle the visual testing view : if it is active, will hide tagged components as grey blocks.\n * @note this function is evaluated in the context of the page and cannot use external code\n * @param enabled\n */\nexport function toggleVisualTestingRender(enabled: boolean) {\n const visualTestingClass = 'visual-testing-render';\n if (enabled) {\n document.body.classList.add(visualTestingClass);\n } else {\n document.body.classList.remove(visualTestingClass);\n }\n}\n"]}