@wopee-io/wopee.wdio 4.6.0 → 5.0.1

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 (135) hide show
  1. package/build/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.d.ts +2 -2
  2. package/build/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.d.ts.map +1 -1
  3. package/build/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.js +18 -20
  4. package/build/adapter/fullPageScreenshotAdapter/fullPageScreenshotAdapter.js.map +1 -1
  5. package/build/desktopBrowser/commands/trackElement.js +2 -2
  6. package/build/desktopBrowser/commands/trackElement.js.map +1 -1
  7. package/build/desktopBrowser/commands/trackScreen.js +2 -2
  8. package/build/desktopBrowser/commands/trackScreen.js.map +1 -1
  9. package/build/desktopBrowser/methods/images.d.ts +1 -1
  10. package/build/desktopBrowser/methods/images.d.ts.map +1 -1
  11. package/build/desktopBrowser/methods/images.interfaces.d.ts +2 -2
  12. package/build/desktopBrowser/methods/images.interfaces.d.ts.map +1 -1
  13. package/build/desktopBrowser/methods/images.interfaces.js.map +1 -1
  14. package/build/desktopBrowser/methods/images.js +5 -5
  15. package/build/desktopBrowser/methods/images.js.map +1 -1
  16. package/build/domain/model/config.interface.d.ts +82 -13
  17. package/build/domain/model/config.interface.d.ts.map +1 -1
  18. package/build/domain/model/config.interface.js +16 -1
  19. package/build/domain/model/config.interface.js.map +1 -1
  20. package/build/domain/model/service.interface.d.ts +3 -3
  21. package/build/domain/model/service.interface.d.ts.map +1 -1
  22. package/build/domain/model/service.interface.js.map +1 -1
  23. package/build/domain/service/configurationService.d.ts +5 -0
  24. package/build/domain/service/configurationService.d.ts.map +1 -0
  25. package/build/domain/service/configurationService.js +65 -0
  26. package/build/domain/service/configurationService.js.map +1 -0
  27. package/build/domain/service/wopeeService.d.ts.map +1 -1
  28. package/build/domain/service/wopeeService.js +2 -2
  29. package/build/domain/service/wopeeService.js.map +1 -1
  30. package/build/index.d.ts +3 -0
  31. package/build/index.d.ts.map +1 -1
  32. package/build/index.js +3 -0
  33. package/build/index.js.map +1 -1
  34. package/build/utils/versionMetadata.js +2 -2
  35. package/docs/configuration.md +9 -18
  36. package/node_modules/@autonomous-testing/sdk/.github/workflows/ci_cd.yaml +3 -1
  37. package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/createIntegrationStepPayload.interface.d.ts +6 -0
  38. package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/createIntegrationStepPayload.interface.js +2 -0
  39. package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/index.d.ts +9 -13
  40. package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/index.js +5 -1
  41. package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/visualAssert.interface.d.ts +22 -0
  42. package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/visualAssert.interface.js +18 -0
  43. package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/visualAssertPayload.interface.d.ts +17 -0
  44. package/node_modules/@autonomous-testing/sdk/build/core/domain/entities/visualAssertPayload.interface.js +11 -0
  45. package/node_modules/@autonomous-testing/sdk/build/core/ports/api.d.ts +2 -1
  46. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/adapter.d.ts +2 -1
  47. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/adapter.js +10 -0
  48. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/factories.d.ts +5 -3
  49. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/factories.js +23 -0
  50. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/interface.d.ts +63 -4
  51. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/interface.js +21 -2
  52. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/mutations.d.ts +1 -0
  53. package/node_modules/@autonomous-testing/sdk/build/infrastructure/adapters/apolloAdapter/mutations.js +8 -1
  54. package/node_modules/@autonomous-testing/sdk/build/shared/metadata/versionMetadata.js +2 -2
  55. package/node_modules/@autonomous-testing/sdk/package.json +7 -5
  56. package/node_modules/axios/CHANGELOG.md +157 -61
  57. package/node_modules/axios/README.md +271 -80
  58. package/node_modules/axios/SECURITY.md +3 -3
  59. package/node_modules/axios/UPGRADE_GUIDE.md +37 -15
  60. package/node_modules/axios/bin/check-build-version.js +19 -0
  61. package/node_modules/axios/bin/ssl_hotfix.js +22 -0
  62. package/node_modules/axios/dist/axios.js +2014 -2222
  63. package/node_modules/axios/dist/axios.js.map +1 -0
  64. package/node_modules/axios/dist/axios.min.js +2 -3
  65. package/node_modules/axios/dist/axios.min.js.map +1 -0
  66. package/node_modules/axios/dist/esm/axios.js +2379 -0
  67. package/node_modules/axios/dist/esm/axios.js.map +1 -0
  68. package/node_modules/axios/dist/esm/axios.min.js +2 -0
  69. package/node_modules/axios/dist/esm/axios.min.js.map +1 -0
  70. package/node_modules/axios/index.d.ts +106 -19
  71. package/node_modules/axios/lib/adapters/http.js +155 -116
  72. package/node_modules/axios/lib/adapters/xhr.js +15 -11
  73. package/node_modules/axios/lib/axios.js +5 -1
  74. package/node_modules/axios/lib/cancel/CancelToken.js +4 -5
  75. package/node_modules/axios/lib/cancel/CanceledError.js +4 -2
  76. package/node_modules/axios/lib/core/Axios.js +18 -2
  77. package/node_modules/axios/lib/core/AxiosError.js +12 -1
  78. package/node_modules/axios/lib/core/InterceptorManager.js +9 -0
  79. package/node_modules/axios/lib/core/buildFullPath.js +5 -2
  80. package/node_modules/axios/lib/core/dispatchRequest.js +7 -0
  81. package/node_modules/axios/lib/core/mergeConfig.js +3 -0
  82. package/node_modules/axios/lib/core/transformData.js +3 -2
  83. package/node_modules/axios/lib/defaults/index.js +42 -13
  84. package/node_modules/axios/lib/env/data.js +1 -1
  85. package/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +42 -0
  86. package/node_modules/axios/lib/helpers/bind.js +1 -5
  87. package/node_modules/axios/lib/helpers/buildURL.js +18 -33
  88. package/node_modules/axios/lib/helpers/combineURLs.js +1 -1
  89. package/node_modules/axios/lib/helpers/formDataToJSON.js +74 -0
  90. package/node_modules/axios/lib/helpers/fromDataURI.js +51 -0
  91. package/node_modules/axios/lib/helpers/isURLSameOrigin.js +12 -12
  92. package/node_modules/axios/lib/helpers/parseHeaders.js +2 -2
  93. package/node_modules/axios/lib/helpers/toFormData.js +141 -34
  94. package/node_modules/axios/lib/helpers/toURLEncodedForm.js +18 -0
  95. package/node_modules/axios/lib/platform/browser/classes/FormData.js +3 -0
  96. package/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +5 -0
  97. package/node_modules/axios/lib/platform/browser/index.js +11 -0
  98. package/node_modules/axios/lib/platform/index.js +3 -0
  99. package/node_modules/axios/lib/platform/node/classes/FormData.js +3 -0
  100. package/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +5 -0
  101. package/node_modules/axios/lib/platform/node/index.js +11 -0
  102. package/node_modules/axios/lib/utils.js +68 -16
  103. package/node_modules/axios/package.json +20 -7
  104. package/node_modules/axios/rollup.config.js +60 -0
  105. package/node_modules/proxy-from-env/.eslintrc +29 -0
  106. package/node_modules/proxy-from-env/.travis.yml +10 -0
  107. package/node_modules/proxy-from-env/LICENSE +20 -0
  108. package/node_modules/proxy-from-env/README.md +131 -0
  109. package/node_modules/proxy-from-env/index.js +108 -0
  110. package/node_modules/proxy-from-env/package.json +34 -0
  111. package/node_modules/proxy-from-env/test.js +483 -0
  112. package/package.json +4 -4
  113. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.d.ts +0 -10
  114. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.d.ts.map +0 -1
  115. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.d.ts +0 -28
  116. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.d.ts.map +0 -1
  117. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.js +0 -12
  118. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.interface.js.map +0 -1
  119. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.js +0 -57
  120. package/build/adapter/wdioConfigAdapter/wdioConfigAdapter.js.map +0 -1
  121. package/build/domain/model/croppingOptions.interface.d.ts +0 -8
  122. package/build/domain/model/croppingOptions.interface.d.ts.map +0 -1
  123. package/build/domain/model/croppingOptions.interface.js +0 -12
  124. package/build/domain/model/croppingOptions.interface.js.map +0 -1
  125. package/build/port/driven/configDrivingPort/configDrivingPort.d.ts +0 -9
  126. package/build/port/driven/configDrivingPort/configDrivingPort.d.ts.map +0 -1
  127. package/build/port/driven/configDrivingPort/configDrivingPort.js +0 -15
  128. package/build/port/driven/configDrivingPort/configDrivingPort.js.map +0 -1
  129. package/build/port/driven/configDrivingPort/configDrivingPortDefaults.d.ts +0 -6
  130. package/build/port/driven/configDrivingPort/configDrivingPortDefaults.d.ts.map +0 -1
  131. package/build/port/driven/configDrivingPort/configDrivingPortDefaults.js +0 -36
  132. package/build/port/driven/configDrivingPort/configDrivingPortDefaults.js.map +0 -1
  133. package/node_modules/axios/dist/axios.map +0 -1
  134. package/node_modules/axios/dist/axios.min.map +0 -1
  135. /package/node_modules/axios/lib/{defaults/env → env/classes}/FormData.js +0 -0
@@ -0,0 +1,65 @@
1
+ import { GeneralWopeeServiceOptionsSchema, ImageProcessingOptionsSchema, ScreenshotValidationOptionsSchema, } from '../../domain/model/config.interface.js';
2
+ import { WopeeError } from '@autonomous-testing/sdk';
3
+ import 'dotenv/config';
4
+ function parseImageProcessingOptions(options) {
5
+ let imageProcessingOptions;
6
+ try {
7
+ imageProcessingOptions = ImageProcessingOptionsSchema.parse({
8
+ ...options,
9
+ });
10
+ }
11
+ catch (error) {
12
+ if (error instanceof Error) {
13
+ throw new WopeeError(error?.message);
14
+ }
15
+ else {
16
+ throw error;
17
+ }
18
+ }
19
+ return imageProcessingOptions;
20
+ }
21
+ function parseGeneralWopeeServiceOptions(options) {
22
+ let generalWopeeServiceOptions;
23
+ try {
24
+ const parsedSchema = GeneralWopeeServiceOptionsSchema.parse({ isLandscape: options.isLandscape });
25
+ generalWopeeServiceOptions = { isLandscape: parsedSchema.isLandscape };
26
+ }
27
+ catch (error) {
28
+ if (error instanceof Error) {
29
+ throw new WopeeError(error?.message);
30
+ }
31
+ else {
32
+ throw error;
33
+ }
34
+ }
35
+ return generalWopeeServiceOptions;
36
+ }
37
+ function parseScreenshotValidationOptions(options) {
38
+ let screenshotValidationOptions;
39
+ try {
40
+ screenshotValidationOptions = ScreenshotValidationOptionsSchema.parse({
41
+ ...options,
42
+ });
43
+ }
44
+ catch (error) {
45
+ if (error instanceof Error) {
46
+ throw new WopeeError(error?.message);
47
+ }
48
+ else {
49
+ throw error;
50
+ }
51
+ }
52
+ return screenshotValidationOptions;
53
+ }
54
+ function loadConfig(options) {
55
+ const screenshotValidationOptions = parseScreenshotValidationOptions(options.screenshotValidation);
56
+ const imageProcessingOptions = parseImageProcessingOptions(options.imageProcessing);
57
+ const generalWopeeServiceOptions = parseGeneralWopeeServiceOptions(options);
58
+ return {
59
+ screenshotValidation: screenshotValidationOptions,
60
+ imageProcessing: imageProcessingOptions,
61
+ isLandscape: generalWopeeServiceOptions.isLandscape,
62
+ };
63
+ }
64
+ export { loadConfig };
65
+ //# sourceMappingURL=configurationService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurationService.js","sourceRoot":"","sources":["../../../lib/domain/service/configurationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gCAAgC,EAEhC,4BAA4B,EAE5B,iCAAiC,GAElC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,eAAe,CAAC;AAEvB,SAAS,2BAA2B,CAAC,OAA+B;IAClE,IAAI,sBAA8C,CAAC;IACnD,IAAI,CAAC;QACH,sBAAsB,GAAG,4BAA4B,CAAC,KAAK,CAAC;YAC1D,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,SAAS,+BAA+B,CAAC,OAA4B;IACnE,IAAI,0BAAsD,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,gCAAgC,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAClG,0BAA0B,GAAG,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,SAAS,gCAAgC,CAAC,OAAoC;IAC5E,IAAI,2BAAwD,CAAC;IAC7D,IAAI,CAAC;QACH,2BAA2B,GAAG,iCAAiC,CAAC,KAAK,CAAC;YACpE,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,OAA4B;IAC9C,MAAM,2BAA2B,GAAG,gCAAgC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnG,MAAM,sBAAsB,GAAG,2BAA2B,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACpF,MAAM,0BAA0B,GAAG,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAC5E,OAAO;QACL,oBAAoB,EAAE,2BAA2B;QACjD,eAAe,EAAE,sBAAsB;QACvC,WAAW,EAAE,0BAA0B,CAAC,WAAW;KACpD,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC","sourcesContent":["import {\n GeneralWopeeServiceOptions,\n GeneralWopeeServiceOptionsSchema,\n ImageProcessingOptions,\n ImageProcessingOptionsSchema,\n ScreenshotValidationOptions,\n ScreenshotValidationOptionsSchema,\n WopeeServiceOptions,\n} from '../../domain/model/config.interface.js';\nimport { WopeeError } from '@autonomous-testing/sdk';\nimport 'dotenv/config';\n\nfunction parseImageProcessingOptions(options: ImageProcessingOptions): ImageProcessingOptions {\n let imageProcessingOptions: ImageProcessingOptions;\n try {\n imageProcessingOptions = ImageProcessingOptionsSchema.parse({\n ...options,\n });\n } catch (error) {\n if (error instanceof Error) {\n throw new WopeeError(error?.message);\n } else {\n throw error;\n }\n }\n return imageProcessingOptions;\n}\n\nfunction parseGeneralWopeeServiceOptions(options: WopeeServiceOptions): GeneralWopeeServiceOptions {\n let generalWopeeServiceOptions: GeneralWopeeServiceOptions;\n try {\n const parsedSchema = GeneralWopeeServiceOptionsSchema.parse({ isLandscape: options.isLandscape });\n generalWopeeServiceOptions = { isLandscape: parsedSchema.isLandscape };\n } catch (error) {\n if (error instanceof Error) {\n throw new WopeeError(error?.message);\n } else {\n throw error;\n }\n }\n return generalWopeeServiceOptions;\n}\n\nfunction parseScreenshotValidationOptions(options: ScreenshotValidationOptions): ScreenshotValidationOptions {\n let screenshotValidationOptions: ScreenshotValidationOptions;\n try {\n screenshotValidationOptions = ScreenshotValidationOptionsSchema.parse({\n ...options,\n });\n } catch (error) {\n if (error instanceof Error) {\n throw new WopeeError(error?.message);\n } else {\n throw error;\n }\n }\n return screenshotValidationOptions;\n}\n\nfunction loadConfig(options: WopeeServiceOptions): WopeeServiceOptions {\n const screenshotValidationOptions = parseScreenshotValidationOptions(options.screenshotValidation);\n const imageProcessingOptions = parseImageProcessingOptions(options.imageProcessing);\n const generalWopeeServiceOptions = parseGeneralWopeeServiceOptions(options);\n return {\n screenshotValidation: screenshotValidationOptions,\n imageProcessing: imageProcessingOptions,\n isLandscape: generalWopeeServiceOptions.isLandscape,\n };\n}\n\nexport { loadConfig };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"wopeeService.d.ts","sourceRoot":"","sources":["../../../lib/domain/service/wopeeService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAGtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,aAAa,EAKb,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA6B;IAC5C,oBAAoB,EAAE,aAAa,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;gBAE9B,OAAO,EAAE,mBAAmB;IAUxC,IAAI,MAAM,IAAI,mBAAmB,CAEhC;IAED;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAwBjC;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlD;;OAEG;IACG,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC;;;;;;OAMG;IACG,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;CASlE"}
1
+ {"version":3,"file":"wopeeService.d.ts","sourceRoot":"","sources":["../../../lib/domain/service/wopeeService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAGtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EACL,aAAa,EAKb,eAAe,EAEhB,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA6B;IAC5C,oBAAoB,EAAE,aAAa,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;gBAE9B,OAAO,EAAE,mBAAmB;IAUxC,IAAI,MAAM,IAAI,mBAAmB,CAEhC;IAED;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAwBjC;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlD;;OAEG;IACG,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC;;;;;;OAMG;IACG,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;CASlE"}
@@ -1,13 +1,13 @@
1
- import { WdioConfigAdapter } from '../../adapter/wdioConfigAdapter/wdioConfigAdapter.js';
2
1
  import { DesktopBrowserClientOperationAdapter } from '../../infrastructure/adapters/desktopBrowserClientOperationAdapter/desktopBrowserClientOperationAdapter.js';
3
2
  import { WdioLoggerAdapter } from '../../infrastructure/adapters/wdioLoggerAdapter/wdioLoggerAdapter.js';
3
+ import { loadConfig } from './configurationService.js';
4
4
  import { CreateIntegrationStepPayloadSchema, createApolloTrackAdapter, } from '@autonomous-testing/sdk';
5
5
  export class WopeeService {
6
6
  _config = null;
7
7
  screenshotValidation;
8
8
  clientSideScript;
9
9
  constructor(options) {
10
- this._config = new WdioConfigAdapter(options).config;
10
+ this._config = loadConfig(options);
11
11
  this.clientSideScript = new DesktopBrowserClientOperationAdapter();
12
12
  if (this._config.screenshotValidation.screenshotValidationEnabled) {
13
13
  this.screenshotValidation = this._createApolloTrackAdapter();
@@ -1 +1 @@
1
- {"version":3,"file":"wopeeService.js","sourceRoot":"","sources":["../../../lib/domain/service/wopeeService.ts"],"names":[],"mappings":"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","sourcesContent":["import { WdioConfigAdapter } from '../../adapter/wdioConfigAdapter/wdioConfigAdapter.js';\nimport { TrackOptions } from '../../core/domain/valueObjects/track.interface.js';\nimport { ClientSideOperationPort } from '../../core/ports/clientSideOperationPort.js';\nimport { DesktopBrowserClientOperationAdapter } from '../../infrastructure/adapters/desktopBrowserClientOperationAdapter/desktopBrowserClientOperationAdapter.js';\nimport { WdioLoggerAdapter } from '../../infrastructure/adapters/wdioLoggerAdapter/wdioLoggerAdapter.js';\nimport { WopeeServiceOptions } from '../model/config.interface.js';\nimport {\n ApolloAdapter,\n ApolloAdapterConfig,\n ApolloAdapterOptions,\n CreateIntegrationStepPayload,\n CreateIntegrationStepPayloadSchema,\n IntegrationStep,\n createApolloTrackAdapter,\n} from '@autonomous-testing/sdk';\n\nexport class WopeeService {\n private _config: WopeeServiceOptions = null;\n screenshotValidation: ApolloAdapter;\n clientSideScript: ClientSideOperationPort;\n\n constructor(options: WopeeServiceOptions) {\n this._config = new WdioConfigAdapter(options).config;\n\n this.clientSideScript = new DesktopBrowserClientOperationAdapter();\n\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n this.screenshotValidation = this._createApolloTrackAdapter();\n }\n }\n\n get config(): WopeeServiceOptions {\n return this._config;\n }\n\n /**\n * Creates an ApolloTrackAdapter for tracking and validating screenshots.\n * @returns {ApolloTrackAdapter} The initialized tracking adapter.\n */\n private _createApolloTrackAdapter(): ApolloAdapter {\n const apolloAdapterConfig: ApolloAdapterConfig = {\n apiKey: this._config.screenshotValidation.apiKey,\n apiUrl: this._config.screenshotValidation.apiUrl,\n branchName: this._config.screenshotValidation?.branchName,\n enableSoftAssert: this._config.screenshotValidation?.enableSoftAssert,\n projectUuid: this._config.screenshotValidation.projectUuid,\n browser: this._config.screenshotValidation?.browser,\n comment: this._config.screenshotValidation?.comment,\n device: this._config.screenshotValidation?.device,\n os: this._config.screenshotValidation?.os,\n pixelToPixelDiffTolerance: this._config.screenshotValidation.pixelToPixelDiffTolerance,\n viewport: this._config.screenshotValidation?.viewport,\n customTags: this._config.screenshotValidation?.customTags,\n };\n\n const logger = new WdioLoggerAdapter();\n const apolloAdapterOptions: ApolloAdapterOptions = {\n apolloAdapterConfig: apolloAdapterConfig,\n loggerOptions: { loggerInstance: logger },\n };\n return createApolloTrackAdapter(apolloAdapterOptions);\n }\n\n /**\n * Starts the screenshot validation process, create/connect to Suite.\n */\n async startSuite(suiteName: string): Promise<void> {\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n await this.screenshotValidation.createIntegrationSuite({ suiteName });\n }\n }\n\n /**\n * Starts the screenshot validation process, create/connect to Scenario.\n */\n async startScenario(scenarioName: string): Promise<void> {\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n await this.screenshotValidation.createIntegrationScenario({ scenarioName });\n }\n }\n\n /**\n * Stops the scenario.\n */\n async stopScenario(): Promise<void> {\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n await this.screenshotValidation.stopIntegrationScenario();\n }\n }\n\n /**\n * Submits a specific image for tracking and validation.\n * @param name The name identifier for the image.\n * @param imageBase64 The image content in Base64 format.\n * @param trackImageOptions Optional additional parameters for image tracking.\n * @returns {IntegrationStep} The result of the tracking operation.\n */\n async track(trackOptions: TrackOptions): Promise<IntegrationStep> {\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n const payload: CreateIntegrationStepPayload = CreateIntegrationStepPayloadSchema.parse({\n ...trackOptions,\n });\n return await this.screenshotValidation.createIntegrationStep(payload);\n }\n return null;\n }\n}\n"]}
1
+ {"version":3,"file":"wopeeService.js","sourceRoot":"","sources":["../../../lib/domain/service/wopeeService.ts"],"names":[],"mappings":"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","sourcesContent":["import { TrackOptions } from '../../core/domain/valueObjects/track.interface.js';\nimport { ClientSideOperationPort } from '../../core/ports/clientSideOperationPort.js';\nimport { DesktopBrowserClientOperationAdapter } from '../../infrastructure/adapters/desktopBrowserClientOperationAdapter/desktopBrowserClientOperationAdapter.js';\nimport { WdioLoggerAdapter } from '../../infrastructure/adapters/wdioLoggerAdapter/wdioLoggerAdapter.js';\nimport { WopeeServiceOptions } from '../model/config.interface.js';\nimport { loadConfig } from './configurationService.js';\nimport {\n ApolloAdapter,\n ApolloAdapterConfig,\n ApolloAdapterOptions,\n CreateIntegrationStepPayload,\n CreateIntegrationStepPayloadSchema,\n IntegrationStep,\n createApolloTrackAdapter,\n} from '@autonomous-testing/sdk';\n\nexport class WopeeService {\n private _config: WopeeServiceOptions = null;\n screenshotValidation: ApolloAdapter;\n clientSideScript: ClientSideOperationPort;\n\n constructor(options: WopeeServiceOptions) {\n this._config = loadConfig(options);\n\n this.clientSideScript = new DesktopBrowserClientOperationAdapter();\n\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n this.screenshotValidation = this._createApolloTrackAdapter();\n }\n }\n\n get config(): WopeeServiceOptions {\n return this._config;\n }\n\n /**\n * Creates an ApolloTrackAdapter for tracking and validating screenshots.\n * @returns {ApolloTrackAdapter} The initialized tracking adapter.\n */\n private _createApolloTrackAdapter(): ApolloAdapter {\n const apolloAdapterConfig: ApolloAdapterConfig = {\n apiKey: this._config.screenshotValidation.apiKey,\n apiUrl: this._config.screenshotValidation.apiUrl,\n branchName: this._config.screenshotValidation?.branchName,\n enableSoftAssert: this._config.screenshotValidation?.enableSoftAssert,\n projectUuid: this._config.screenshotValidation.projectUuid,\n browser: this._config.screenshotValidation?.browser,\n comment: this._config.screenshotValidation?.comment,\n device: this._config.screenshotValidation?.device,\n os: this._config.screenshotValidation?.os,\n pixelToPixelDiffTolerance: this._config.screenshotValidation.pixelToPixelDiffTolerance,\n viewport: this._config.screenshotValidation?.viewport,\n customTags: this._config.screenshotValidation?.customTags,\n };\n\n const logger = new WdioLoggerAdapter();\n const apolloAdapterOptions: ApolloAdapterOptions = {\n apolloAdapterConfig: apolloAdapterConfig,\n loggerOptions: { loggerInstance: logger },\n };\n return createApolloTrackAdapter(apolloAdapterOptions);\n }\n\n /**\n * Starts the screenshot validation process, create/connect to Suite.\n */\n async startSuite(suiteName: string): Promise<void> {\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n await this.screenshotValidation.createIntegrationSuite({ suiteName });\n }\n }\n\n /**\n * Starts the screenshot validation process, create/connect to Scenario.\n */\n async startScenario(scenarioName: string): Promise<void> {\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n await this.screenshotValidation.createIntegrationScenario({ scenarioName });\n }\n }\n\n /**\n * Stops the scenario.\n */\n async stopScenario(): Promise<void> {\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n await this.screenshotValidation.stopIntegrationScenario();\n }\n }\n\n /**\n * Submits a specific image for tracking and validation.\n * @param name The name identifier for the image.\n * @param imageBase64 The image content in Base64 format.\n * @param trackImageOptions Optional additional parameters for image tracking.\n * @returns {IntegrationStep} The result of the tracking operation.\n */\n async track(trackOptions: TrackOptions): Promise<IntegrationStep> {\n if (this._config.screenshotValidation.screenshotValidationEnabled) {\n const payload: CreateIntegrationStepPayload = CreateIntegrationStepPayloadSchema.parse({\n ...trackOptions,\n });\n return await this.screenshotValidation.createIntegrationStep(payload);\n }\n return null;\n }\n}\n"]}
package/build/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { TrackElementOptions, TrackFullPageMobileNativeOptions, TrackFullPageOptions, TrackImageOptions, TrackViewportOptions } from './core/domain/valueObjects/track.interface.js';
2
2
  import { ScreenshotOutput } from './desktopBrowser/index.js';
3
3
  import WdioImageComparisonService from './domain/service/webdriverService.js';
4
+ import { WdioLoggerAdapter } from './infrastructure/adapters/wdioLoggerAdapter/wdioLoggerAdapter.js';
5
+ import { ApolloAdapter, ApolloAdapterConfig, ApolloAdapterConfigSchema, ApolloAdapterOptions, CreateIntegrationScenarioPayload, CreateIntegrationScenarioPayloadSchema, CreateIntegrationStepPayload, CreateIntegrationStepPayloadSchema, CreateIntegrationSuitePayload, CreateIntegrationSuitePayloadSchema, IntegrationScenario, IntegrationStep, IntegrationSuite, createApolloTrackAdapter } from '@autonomous-testing/sdk';
4
6
  /**
5
7
  * Extends the WebdriverIO namespace with additional methods for tracking images.
6
8
  */
@@ -56,4 +58,5 @@ declare global {
56
58
  }
57
59
  }
58
60
  export default WdioImageComparisonService;
61
+ export { CreateIntegrationScenarioPayload, CreateIntegrationScenarioPayloadSchema, CreateIntegrationStepPayload, CreateIntegrationStepPayloadSchema, CreateIntegrationSuitePayload, CreateIntegrationSuitePayloadSchema, IntegrationScenario, IntegrationStep, IntegrationSuite, createApolloTrackAdapter, ApolloAdapterConfig, ApolloAdapter, ApolloAdapterConfigSchema, WdioLoggerAdapter, ApolloAdapterOptions, };
59
62
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gCAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAE9E;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,WAAW,CAAC;QACpB,UAAU,OAAO;YACf,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACnD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;YAE9B;;;;;eAKG;YACH,YAAY,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAElF;;;;;eAKG;YACH,WAAW,CAAC,wBAAwB,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAEvF;;;;;eAKG;YACH,mBAAmB,CAAC,0BAA0B,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAEjG;;;;;eAKG;YACH,UAAU,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAE5E;;;;;eAKG;YACH,yBAAyB,CACvB,gCAAgC,EAAE,gCAAgC,GACjE,OAAO,CAAC,gBAAgB,CAAC,CAAC;SAC9B;QAED,UAAU,OAAO;SAAG;QAEpB,UAAU,YAAY;YACpB,kBAAkB,CAAC,EAAE;gBACnB,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC;SACH;KACF;CACF;AAGD,eAAe,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gCAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AACrG,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,gCAAgC,EAChC,sCAAsC,EACtC,4BAA4B,EAC5B,kCAAkC,EAClC,6BAA6B,EAC7B,mCAAmC,EACnC,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,WAAW,CAAC;QACpB,UAAU,OAAO;YACf,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACnD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;YAE9B;;;;;eAKG;YACH,YAAY,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAElF;;;;;eAKG;YACH,WAAW,CAAC,wBAAwB,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAEvF;;;;;eAKG;YACH,mBAAmB,CAAC,0BAA0B,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAEjG;;;;;eAKG;YACH,UAAU,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAE5E;;;;;eAKG;YACH,yBAAyB,CACvB,gCAAgC,EAAE,gCAAgC,GACjE,OAAO,CAAC,gBAAgB,CAAC,CAAC;SAC9B;QAED,UAAU,OAAO;SAAG;QAEpB,UAAU,YAAY;YACpB,kBAAkB,CAAC,EAAE;gBACnB,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC;SACH;KACF;CACF;AAGD,eAAe,0BAA0B,CAAC;AAE1C,OAAO,EACL,gCAAgC,EAChC,sCAAsC,EACtC,4BAA4B,EAC5B,kCAAkC,EAClC,6BAA6B,EAC7B,mCAAmC,EACnC,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,GACrB,CAAC"}
package/build/index.js CHANGED
@@ -1,4 +1,7 @@
1
1
  import WdioImageComparisonService from './domain/service/webdriverService.js';
2
+ import { WdioLoggerAdapter } from './infrastructure/adapters/wdioLoggerAdapter/wdioLoggerAdapter.js';
3
+ import { ApolloAdapter, ApolloAdapterConfigSchema, CreateIntegrationScenarioPayloadSchema, CreateIntegrationStepPayloadSchema, CreateIntegrationSuitePayloadSchema, createApolloTrackAdapter, } from '@autonomous-testing/sdk';
2
4
  // Export the extended WebdriverIO namespace with added image tracking methods
3
5
  export default WdioImageComparisonService;
6
+ export { CreateIntegrationScenarioPayloadSchema, CreateIntegrationStepPayloadSchema, CreateIntegrationSuitePayloadSchema, createApolloTrackAdapter, ApolloAdapter, ApolloAdapterConfigSchema, WdioLoggerAdapter, };
4
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAQA,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAkE9E,8EAA8E;AAC9E,eAAe,0BAA0B,CAAC","sourcesContent":["import {\n TrackElementOptions,\n TrackFullPageMobileNativeOptions,\n TrackFullPageOptions,\n TrackImageOptions,\n TrackViewportOptions,\n} from './core/domain/valueObjects/track.interface.js';\nimport { ScreenshotOutput } from './desktopBrowser/index.js';\nimport WdioImageComparisonService from './domain/service/webdriverService.js';\n\n/**\n * Extends the WebdriverIO namespace with additional methods for tracking images.\n */\ndeclare global {\n // eslint-disable-next-line\n namespace WebdriverIO {\n interface Browser {\n startSuite(suiteName: string): Promise<void>;\n startScenario(scenarioName: string): Promise<void>;\n stopScenario(): Promise<void>;\n\n /**\n * Tracks an image of an element.\n *\n * @param {TrackElementOptions} [trackElementOptions] - Options for tracking the element image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackElement(trackElementOptions: TrackElementOptions): Promise<ScreenshotOutput>;\n\n /**\n * Tracks an image of the viewport.\n *\n * @param {TrackViewportOptions} [trackScreenOptions] - Options for tracking the screen image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackScreen(nametrackViewportOptions: TrackViewportOptions): Promise<ScreenshotOutput>;\n\n /**\n * Tracks an image of the complete screen.\n *\n * @param {TrackFullPageOptions} [trackFullPageScreenOptions] - Options for tracking the full page image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackFullPageScreen(trackFullPageScreenOptions: TrackFullPageOptions): Promise<ScreenshotOutput>;\n\n /**\n * Tracks an image of the complete screen.\n *\n * @param {TrackImageOptions} [trackImageOptions] - Options for tracking the full page image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackImage(trackImageOptions: TrackImageOptions): Promise<ScreenshotOutput>;\n\n /**\n * Tracks an image of the complete screen.\n *\n * @param {TrackFullPageMobileNativeOptions} [trackFullPageScreenOptions] - Options for tracking the full page image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackFullPageMobileNative(\n trackFullPageMobileNativeOptions: TrackFullPageMobileNativeOptions,\n ): Promise<ScreenshotOutput>;\n }\n\n interface Element {}\n\n interface Capabilities {\n 'wdio-ics:options'?: {\n logName?: string;\n };\n }\n }\n}\n\n// Export the extended WebdriverIO namespace with added image tracking methods\nexport default WdioImageComparisonService;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAQA,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AACrG,OAAO,EACL,aAAa,EAEb,yBAAyB,EAGzB,sCAAsC,EAEtC,kCAAkC,EAElC,mCAAmC,EAInC,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAkEjC,8EAA8E;AAC9E,eAAe,0BAA0B,CAAC;AAE1C,OAAO,EAEL,sCAAsC,EAEtC,kCAAkC,EAElC,mCAAmC,EAInC,wBAAwB,EAExB,aAAa,EACb,yBAAyB,EACzB,iBAAiB,GAElB,CAAC","sourcesContent":["import {\n TrackElementOptions,\n TrackFullPageMobileNativeOptions,\n TrackFullPageOptions,\n TrackImageOptions,\n TrackViewportOptions,\n} from './core/domain/valueObjects/track.interface.js';\nimport { ScreenshotOutput } from './desktopBrowser/index.js';\nimport WdioImageComparisonService from './domain/service/webdriverService.js';\nimport { WdioLoggerAdapter } from './infrastructure/adapters/wdioLoggerAdapter/wdioLoggerAdapter.js';\nimport {\n ApolloAdapter,\n ApolloAdapterConfig,\n ApolloAdapterConfigSchema,\n ApolloAdapterOptions,\n CreateIntegrationScenarioPayload,\n CreateIntegrationScenarioPayloadSchema,\n CreateIntegrationStepPayload,\n CreateIntegrationStepPayloadSchema,\n CreateIntegrationSuitePayload,\n CreateIntegrationSuitePayloadSchema,\n IntegrationScenario,\n IntegrationStep,\n IntegrationSuite,\n createApolloTrackAdapter,\n} from '@autonomous-testing/sdk';\n\n/**\n * Extends the WebdriverIO namespace with additional methods for tracking images.\n */\ndeclare global {\n // eslint-disable-next-line\n namespace WebdriverIO {\n interface Browser {\n startSuite(suiteName: string): Promise<void>;\n startScenario(scenarioName: string): Promise<void>;\n stopScenario(): Promise<void>;\n\n /**\n * Tracks an image of an element.\n *\n * @param {TrackElementOptions} [trackElementOptions] - Options for tracking the element image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackElement(trackElementOptions: TrackElementOptions): Promise<ScreenshotOutput>;\n\n /**\n * Tracks an image of the viewport.\n *\n * @param {TrackViewportOptions} [trackScreenOptions] - Options for tracking the screen image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackScreen(nametrackViewportOptions: TrackViewportOptions): Promise<ScreenshotOutput>;\n\n /**\n * Tracks an image of the complete screen.\n *\n * @param {TrackFullPageOptions} [trackFullPageScreenOptions] - Options for tracking the full page image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackFullPageScreen(trackFullPageScreenOptions: TrackFullPageOptions): Promise<ScreenshotOutput>;\n\n /**\n * Tracks an image of the complete screen.\n *\n * @param {TrackImageOptions} [trackImageOptions] - Options for tracking the full page image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackImage(trackImageOptions: TrackImageOptions): Promise<ScreenshotOutput>;\n\n /**\n * Tracks an image of the complete screen.\n *\n * @param {TrackFullPageMobileNativeOptions} [trackFullPageScreenOptions] - Options for tracking the full page image.\n * @returns {Promise<ScreenshotOutput>} - A promise that resolves to the output of the track operation.\n */\n trackFullPageMobileNative(\n trackFullPageMobileNativeOptions: TrackFullPageMobileNativeOptions,\n ): Promise<ScreenshotOutput>;\n }\n\n interface Element {}\n\n interface Capabilities {\n 'wdio-ics:options'?: {\n logName?: string;\n };\n }\n }\n}\n\n// Export the extended WebdriverIO namespace with added image tracking methods\nexport default WdioImageComparisonService;\n\nexport {\n CreateIntegrationScenarioPayload,\n CreateIntegrationScenarioPayloadSchema,\n CreateIntegrationStepPayload,\n CreateIntegrationStepPayloadSchema,\n CreateIntegrationSuitePayload,\n CreateIntegrationSuitePayloadSchema,\n IntegrationScenario,\n IntegrationStep,\n IntegrationSuite,\n createApolloTrackAdapter,\n ApolloAdapterConfig,\n ApolloAdapter,\n ApolloAdapterConfigSchema,\n WdioLoggerAdapter,\n ApolloAdapterOptions,\n};\n"]}
@@ -6,8 +6,8 @@ import { execSync } from 'child_process';
6
6
  * @param logger - WebdriverIO Logger instance for logging.
7
7
  */
8
8
  const logVersionMetadata = (logger) => {
9
- let hash = "c01aeb5ab19fb7b425fd0af9d1e20675336427fc"
10
- let version = "4.6.0"
9
+ let hash = "5d132ed77b72bc99cd18d1b4c9288f61c3ccb99c"
10
+ let version = "5.0.1"
11
11
  // If version is not "__LOCAL__," get it from npm package
12
12
  if (version === '__LOCAL__') {
13
13
  version = process.env['npm_package_version'] || '__LOCAL__';
@@ -16,9 +16,9 @@ export interface WopeeServiceOptions {
16
16
  screenshotValidation?: VrtAdapterOptions;
17
17
 
18
18
  /**
19
- * Cropping options.
19
+ * Image processing options.
20
20
  */
21
- cropping?: CroppingOptions;
21
+ imageProcessing?: ImageProcessingOptions;
22
22
 
23
23
  /**
24
24
  * Landscape or portrait.
@@ -201,25 +201,16 @@ export const DEFAULT_VRT_ADAPTER_OPTIONS: Partial<VrtAdapterOptions> = {
201
201
  and
202
202
 
203
203
  ```typescript
204
- export interface CroppingOptions {
205
- xCropLeft?: number;
206
- xCropRight?: number;
207
- yCropTop?: number;
208
- yCropBottom?: number;
204
+ interface ImageProcessingOptions {
205
+ maskColor: z.string().default('black'),
206
+ mode: z.enum(['masking', 'cropping', 'none']).default('none'),
207
+ xLeft: z.number().default(0),
208
+ xRight: z.number().default(0),
209
+ yBottom: z.number().default(0),
210
+ yTop: z.number().default(0),
209
211
  }
210
212
  ```
211
213
 
212
- with default values of
213
-
214
- ```typescript
215
- const DEFAULT_LOCAL_SAVE_SCREENSHOT_OPTIONS: Partial<CroppingOptions> = {
216
- xCropLeft: 0,
217
- xCropRight: 0,
218
- yCropTop: 0,
219
- yCropBottom: 0,
220
- };
221
- ```
222
-
223
214
  ## WebdriverIO level configuration
224
215
 
225
216
  Simple add `wopee` service with respective confutation described in section [Service level configuration](#service-level-configuration)
@@ -87,7 +87,9 @@ jobs:
87
87
 
88
88
  - name: Int tests
89
89
  shell: bash
90
- run: make test.int
90
+ run: |
91
+ echo no-test
92
+ # make test.int
91
93
 
92
94
  build:
93
95
  needs: [npm-clean-install]
@@ -8,6 +8,8 @@ declare const CreateIntegrationStepPayloadSchema: z.ZodObject<{
8
8
  scenarioName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
9
  suiteName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10
10
  viewport: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
+ pageContentBase64: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12
+ baselineBranchName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
13
  }, "strip", z.ZodTypeAny, {
12
14
  imageBase64: string;
13
15
  stepName: string;
@@ -17,6 +19,8 @@ declare const CreateIntegrationStepPayloadSchema: z.ZodObject<{
17
19
  customTags?: string | null | undefined;
18
20
  pixelToPixelDiffTolerance?: number | null | undefined;
19
21
  viewport?: string | null | undefined;
22
+ pageContentBase64?: string | null | undefined;
23
+ baselineBranchName?: string | null | undefined;
20
24
  }, {
21
25
  imageBase64: string;
22
26
  stepName: string;
@@ -26,6 +30,8 @@ declare const CreateIntegrationStepPayloadSchema: z.ZodObject<{
26
30
  customTags?: string | null | undefined;
27
31
  pixelToPixelDiffTolerance?: number | null | undefined;
28
32
  viewport?: string | null | undefined;
33
+ pageContentBase64?: string | null | undefined;
34
+ baselineBranchName?: string | null | undefined;
29
35
  }>;
30
36
  type CreateIntegrationStepPayload = z.infer<typeof CreateIntegrationStepPayloadSchema>;
31
37
  export { CreateIntegrationStepPayload, CreateIntegrationStepPayloadSchema };
@@ -11,6 +11,8 @@ const CreateIntegrationStepPayloadSchema = zod_1.z.object({
11
11
  scenarioName: zod_1.z.string().nullable().optional(),
12
12
  suiteName: zod_1.z.string().nullable().optional(),
13
13
  viewport: zod_1.z.string().nullable().optional(),
14
+ pageContentBase64: zod_1.z.string().nullable().optional(),
15
+ baselineBranchName: zod_1.z.string().nullable().optional(),
14
16
  });
15
17
  exports.CreateIntegrationStepPayloadSchema = CreateIntegrationStepPayloadSchema;
16
18
  //# sourceMappingURL=createIntegrationStepPayload.interface.js.map
@@ -1,14 +1,10 @@
1
- import { CreateIntegrationScenarioPayload } from './createIntegrationScenarioPayload.interface';
2
- import { CreateIntegrationScenarioPayloadSchema } from './createIntegrationScenarioPayload.interface';
3
- import { CreateIntegrationStepPayload } from './createIntegrationStepPayload.interface';
4
- import { CreateIntegrationStepPayloadSchema } from './createIntegrationStepPayload.interface';
5
- import { CreateIntegrationSuitePayload } from './createIntegrationSuitePayload.interface';
6
- import { CreateIntegrationSuitePayloadSchema } from './createIntegrationSuitePayload.interface';
7
- import { IntegrationScenario } from './integrationScenario.interface';
8
- import { IntegrationScenarioSchema } from './integrationScenario.interface';
9
- import { IntegrationStep } from './integrationStep.interface';
10
- import { IntegrationStepSchema } from './integrationStep.interface';
11
- import { IntegrationSuite } from './integrationSuite.interface';
12
- import { IntegrationSuiteSchema } from './integrationSuite.interface';
13
- export { CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationScenarioPayloadSchema, CreateIntegrationStepPayloadSchema, CreateIntegrationSuitePayloadSchema, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationScenarioSchema, IntegrationStepSchema, IntegrationSuiteSchema, IntegrationSuite, };
1
+ import { CreateIntegrationScenarioPayload, CreateIntegrationScenarioPayloadSchema } from './createIntegrationScenarioPayload.interface';
2
+ import { CreateIntegrationStepPayload, CreateIntegrationStepPayloadSchema } from './createIntegrationStepPayload.interface';
3
+ import { CreateIntegrationSuitePayload, CreateIntegrationSuitePayloadSchema } from './createIntegrationSuitePayload.interface';
4
+ import { IntegrationScenario, IntegrationScenarioSchema } from './integrationScenario.interface';
5
+ import { IntegrationStep, IntegrationStepSchema } from './integrationStep.interface';
6
+ import { IntegrationSuite, IntegrationSuiteSchema } from './integrationSuite.interface';
7
+ import { VisualAssert, VisualAssertSchema } from './visualAssert.interface';
8
+ import { VisualAssertPayload, VisualAssertPayloadSchema } from './visualAssertPayload.interface';
9
+ export { CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationScenarioPayloadSchema, CreateIntegrationStepPayloadSchema, CreateIntegrationSuitePayloadSchema, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationScenarioSchema, IntegrationStepSchema, IntegrationSuiteSchema, IntegrationSuite, VisualAssert, VisualAssertSchema, VisualAssertPayload, VisualAssertPayloadSchema, };
14
10
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IntegrationSuiteSchema = exports.IntegrationStepSchema = exports.IntegrationScenarioSchema = exports.CreateIntegrationSuitePayloadSchema = exports.CreateIntegrationStepPayloadSchema = exports.CreateIntegrationScenarioPayloadSchema = void 0;
3
+ exports.VisualAssertPayloadSchema = exports.VisualAssertSchema = exports.IntegrationSuiteSchema = exports.IntegrationStepSchema = exports.IntegrationScenarioSchema = exports.CreateIntegrationSuitePayloadSchema = exports.CreateIntegrationStepPayloadSchema = exports.CreateIntegrationScenarioPayloadSchema = void 0;
4
4
  const createIntegrationScenarioPayload_interface_1 = require("./createIntegrationScenarioPayload.interface");
5
5
  Object.defineProperty(exports, "CreateIntegrationScenarioPayloadSchema", { enumerable: true, get: function () { return createIntegrationScenarioPayload_interface_1.CreateIntegrationScenarioPayloadSchema; } });
6
6
  const createIntegrationStepPayload_interface_1 = require("./createIntegrationStepPayload.interface");
@@ -13,4 +13,8 @@ const integrationStep_interface_1 = require("./integrationStep.interface");
13
13
  Object.defineProperty(exports, "IntegrationStepSchema", { enumerable: true, get: function () { return integrationStep_interface_1.IntegrationStepSchema; } });
14
14
  const integrationSuite_interface_1 = require("./integrationSuite.interface");
15
15
  Object.defineProperty(exports, "IntegrationSuiteSchema", { enumerable: true, get: function () { return integrationSuite_interface_1.IntegrationSuiteSchema; } });
16
+ const visualAssert_interface_1 = require("./visualAssert.interface");
17
+ Object.defineProperty(exports, "VisualAssertSchema", { enumerable: true, get: function () { return visualAssert_interface_1.VisualAssertSchema; } });
18
+ const visualAssertPayload_interface_1 = require("./visualAssertPayload.interface");
19
+ Object.defineProperty(exports, "VisualAssertPayloadSchema", { enumerable: true, get: function () { return visualAssertPayload_interface_1.VisualAssertPayloadSchema; } });
16
20
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ declare enum VisualAssertStatus {
3
+ passed = "passed",
4
+ failed = "failed"
5
+ }
6
+ declare const VisualAssertStatusSchema: z.ZodNativeEnum<typeof VisualAssertStatus>;
7
+ declare const VisualAssertSchema: z.ZodObject<{
8
+ status: z.ZodNativeEnum<typeof VisualAssertStatus>;
9
+ confidence: z.ZodNumber;
10
+ message: z.ZodString;
11
+ }, "strip", z.ZodTypeAny, {
12
+ message: string;
13
+ status: VisualAssertStatus;
14
+ confidence: number;
15
+ }, {
16
+ message: string;
17
+ status: VisualAssertStatus;
18
+ confidence: number;
19
+ }>;
20
+ type VisualAssert = z.infer<typeof VisualAssertSchema>;
21
+ export { VisualAssertStatus, VisualAssertStatusSchema, VisualAssert, VisualAssertSchema };
22
+ //# sourceMappingURL=visualAssert.interface.d.ts.map
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VisualAssertSchema = exports.VisualAssertStatusSchema = exports.VisualAssertStatus = void 0;
4
+ const zod_1 = require("zod");
5
+ var VisualAssertStatus;
6
+ (function (VisualAssertStatus) {
7
+ VisualAssertStatus["passed"] = "passed";
8
+ VisualAssertStatus["failed"] = "failed";
9
+ })(VisualAssertStatus || (exports.VisualAssertStatus = VisualAssertStatus = {}));
10
+ const VisualAssertStatusSchema = zod_1.z.nativeEnum(VisualAssertStatus);
11
+ exports.VisualAssertStatusSchema = VisualAssertStatusSchema;
12
+ const VisualAssertSchema = zod_1.z.object({
13
+ status: VisualAssertStatusSchema,
14
+ confidence: zod_1.z.number(),
15
+ message: zod_1.z.string(),
16
+ });
17
+ exports.VisualAssertSchema = VisualAssertSchema;
18
+ //# sourceMappingURL=visualAssert.interface.js.map
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ declare const VisualAssertPayloadSchema: z.ZodObject<{
3
+ context: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4
+ prompt: z.ZodString;
5
+ imageBase64: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ prompt: string;
8
+ imageBase64: string;
9
+ context?: string | null | undefined;
10
+ }, {
11
+ prompt: string;
12
+ imageBase64: string;
13
+ context?: string | null | undefined;
14
+ }>;
15
+ type VisualAssertPayload = z.infer<typeof VisualAssertPayloadSchema>;
16
+ export { VisualAssertPayload, VisualAssertPayloadSchema };
17
+ //# sourceMappingURL=visualAssertPayload.interface.d.ts.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VisualAssertPayloadSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const VisualAssertPayloadSchema = zod_1.z.object({
6
+ context: zod_1.z.string().nullable().optional(),
7
+ prompt: zod_1.z.string(),
8
+ imageBase64: zod_1.z.string(),
9
+ });
10
+ exports.VisualAssertPayloadSchema = VisualAssertPayloadSchema;
11
+ //# sourceMappingURL=visualAssertPayload.interface.js.map
@@ -1,4 +1,4 @@
1
- import { CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationSuite } from '../domain/entities';
1
+ import { CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationSuite, VisualAssert, VisualAssertPayload } from '../domain/entities';
2
2
  export declare abstract class ApiPort {
3
3
  /** ApiPort is an abstract base class providing a template for integration management.
4
4
  * This class includes methods for starting and stopping integration suites and scenarios,
@@ -12,5 +12,6 @@ export declare abstract class ApiPort {
12
12
  abstract createIntegrationScenario(payload: CreateIntegrationScenarioPayload): Promise<IntegrationScenario>;
13
13
  abstract stopIntegrationScenario(): Promise<void>;
14
14
  abstract createIntegrationStep(payload: CreateIntegrationStepPayload): Promise<IntegrationStep>;
15
+ abstract visualAssert(payload: VisualAssertPayload): Promise<VisualAssert>;
15
16
  }
16
17
  //# sourceMappingURL=api.d.ts.map
@@ -1,4 +1,4 @@
1
- import { ApiPort, CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationSuite, LoggerPort } from '../../../core';
1
+ import { ApiPort, CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationSuite, LoggerPort, VisualAssert, VisualAssertPayload } from '../../../core';
2
2
  import { ApolloAdapterConfig } from './interface';
3
3
  declare class ApolloAdapter extends ApiPort {
4
4
  private _config;
@@ -14,6 +14,7 @@ declare class ApolloAdapter extends ApiPort {
14
14
  createIntegrationScenario(payload: CreateIntegrationScenarioPayload): Promise<IntegrationScenario>;
15
15
  stopIntegrationScenario(): Promise<void>;
16
16
  createIntegrationStep(payload: CreateIntegrationStepPayload): Promise<IntegrationStep>;
17
+ visualAssert(payload: VisualAssertPayload): Promise<VisualAssert>;
17
18
  }
18
19
  export { ApolloAdapter };
19
20
  //# sourceMappingURL=adapter.d.ts.map
@@ -118,6 +118,16 @@ class ApolloAdapter extends core_1.ApiPort {
118
118
  this._logger.info(`Tracking response: ${JSON.stringify(integrationStep)}`);
119
119
  return integrationStep;
120
120
  }
121
+ async visualAssert(payload) {
122
+ const query = mutations_1.visualAssertMutation;
123
+ const variables = (0, factories_1.visualAssertApolloPayloadFactory)(this._config, payload);
124
+ const response = await this._post(query, variables);
125
+ const data = response.data.data.visualAssert;
126
+ const visualAssertApolloResponse = interface_1.VisualAssertApolloResponseSchema.parse(data);
127
+ const visualAssert = (0, factories_1.visualAssertFactory)(visualAssertApolloResponse);
128
+ this._logger.info(`Visual assertion: ${JSON.stringify(visualAssert)}`);
129
+ return visualAssert;
130
+ }
121
131
  }
122
132
  exports.ApolloAdapter = ApolloAdapter;
123
133
  //# sourceMappingURL=adapter.js.map
@@ -1,9 +1,11 @@
1
- import { CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationSuite } from '../../../core';
2
- import { ApolloAdapterConfig, CreateIntegrationScenarioApolloPayload, CreateIntegrationStepApolloPayload, CreateIntegrationStepApolloResponse, CreateIntegrationSuiteApolloPayload, StopIntegrationScenarioApolloPayload } from './interface';
1
+ import { CreateIntegrationScenarioPayload, CreateIntegrationStepPayload, CreateIntegrationSuitePayload, IntegrationScenario, IntegrationStep, IntegrationSuite, VisualAssert, VisualAssertPayload } from '../../../core';
2
+ import { ApolloAdapterConfig, CreateIntegrationScenarioApolloPayload, CreateIntegrationStepApolloPayload, CreateIntegrationStepApolloResponse, CreateIntegrationSuiteApolloPayload, StopIntegrationScenarioApolloPayload, VisualAssertApolloPayload, VisualAssertApolloResponse } from './interface';
3
3
  declare function createIntegrationSuiteApolloPayloadFactory(config: ApolloAdapterConfig, createIntegrationSuitePayload: CreateIntegrationSuitePayload): CreateIntegrationSuiteApolloPayload;
4
4
  declare function createIntegrationScenarioApolloPayloadFactory(config: ApolloAdapterConfig, integrationSuite: IntegrationSuite, createIntegrationScenarioPayload: CreateIntegrationScenarioPayload): CreateIntegrationScenarioApolloPayload;
5
5
  declare function stopIntegrationScenarioApolloPayloadFactory(config: ApolloAdapterConfig, integrationScenario: IntegrationScenario): StopIntegrationScenarioApolloPayload;
6
6
  declare function createIntegrationStepApolloPayloadFactory(config: ApolloAdapterConfig, integrationScenario: IntegrationScenario, createIntegrationStepPayload: CreateIntegrationStepPayload): CreateIntegrationStepApolloPayload;
7
7
  declare function integrationStepFactory(createIntegrationStepApolloResponse: CreateIntegrationStepApolloResponse): IntegrationStep;
8
- export { createIntegrationSuiteApolloPayloadFactory, createIntegrationScenarioApolloPayloadFactory, stopIntegrationScenarioApolloPayloadFactory, createIntegrationStepApolloPayloadFactory, integrationStepFactory, };
8
+ declare function visualAssertApolloPayloadFactory(config: ApolloAdapterConfig, visualAssertPayload: VisualAssertPayload): VisualAssertApolloPayload;
9
+ declare function visualAssertFactory(visualAssertApolloResponse: VisualAssertApolloResponse): VisualAssert;
10
+ export { createIntegrationSuiteApolloPayloadFactory, createIntegrationScenarioApolloPayloadFactory, stopIntegrationScenarioApolloPayloadFactory, createIntegrationStepApolloPayloadFactory, integrationStepFactory, visualAssertApolloPayloadFactory, visualAssertFactory, };
9
11
  //# sourceMappingURL=factories.d.ts.map
@@ -5,6 +5,8 @@ exports.createIntegrationScenarioApolloPayloadFactory = createIntegrationScenari
5
5
  exports.stopIntegrationScenarioApolloPayloadFactory = stopIntegrationScenarioApolloPayloadFactory;
6
6
  exports.createIntegrationStepApolloPayloadFactory = createIntegrationStepApolloPayloadFactory;
7
7
  exports.integrationStepFactory = integrationStepFactory;
8
+ exports.visualAssertApolloPayloadFactory = visualAssertApolloPayloadFactory;
9
+ exports.visualAssertFactory = visualAssertFactory;
8
10
  const core_1 = require("../../../core");
9
11
  const shared_1 = require("../../../shared");
10
12
  const interface_1 = require("./interface");
@@ -100,12 +102,14 @@ function createIntegrationStepApolloPayloadFactory(config, integrationScenario,
100
102
  os: config.os,
101
103
  pixelToPixelDiffTolerance: config.pixelToPixelDiffTolerance,
102
104
  viewport: config.viewport,
105
+ baselineBranchName: config.baselineBranchName,
103
106
  });
104
107
  const localConfigPayload = (0, shared_1.filterNoneValues)({
105
108
  comment: createIntegrationStepPayload.comment,
106
109
  customTags: createIntegrationStepPayload.customTags,
107
110
  pixelToPixelDiffTolerance: createIntegrationStepPayload.pixelToPixelDiffTolerance,
108
111
  viewport: createIntegrationStepPayload.viewport,
112
+ baselineBranchName: createIntegrationStepPayload.baselineBranchName,
109
113
  });
110
114
  const rawConfigPayload = (0, shared_1.mergeDicts)(globalConfigPayload, localConfigPayload);
111
115
  const configPayload = interface_1.CreateIntegrationStepConfigApolloPayloadSchema.parse(rawConfigPayload);
@@ -120,6 +124,8 @@ function createIntegrationStepApolloPayloadFactory(config, integrationScenario,
120
124
  stepName: createIntegrationStepPayload.stepName,
121
125
  trackName: `${integrationScenario.name}-${createIntegrationStepPayload.stepName}`,
122
126
  viewport: configPayload.viewport,
127
+ pageContentBase64: createIntegrationStepPayload.pageContentBase64,
128
+ baselineBranchName: configPayload.baselineBranchName,
123
129
  });
124
130
  }
125
131
  function integrationStepFactory(createIntegrationStepApolloResponse) {
@@ -141,4 +147,21 @@ function integrationStepFactory(createIntegrationStepApolloResponse) {
141
147
  status: createIntegrationStepApolloResponse.status,
142
148
  });
143
149
  }
150
+ function visualAssertApolloPayloadFactory(config, visualAssertPayload) {
151
+ return interface_1.VisualAssertApolloPayloadSchema.parse({
152
+ input: {
153
+ imageBase64: visualAssertPayload.imageBase64,
154
+ context: visualAssertPayload.context,
155
+ prompt: visualAssertPayload.prompt,
156
+ projectUuid: config.projectUuid,
157
+ },
158
+ });
159
+ }
160
+ function visualAssertFactory(visualAssertApolloResponse) {
161
+ return core_1.VisualAssertSchema.parse({
162
+ status: visualAssertApolloResponse.status,
163
+ confidence: visualAssertApolloResponse.confidence,
164
+ message: visualAssertApolloResponse.message,
165
+ });
166
+ }
144
167
  //# sourceMappingURL=factories.js.map