@gravitee/ui-policy-studio-angular 15.13.0-angular-20-4a9d88b → 15.13.0-fix-cron-e0271bb

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 (171) hide show
  1. package/esm2022/gravitee-ui-policy-studio-angular.mjs +5 -0
  2. package/esm2022/lib/components/filter-pipe/gio-flter-connectors-by-mode.pipe.mjs +43 -0
  3. package/esm2022/lib/components/flow-details/gio-ps-flow-details.component.mjs +184 -0
  4. package/esm2022/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.component.mjs +115 -0
  5. package/esm2022/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.mjs +179 -0
  6. package/esm2022/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.mjs +162 -0
  7. package/esm2022/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.component.mjs +81 -0
  8. package/esm2022/lib/components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.component.mjs +109 -0
  9. package/esm2022/lib/components/flow-form-dialog/flow-native-form-dialog/gio-ps-flow-native-form-dialog.component.mjs +89 -0
  10. package/esm2022/lib/components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.component.mjs +135 -0
  11. package/esm2022/lib/components/flow-form-dialog/gio-ps-flow-form-dialog-result.model.mjs +2 -0
  12. package/esm2022/lib/components/flows-menu/gio-ps-flows-menu.component.mjs +432 -0
  13. package/esm2022/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.mjs +165 -0
  14. package/esm2022/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.component.mjs +53 -0
  15. package/esm2022/lib/components/step-form/gio-ps-step-form.component.mjs +158 -0
  16. package/esm2022/lib/models/ApiProtocolType.mjs +17 -0
  17. package/esm2022/lib/models/ApiType.mjs +17 -0
  18. package/esm2022/lib/models/ConnectorsInfo.mjs +2 -0
  19. package/esm2022/lib/models/PolicySchemaFetcher.mjs +2 -0
  20. package/esm2022/lib/models/SaveOutput.mjs +2 -0
  21. package/esm2022/lib/models/flow/Flow.mjs +2 -0
  22. package/esm2022/lib/models/flow/FlowExecution.mjs +17 -0
  23. package/esm2022/lib/models/flow/HttpMethod.mjs +43 -0
  24. package/esm2022/lib/models/flow/Selector.mjs +2 -0
  25. package/esm2022/lib/models/flow/Step.mjs +2 -0
  26. package/esm2022/lib/models/flow/index.mjs +21 -0
  27. package/esm2022/lib/models/index.mjs +24 -0
  28. package/esm2022/lib/models/plan/Plan.mjs +17 -0
  29. package/esm2022/lib/models/plan/index.mjs +17 -0
  30. package/esm2022/lib/models/policy/GenericPolicy.mjs +24 -0
  31. package/esm2022/lib/models/policy/Policy.mjs +44 -0
  32. package/esm2022/lib/models/policy/SharedPolicyGroupPolicy.mjs +17 -0
  33. package/esm2022/lib/models/policy/index.mjs +19 -0
  34. package/esm2022/lib/policy-group-studio/gio-policy-group-studio.component.mjs +228 -0
  35. package/esm2022/lib/policy-studio/gio-policy-studio.component.mjs +304 -0
  36. package/esm2022/lib/policy-studio/gio-policy-studio.model.mjs +17 -0
  37. package/esm2022/lib/policy-studio/gio-policy-studio.service.mjs +74 -0
  38. package/esm2022/public-api.mjs +22 -0
  39. package/esm2022/testing/gravitee-ui-policy-studio-angular-testing.mjs +5 -0
  40. package/esm2022/testing/lib/components/flow-details/gio-ps-flow-details.harness.mjs +56 -0
  41. package/esm2022/testing/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.harness.mjs +35 -0
  42. package/esm2022/testing/lib/components/flow-details-phase/gio-ps-flow-details-phase.harness.mjs +155 -0
  43. package/esm2022/testing/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.harness.mjs +69 -0
  44. package/esm2022/testing/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.harness.mjs +60 -0
  45. package/esm2022/testing/lib/components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.harness.mjs +128 -0
  46. package/esm2022/testing/lib/components/flow-form-dialog/flow-native-form-dialog/gio-ps-flow-native-form-dialog.harness.mjs +50 -0
  47. package/esm2022/testing/lib/components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.harness.mjs +98 -0
  48. package/esm2022/testing/lib/components/flows-menu/gio-ps-flows-menu.harness.mjs +91 -0
  49. package/esm2022/testing/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness.mjs +87 -0
  50. package/esm2022/testing/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.harness.mjs +30 -0
  51. package/esm2022/testing/lib/components/step-form/gio-ps-step-form.harness.mjs +56 -0
  52. package/esm2022/testing/lib/models/ApiProtocolType.mjs +17 -0
  53. package/esm2022/testing/lib/models/ApiType.mjs +17 -0
  54. package/esm2022/testing/lib/models/ConnectorsInfo.fixture.mjs +182 -0
  55. package/esm2022/testing/lib/models/ConnectorsInfo.mjs +2 -0
  56. package/esm2022/testing/lib/models/PolicySchemaFetcher.mjs +2 -0
  57. package/esm2022/testing/lib/models/SaveOutput.mjs +2 -0
  58. package/esm2022/testing/lib/models/flow/Flow.fixture.mjs +122 -0
  59. package/esm2022/testing/lib/models/flow/Flow.mjs +2 -0
  60. package/esm2022/testing/lib/models/flow/FlowExecution.fixture.mjs +43 -0
  61. package/esm2022/testing/lib/models/flow/FlowExecution.mjs +17 -0
  62. package/esm2022/testing/lib/models/flow/HttpMethod.mjs +43 -0
  63. package/esm2022/testing/lib/models/flow/Selector.mjs +2 -0
  64. package/esm2022/testing/lib/models/flow/Step.fixture.mjs +92 -0
  65. package/esm2022/testing/lib/models/flow/Step.mjs +2 -0
  66. package/esm2022/testing/lib/models/flow/index-testing.mjs +19 -0
  67. package/esm2022/testing/lib/models/flow/index.mjs +21 -0
  68. package/esm2022/testing/lib/models/index-testing.mjs +20 -0
  69. package/esm2022/testing/lib/models/index.mjs +24 -0
  70. package/esm2022/testing/lib/models/plan/Plan.fixture.mjs +31 -0
  71. package/esm2022/testing/lib/models/plan/Plan.mjs +17 -0
  72. package/esm2022/testing/lib/models/plan/index-testing.mjs +17 -0
  73. package/esm2022/testing/lib/models/plan/index.mjs +17 -0
  74. package/esm2022/testing/lib/models/policy/GenericPolicy.mjs +24 -0
  75. package/esm2022/testing/lib/models/policy/Policy.fixture.mjs +194 -0
  76. package/esm2022/testing/lib/models/policy/Policy.mjs +44 -0
  77. package/esm2022/testing/lib/models/policy/SharedPolicyGroupPolicy.mjs +17 -0
  78. package/esm2022/testing/lib/models/policy/index-testing.mjs +17 -0
  79. package/esm2022/testing/lib/models/policy/index.mjs +19 -0
  80. package/esm2022/testing/lib/policy-group-studio/gio-policy-group-studio.harness.mjs +52 -0
  81. package/esm2022/testing/lib/policy-studio/gio-policy-studio.harness.mjs +202 -0
  82. package/esm2022/testing/lib/policy-studio/gio-policy-studio.model.mjs +17 -0
  83. package/esm2022/testing/public-testing-api.mjs +19 -0
  84. package/fesm2022/gravitee-ui-policy-studio-angular-testing.mjs +1 -1
  85. package/fesm2022/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
  86. package/fesm2022/gravitee-ui-policy-studio-angular.mjs +95 -92
  87. package/fesm2022/gravitee-ui-policy-studio-angular.mjs.map +1 -1
  88. package/index.d.ts +3 -404
  89. package/lib/components/filter-pipe/gio-flter-connectors-by-mode.pipe.d.ts +8 -0
  90. package/lib/components/flow-details/gio-ps-flow-details.component.d.ts +29 -0
  91. package/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.component.d.ts +20 -0
  92. package/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.d.ts +47 -0
  93. package/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.d.ts +33 -0
  94. package/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.component.d.ts +18 -0
  95. package/lib/components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.component.d.ts +21 -0
  96. package/lib/components/flow-form-dialog/flow-native-form-dialog/gio-ps-flow-native-form-dialog.component.d.ts +21 -0
  97. package/lib/components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.component.d.ts +24 -0
  98. package/lib/components/flow-form-dialog/gio-ps-flow-form-dialog-result.model.d.ts +2 -0
  99. package/lib/components/flows-menu/gio-ps-flows-menu.component.d.ts +57 -0
  100. package/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.d.ts +47 -0
  101. package/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.component.d.ts +24 -0
  102. package/lib/components/step-form/gio-ps-step-form.component.d.ts +35 -0
  103. package/lib/models/ApiProtocolType.d.ts +1 -0
  104. package/lib/models/ApiType.d.ts +1 -0
  105. package/lib/models/ConnectorsInfo.d.ts +7 -0
  106. package/lib/models/PolicySchemaFetcher.d.ts +5 -0
  107. package/lib/models/SaveOutput.d.ts +7 -0
  108. package/lib/models/flow/Flow.d.ts +24 -0
  109. package/lib/models/flow/FlowExecution.d.ts +11 -0
  110. package/lib/models/flow/HttpMethod.d.ts +3 -0
  111. package/lib/models/flow/Selector.d.ts +37 -0
  112. package/lib/models/flow/Step.d.ts +34 -0
  113. package/lib/models/flow/index.d.ts +5 -0
  114. package/lib/models/index.d.ts +8 -0
  115. package/lib/models/plan/Plan.d.ts +6 -0
  116. package/lib/models/plan/index.d.ts +1 -0
  117. package/lib/models/policy/GenericPolicy.d.ts +22 -0
  118. package/lib/models/policy/Policy.d.ts +28 -0
  119. package/lib/models/policy/SharedPolicyGroupPolicy.d.ts +11 -0
  120. package/lib/models/policy/index.d.ts +3 -0
  121. package/lib/policy-group-studio/gio-policy-group-studio.component.d.ts +70 -0
  122. package/lib/policy-studio/gio-policy-studio.component.d.ts +98 -0
  123. package/lib/policy-studio/gio-policy-studio.model.d.ts +17 -0
  124. package/lib/policy-studio/gio-policy-studio.service.d.ts +30 -0
  125. package/package.json +11 -7
  126. package/public-api.d.ts +3 -0
  127. package/testing/index.d.ts +3 -369
  128. package/testing/lib/components/flow-details/gio-ps-flow-details.harness.d.ts +12 -0
  129. package/testing/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.harness.d.ts +5 -0
  130. package/testing/lib/components/flow-details-phase/gio-ps-flow-details-phase.harness.d.ts +69 -0
  131. package/testing/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.harness.d.ts +21 -0
  132. package/testing/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.harness.d.ts +13 -0
  133. package/testing/lib/components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.harness.d.ts +37 -0
  134. package/testing/lib/components/flow-form-dialog/flow-native-form-dialog/gio-ps-flow-native-form-dialog.harness.d.ts +17 -0
  135. package/testing/lib/components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.harness.d.ts +33 -0
  136. package/testing/lib/components/flows-menu/gio-ps-flows-menu.harness.d.ts +31 -0
  137. package/testing/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness.d.ts +20 -0
  138. package/testing/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.harness.d.ts +8 -0
  139. package/testing/lib/components/step-form/gio-ps-step-form.harness.d.ts +18 -0
  140. package/testing/lib/models/ApiProtocolType.d.ts +1 -0
  141. package/testing/lib/models/ApiType.d.ts +1 -0
  142. package/testing/lib/models/ConnectorsInfo.d.ts +7 -0
  143. package/testing/lib/models/ConnectorsInfo.fixture.d.ts +12 -0
  144. package/testing/lib/models/PolicySchemaFetcher.d.ts +5 -0
  145. package/testing/lib/models/SaveOutput.d.ts +7 -0
  146. package/testing/lib/models/flow/Flow.d.ts +24 -0
  147. package/testing/lib/models/flow/Flow.fixture.d.ts +6 -0
  148. package/testing/lib/models/flow/FlowExecution.d.ts +11 -0
  149. package/testing/lib/models/flow/FlowExecution.fixture.d.ts +3 -0
  150. package/testing/lib/models/flow/HttpMethod.d.ts +3 -0
  151. package/testing/lib/models/flow/Selector.d.ts +37 -0
  152. package/testing/lib/models/flow/Step.d.ts +34 -0
  153. package/testing/lib/models/flow/Step.fixture.d.ts +5 -0
  154. package/testing/lib/models/flow/index-testing.d.ts +3 -0
  155. package/testing/lib/models/flow/index.d.ts +5 -0
  156. package/testing/lib/models/index-testing.d.ts +4 -0
  157. package/testing/lib/models/index.d.ts +8 -0
  158. package/testing/lib/models/plan/Plan.d.ts +6 -0
  159. package/testing/lib/models/plan/Plan.fixture.d.ts +2 -0
  160. package/testing/lib/models/plan/index-testing.d.ts +1 -0
  161. package/testing/lib/models/plan/index.d.ts +1 -0
  162. package/testing/lib/models/policy/GenericPolicy.d.ts +22 -0
  163. package/testing/lib/models/policy/Policy.d.ts +28 -0
  164. package/testing/lib/models/policy/Policy.fixture.d.ts +4 -0
  165. package/testing/lib/models/policy/SharedPolicyGroupPolicy.d.ts +11 -0
  166. package/testing/lib/models/policy/index-testing.d.ts +1 -0
  167. package/testing/lib/models/policy/index.d.ts +3 -0
  168. package/testing/lib/policy-group-studio/gio-policy-group-studio.harness.d.ts +20 -0
  169. package/testing/lib/policy-studio/gio-policy-studio.harness.d.ts +78 -0
  170. package/testing/lib/policy-studio/gio-policy-studio.model.d.ts +17 -0
  171. package/testing/public-testing-api.d.ts +3 -0
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { ComponentHarness, parallel } from '@angular/cdk/testing';
17
+ import { DivHarness, SpanHarness } from '@gravitee/ui-particles-angular/testing';
18
+ export class GioPolicyStudioDetailsInfoBarHarness extends ComponentHarness {
19
+ static { this.hostSelector = 'gio-ps-flow-details-info-bar'; }
20
+ async getInfos() {
21
+ const infosDiv = await this.locatorForAll(DivHarness.with({ selector: '.info' }))();
22
+ const allKeyValue = await parallel(() => infosDiv.map(async (info) => {
23
+ const label = await info.childLocatorFor(SpanHarness.with({ selector: '.info__label' }))();
24
+ const value = await info.childLocatorForAll(SpanHarness.with({ selector: '.info__value' }))();
25
+ return { label: await label.getText(), value: await parallel(() => value.map(v => v.getText())) };
26
+ }));
27
+ return allKeyValue.reduce((acc, curr) => {
28
+ if (curr.label) {
29
+ return { ...acc, [curr.label]: curr.value };
30
+ }
31
+ return acc;
32
+ }, {});
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1pbmZvLWJhci5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mbG93LWRldGFpbHMtaW5mby1iYXIvZ2lvLXBzLWZsb3ctZGV0YWlscy1pbmZvLWJhci5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFakYsTUFBTSxPQUFPLG9DQUFxQyxTQUFRLGdCQUFnQjthQUMxRCxpQkFBWSxHQUFHLDhCQUE4QixDQUFDO0lBRXJELEtBQUssQ0FBQyxRQUFRO1FBQ25CLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXBGLE1BQU0sV0FBVyxHQUFHLE1BQU0sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUN0QyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsRUFBRTtZQUN4QixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzRixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzlGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDcEcsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FDdkIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDWixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlDLENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFDRCxFQUF1QyxDQUN4QyxDQUFDO0lBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudEhhcm5lc3MsIHBhcmFsbGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgRGl2SGFybmVzcywgU3Bhbkhhcm5lc3MgfSBmcm9tICdAZ3Jhdml0ZWUvdWktcGFydGljbGVzLWFuZ3VsYXIvdGVzdGluZyc7XG5cbmV4cG9ydCBjbGFzcyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzSW5mb0Jhckhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnZ2lvLXBzLWZsb3ctZGV0YWlscy1pbmZvLWJhcic7XG5cbiAgcHVibGljIGFzeW5jIGdldEluZm9zKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgKHN0cmluZyB8IG51bGwpW10+PiB7XG4gICAgY29uc3QgaW5mb3NEaXYgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoRGl2SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuaW5mbycgfSkpKCk7XG5cbiAgICBjb25zdCBhbGxLZXlWYWx1ZSA9IGF3YWl0IHBhcmFsbGVsKCgpID0+XG4gICAgICBpbmZvc0Rpdi5tYXAoYXN5bmMgaW5mbyA9PiB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gYXdhaXQgaW5mby5jaGlsZExvY2F0b3JGb3IoU3Bhbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmluZm9fX2xhYmVsJyB9KSkoKTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBhd2FpdCBpbmZvLmNoaWxkTG9jYXRvckZvckFsbChTcGFuSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuaW5mb19fdmFsdWUnIH0pKSgpO1xuICAgICAgICByZXR1cm4geyBsYWJlbDogYXdhaXQgbGFiZWwuZ2V0VGV4dCgpLCB2YWx1ZTogYXdhaXQgcGFyYWxsZWwoKCkgPT4gdmFsdWUubWFwKHYgPT4gdi5nZXRUZXh0KCkpKSB9O1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIHJldHVybiBhbGxLZXlWYWx1ZS5yZWR1Y2UoXG4gICAgICAoYWNjLCBjdXJyKSA9PiB7XG4gICAgICAgIGlmIChjdXJyLmxhYmVsKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBbY3Vyci5sYWJlbF06IGN1cnIudmFsdWUgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIChzdHJpbmcgfCBudWxsKVtdPixcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,155 @@
1
+ /*
2
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { ComponentHarness, HarnessPredicate, parallel } from '@angular/cdk/testing';
17
+ import { DivHarness, SpanHarness } from '@gravitee/ui-particles-angular/testing';
18
+ import { isEmpty } from 'lodash';
19
+ import { MatButtonHarness } from '@angular/material/button/testing';
20
+ import { GioPolicyStudioDetailsPhaseStepHarness } from '../flow-details-phase-step/gio-ps-flow-details-phase-step.harness';
21
+ import { GioPolicyStudioStepEditDialogHarness } from '../step-edit-dialog/gio-ps-step-edit-dialog.harness';
22
+ import { GioPolicyStudioPoliciesCatalogDialogHarness } from '../policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness';
23
+ const TYPE_TO_TEXT = {
24
+ INTERACT: 'Interact phase',
25
+ REQUEST: 'Request phase',
26
+ RESPONSE: 'Response phase',
27
+ PUBLISH: 'Publish phase',
28
+ SUBSCRIBE: 'Subscribe phase',
29
+ };
30
+ export class GioPolicyStudioDetailsPhaseHarness extends ComponentHarness {
31
+ constructor() {
32
+ super(...arguments);
33
+ this.getHeaderName = () => this.locatorForOptional(SpanHarness.with({ selector: '.header__name' }))().then(async (span) => span?.getText() ?? null);
34
+ }
35
+ static { this.hostSelector = 'gio-ps-flow-details-phase'; }
36
+ /**
37
+ * Get Harness with the given filter.
38
+ *
39
+ * @param options Options for filtering which input instances are considered a match.
40
+ * @return a `HarnessPredicate` configured with the given options.
41
+ */
42
+ static with(options = {}) {
43
+ return new HarnessPredicate(GioPolicyStudioDetailsPhaseHarness, options).addOption('type', options.type, async (harness, type) => {
44
+ return HarnessPredicate.stringMatches(harness.getHeaderName(), TYPE_TO_TEXT[type]);
45
+ });
46
+ }
47
+ async getSteps() {
48
+ if (await this.locatorForOptional('.disabledContent')()) {
49
+ return 'DISABLED';
50
+ }
51
+ const stepsDiv = await this.locatorForAll(DivHarness.with({ selector: '.content__step' }))();
52
+ if (isEmpty(stepsDiv)) {
53
+ // No step - the phase is disabled
54
+ return [];
55
+ }
56
+ return await parallel(() => stepsDiv.map(async (stepDiv) => {
57
+ const idConnector = !!(await stepDiv.getText({ childSelector: '.content__step__connector__badge' }));
58
+ if (idConnector) {
59
+ return {
60
+ name: (await stepDiv.getText()) ?? '',
61
+ type: 'connector',
62
+ };
63
+ }
64
+ const step = await stepDiv.childLocatorFor(GioPolicyStudioDetailsPhaseStepHarness)();
65
+ const conditionDiv = await stepDiv.childLocatorForOptional(DivHarness.with({ selector: '.content__step__policy__condition' }))();
66
+ const description = await step.getDescription();
67
+ const infoMessage = await step.getInfoMessage();
68
+ return {
69
+ type: 'step',
70
+ name: await step.getName(),
71
+ hasCondition: !!conditionDiv,
72
+ ...(description ? { description } : {}),
73
+ ...(infoMessage ? { infoMessage } : {}),
74
+ };
75
+ }));
76
+ }
77
+ async getStep(index) {
78
+ const steps = await this.locatorForAll(GioPolicyStudioDetailsPhaseStepHarness)();
79
+ if (!steps[index]) {
80
+ throw new Error(`Step ${index} not found`);
81
+ }
82
+ return steps[index];
83
+ }
84
+ async clickAddStep(index) {
85
+ const addStepBtn = await this.locatorForAll(DivHarness.with({ selector: '.content__step' }))().then(divs => divs[index]);
86
+ await addStepBtn
87
+ .childLocatorFor(MatButtonHarness.with({ selector: '.content__step__addBtn' }))()
88
+ .then(btn => btn.click());
89
+ }
90
+ /**
91
+ * Add a step to a phase
92
+ * @param index Index where to add the step. (Add button index)
93
+ * @param stepConfig Step to add
94
+ */
95
+ async addStep(index, stepConfig) {
96
+ await this.clickAddStep(index);
97
+ const catalogDialog = await this.documentRootLocatorFactory().locatorFor(GioPolicyStudioPoliciesCatalogDialogHarness)();
98
+ await catalogDialog.selectPolicy(stepConfig.policyName);
99
+ await (await catalogDialog.getStepForm()).setStepForm(stepConfig);
100
+ await catalogDialog.clickAddPolicyButton();
101
+ }
102
+ /**
103
+ * Edit a step configuration
104
+ * @param index Index of the policy step to edit
105
+ * @param stepConfig Step configuration
106
+ */
107
+ async editStep(index, stepConfig) {
108
+ const step = await this.getStep(index);
109
+ await step.clickOnEdit();
110
+ const stepEditDialog = await this.documentRootLocatorFactory().locatorFor(GioPolicyStudioStepEditDialogHarness)();
111
+ await (await stepEditDialog.getStepForm()).setStepForm(stepConfig);
112
+ await stepEditDialog.save();
113
+ }
114
+ /**
115
+ * Delete a step
116
+ * @param index Index of the policy step to delete
117
+ */
118
+ async deleteStep(index) {
119
+ const step = await this.getStep(index);
120
+ await step.clickOnDelete();
121
+ }
122
+ /**
123
+ * Disable a step
124
+ * @param index Index of the policy step to disable
125
+ */
126
+ async disableEnableStep(index) {
127
+ const step = await this.getStep(index);
128
+ await step.clickOnDisableEnable();
129
+ }
130
+ /**
131
+ * Duplicate a step
132
+ * @param index Index of the policy step to duplicate
133
+ */
134
+ async duplicateStep(index) {
135
+ const step = await this.getStep(index);
136
+ await step.clickOnDuplicate();
137
+ }
138
+ /**
139
+ * Move a step to the right
140
+ * @param index Index of the policy step to move
141
+ */
142
+ async moveStepRight(index) {
143
+ const step = await this.getStep(index);
144
+ await step.clickOnMoveRight();
145
+ }
146
+ /**
147
+ * Move a step to the left
148
+ * @param index Index of the policy step to move
149
+ */
150
+ async moveStepLeft(index) {
151
+ const step = await this.getStep(index);
152
+ await step.clickOnMoveLeft();
153
+ }
154
+ }
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mbG93LWRldGFpbHMtcGhhc2UvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFzQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFcEUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDM0gsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0scURBQXFELENBQUM7QUFDM0csT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFTaEksTUFBTSxZQUFZLEdBQThCO0lBQzlDLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsT0FBTyxFQUFFLGVBQWU7SUFDeEIsUUFBUSxFQUFFLGdCQUFnQjtJQUMxQixPQUFPLEVBQUUsZUFBZTtJQUN4QixTQUFTLEVBQUUsaUJBQWlCO0NBQzdCLENBQUM7QUFjRixNQUFNLE9BQU8sa0NBQW1DLFNBQVEsZ0JBQWdCO0lBQXhFOztRQUdVLGtCQUFhLEdBQUcsR0FBRyxFQUFFLENBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUMs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QUFDLGdCQUFnQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBYTtRQUNyQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsTUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEJhc2VIYXJuZXNzRmlsdGVycywgQ29tcG9uZW50SGFybmVzcywgSGFybmVzc1ByZWRpY2F0ZSwgcGFyYWxsZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBEaXZIYXJuZXNzLCBTcGFuSGFybmVzcyB9IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhci90ZXN0aW5nJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWF0QnV0dG9uSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi90ZXN0aW5nJztcblxuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlU3RlcEhhcm5lc3MgfSBmcm9tICcuLi9mbG93LWRldGFpbHMtcGhhc2Utc3RlcC9naW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlLXN0ZXAuaGFybmVzcyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9TdGVwRWRpdERpYWxvZ0hhcm5lc3MgfSBmcm9tICcuLi9zdGVwLWVkaXQtZGlhbG9nL2dpby1wcy1zdGVwLWVkaXQtZGlhbG9nLmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvUG9saWN5U3R1ZGlvUG9saWNpZXNDYXRhbG9nRGlhbG9nSGFybmVzcyB9IGZyb20gJy4uL3BvbGljaWVzLWNhdGFsb2ctZGlhbG9nL2dpby1wcy1wb2xpY2llcy1jYXRhbG9nLWRpYWxvZy5oYXJuZXNzJztcbmltcG9ydCB7IFN0ZXBGb3JtIH0gZnJvbSAnLi4vc3RlcC1mb3JtL2dpby1wcy1zdGVwLWZvcm0uaGFybmVzcyc7XG5cbmV4cG9ydCB0eXBlIFBoYXNlVHlwZSA9ICdJTlRFUkFDVCcgfCAnUkVRVUVTVCcgfCAnUkVTUE9OU0UnIHwgJ1BVQkxJU0gnIHwgJ1NVQlNDUklCRSc7XG5cbmV4cG9ydCB0eXBlIEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUhhcm5lc3NGaWx0ZXJzID0gQmFzZUhhcm5lc3NGaWx0ZXJzICYge1xuICB0eXBlPzogUGhhc2VUeXBlO1xufTtcblxuY29uc3QgVFlQRV9UT19URVhUOiBSZWNvcmQ8UGhhc2VUeXBlLCBzdHJpbmc+ID0ge1xuICBJTlRFUkFDVDogJ0ludGVyYWN0IHBoYXNlJyxcbiAgUkVRVUVTVDogJ1JlcXVlc3QgcGhhc2UnLFxuICBSRVNQT05TRTogJ1Jlc3BvbnNlIHBoYXNlJyxcbiAgUFVCTElTSDogJ1B1Ymxpc2ggcGhhc2UnLFxuICBTVUJTQ1JJQkU6ICdTdWJzY3JpYmUgcGhhc2UnLFxufTtcblxuZXhwb3J0IHR5cGUgU3RlcENhcmQgPVxuICB8IHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIHR5cGU6ICdjb25uZWN0b3InO1xuICAgIH1cbiAgfCB7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgIGhhc0NvbmRpdGlvbjogYm9vbGVhbjtcbiAgICAgIHR5cGU6ICdzdGVwJztcbiAgICB9O1xuXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdnaW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlJztcblxuICBwcml2YXRlIGdldEhlYWRlck5hbWUgPSAoKSA9PlxuICAgIHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFNwYW5IYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5oZWFkZXJfX25hbWUnIH0pKSgpLnRoZW4oYXN5bmMgc3BhbiA9PiBzcGFuPy5nZXRUZXh0KCkgPz8gbnVsbCk7XG5cbiAgLyoqXG4gICAqIEdldCBIYXJuZXNzIHdpdGggdGhlIGdpdmVuIGZpbHRlci5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgZmlsdGVyaW5nIHdoaWNoIGlucHV0IGluc3RhbmNlcyBhcmUgY29uc2lkZXJlZCBhIG1hdGNoLlxuICAgKiBAcmV0dXJuIGEgYEhhcm5lc3NQcmVkaWNhdGVgIGNvbmZpZ3VyZWQgd2l0aCB0aGUgZ2l2ZW4gb3B0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChvcHRpb25zOiBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VIYXJuZXNzRmlsdGVycyA9IHt9KTogSGFybmVzc1ByZWRpY2F0ZTxHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VIYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUhhcm5lc3MsIG9wdGlvbnMpLmFkZE9wdGlvbigndHlwZScsIG9wdGlvbnMudHlwZSwgYXN5bmMgKGhhcm5lc3MsIHR5cGUpID0+IHtcbiAgICAgIHJldHVybiBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzcy5nZXRIZWFkZXJOYW1lKCksIFRZUEVfVE9fVEVYVFt0eXBlXSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RlcHMoKTogUHJvbWlzZTxTdGVwQ2FyZFtdIHwgJ0RJU0FCTEVEJz4ge1xuICAgIGlmIChhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbCgnLmRpc2FibGVkQ29udGVudCcpKCkpIHtcbiAgICAgIHJldHVybiAnRElTQUJMRUQnO1xuICAgIH1cblxuICAgIGNvbnN0IHN0ZXBzRGl2ID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yQWxsKERpdkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmNvbnRlbnRfX3N0ZXAnIH0pKSgpO1xuXG4gICAgaWYgKGlzRW1wdHkoc3RlcHNEaXYpKSB7XG4gICAgICAvLyBObyBzdGVwIC0gdGhlIHBoYXNlIGlzIGRpc2FibGVkXG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHBhcmFsbGVsKCgpID0+XG4gICAgICBzdGVwc0Rpdi5tYXAoYXN5bmMgc3RlcERpdiA9PiB7XG4gICAgICAgIGNvbnN0IGlkQ29ubmVjdG9yID0gISEoYXdhaXQgc3RlcERpdi5nZXRUZXh0KHsgY2hpbGRTZWxlY3RvcjogJy5jb250ZW50X19zdGVwX19jb25uZWN0b3JfX2JhZGdlJyB9KSk7XG4gICAgICAgIGlmIChpZENvbm5lY3Rvcikge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiAoYXdhaXQgc3RlcERpdi5nZXRUZXh0KCkpID8/ICcnLFxuICAgICAgICAgICAgdHlwZTogJ2Nvbm5lY3RvcicsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdGVwID0gYXdhaXQgc3RlcERpdi5jaGlsZExvY2F0b3JGb3IoR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlU3RlcEhhcm5lc3MpKCk7XG4gICAgICAgIGNvbnN0IGNvbmRpdGlvbkRpdiA9IGF3YWl0IHN0ZXBEaXYuY2hpbGRMb2NhdG9yRm9yT3B0aW9uYWwoRGl2SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuY29udGVudF9fc3RlcF9fcG9saWN5X19jb25kaXRpb24nIH0pKSgpO1xuICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGF3YWl0IHN0ZXAuZ2V0RGVzY3JpcHRpb24oKTtcbiAgICAgICAgY29uc3QgaW5mb01lc3NhZ2UgPSBhd2FpdCBzdGVwLmdldEluZm9NZXNzYWdlKCk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiAnc3RlcCcsXG4gICAgICAgICAgbmFtZTogYXdhaXQgc3RlcC5nZXROYW1lKCksXG4gICAgICAgICAgaGFzQ29uZGl0aW9uOiAhIWNvbmRpdGlvbkRpdixcbiAgICAgICAgICAuLi4oZGVzY3JpcHRpb24gPyB7IGRlc2NyaXB0aW9uIH0gOiB7fSksXG4gICAgICAgICAgLi4uKGluZm9NZXNzYWdlID8geyBpbmZvTWVzc2FnZSB9IDoge30pLFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGVwKGluZGV4OiBudW1iZXIpOiBQcm9taXNlPEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZVN0ZXBIYXJuZXNzPiB7XG4gICAgY29uc3Qgc3RlcHMgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlU3RlcEhhcm5lc3MpKCk7XG4gICAgaWYgKCFzdGVwc1tpbmRleF0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU3RlcCAke2luZGV4fSBub3QgZm91bmRgKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0ZXBzW2luZGV4XTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjbGlja0FkZFN0ZXAoaW5kZXg6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGFkZFN0ZXBCdG4gPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoRGl2SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuY29udGVudF9fc3RlcCcgfSkpKCkudGhlbihkaXZzID0+IGRpdnNbaW5kZXhdKTtcblxuICAgIGF3YWl0IGFkZFN0ZXBCdG5cbiAgICAgIC5jaGlsZExvY2F0b3JGb3IoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuY29udGVudF9fc3RlcF9fYWRkQnRuJyB9KSkoKVxuICAgICAgLnRoZW4oYnRuID0+IGJ0bi5jbGljaygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBzdGVwIHRvIGEgcGhhc2VcbiAgICogQHBhcmFtIGluZGV4IEluZGV4IHdoZXJlIHRvIGFkZCB0aGUgc3RlcC4gKEFkZCBidXR0b24gaW5kZXgpXG4gICAqIEBwYXJhbSBzdGVwQ29uZmlnIFN0ZXAgdG8gYWRkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYWRkU3RlcChcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIHN0ZXBDb25maWc6IHtcbiAgICAgIHBvbGljeU5hbWU6IHN0cmluZztcbiAgICB9ICYgU3RlcEZvcm0sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuY2xpY2tBZGRTdGVwKGluZGV4KTtcblxuICAgIGNvbnN0IGNhdGFsb2dEaWFsb2cgPSBhd2FpdCB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCkubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9Qb2xpY2llc0NhdGFsb2dEaWFsb2dIYXJuZXNzKSgpO1xuICAgIGF3YWl0IGNhdGFsb2dEaWFsb2cuc2VsZWN0UG9saWN5KHN0ZXBDb25maWcucG9saWN5TmFtZSk7XG5cbiAgICBhd2FpdCAoYXdhaXQgY2F0YWxvZ0RpYWxvZy5nZXRTdGVwRm9ybSgpKS5zZXRTdGVwRm9ybShzdGVwQ29uZmlnKTtcblxuICAgIGF3YWl0IGNhdGFsb2dEaWFsb2cuY2xpY2tBZGRQb2xpY3lCdXR0b24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFZGl0IGEgc3RlcCBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBpbmRleCBJbmRleCBvZiB0aGUgcG9saWN5IHN0ZXAgdG8gZWRpdFxuICAgKiBAcGFyYW0gc3RlcENvbmZpZyBTdGVwIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBhc3luYyBlZGl0U3RlcChpbmRleDogbnVtYmVyLCBzdGVwQ29uZmlnOiBTdGVwRm9ybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHN0ZXAgPSBhd2FpdCB0aGlzLmdldFN0ZXAoaW5kZXgpO1xuXG4gICAgYXdhaXQgc3RlcC5jbGlja09uRWRpdCgpO1xuXG4gICAgY29uc3Qgc3RlcEVkaXREaWFsb2cgPSBhd2FpdCB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCkubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9TdGVwRWRpdERpYWxvZ0hhcm5lc3MpKCk7XG4gICAgYXdhaXQgKGF3YWl0IHN0ZXBFZGl0RGlhbG9nLmdldFN0ZXBGb3JtKCkpLnNldFN0ZXBGb3JtKHN0ZXBDb25maWcpO1xuXG4gICAgYXdhaXQgc3RlcEVkaXREaWFsb2cuc2F2ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhIHN0ZXBcbiAgICogQHBhcmFtIGluZGV4IEluZGV4IG9mIHRoZSBwb2xpY3kgc3RlcCB0byBkZWxldGVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBkZWxldGVTdGVwKGluZGV4OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdGVwID0gYXdhaXQgdGhpcy5nZXRTdGVwKGluZGV4KTtcblxuICAgIGF3YWl0IHN0ZXAuY2xpY2tPbkRlbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGUgYSBzdGVwXG4gICAqIEBwYXJhbSBpbmRleCBJbmRleCBvZiB0aGUgcG9saWN5IHN0ZXAgdG8gZGlzYWJsZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGRpc2FibGVFbmFibGVTdGVwKGluZGV4OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdGVwID0gYXdhaXQgdGhpcy5nZXRTdGVwKGluZGV4KTtcbiAgICBhd2FpdCBzdGVwLmNsaWNrT25EaXNhYmxlRW5hYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogRHVwbGljYXRlIGEgc3RlcFxuICAgKiBAcGFyYW0gaW5kZXggSW5kZXggb2YgdGhlIHBvbGljeSBzdGVwIHRvIGR1cGxpY2F0ZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGR1cGxpY2F0ZVN0ZXAoaW5kZXg6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHN0ZXAgPSBhd2FpdCB0aGlzLmdldFN0ZXAoaW5kZXgpO1xuICAgIGF3YWl0IHN0ZXAuY2xpY2tPbkR1cGxpY2F0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmUgYSBzdGVwIHRvIHRoZSByaWdodFxuICAgKiBAcGFyYW0gaW5kZXggSW5kZXggb2YgdGhlIHBvbGljeSBzdGVwIHRvIG1vdmVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBtb3ZlU3RlcFJpZ2h0KGluZGV4OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdGVwID0gYXdhaXQgdGhpcy5nZXRTdGVwKGluZGV4KTtcbiAgICBhd2FpdCBzdGVwLmNsaWNrT25Nb3ZlUmlnaHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlIGEgc3RlcCB0byB0aGUgbGVmdFxuICAgKiBAcGFyYW0gaW5kZXggSW5kZXggb2YgdGhlIHBvbGljeSBzdGVwIHRvIG1vdmVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBtb3ZlU3RlcExlZnQoaW5kZXg6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHN0ZXAgPSBhd2FpdCB0aGlzLmdldFN0ZXAoaW5kZXgpO1xuICAgIGF3YWl0IHN0ZXAuY2xpY2tPbk1vdmVMZWZ0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,69 @@
1
+ /*
2
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
17
+ import { SpanHarness } from '@gravitee/ui-particles-angular/testing';
18
+ import { MatMenuHarness } from '@angular/material/menu/testing';
19
+ import { DivHarness } from '@gravitee/ui-particles-angular/testing';
20
+ import { MatTooltipHarness } from '@angular/material/tooltip/testing';
21
+ export class GioPolicyStudioDetailsPhaseStepHarness extends ComponentHarness {
22
+ static { this.hostSelector = 'gio-ps-flow-details-phase-step'; }
23
+ /**
24
+ * Get Harness with the given filter.
25
+ *
26
+ * @param options Options for filtering which input instances are considered a match.
27
+ * @return a `HarnessPredicate` configured with the given options.
28
+ */
29
+ static with(options = {}) {
30
+ return new HarnessPredicate(GioPolicyStudioDetailsPhaseStepHarness, options);
31
+ }
32
+ async getName() {
33
+ return (await (await this.locatorFor(SpanHarness.with({ selector: '.info__head__name' }))()).getText()) ?? '';
34
+ }
35
+ async getDescription() {
36
+ return (await (await this.locatorForOptional(DivHarness.with({ selector: '.info__description' }))())?.getText()) ?? undefined;
37
+ }
38
+ async getInfoMessage() {
39
+ const tooltip = await this.locatorForOptional(MatTooltipHarness.with({ selector: '.info__head__info' }))();
40
+ // FIXME: await tooltip.getTooltipText(); returns empty string. when it's in a condition. I haven't figured out how to get over it.
41
+ // This hack allows to validate the info anyway
42
+ return tooltip ? 'HasInfoMessage' : undefined;
43
+ }
44
+ async clickOnEdit() {
45
+ const matMenu = await this.locatorFor(MatMenuHarness)();
46
+ await matMenu.clickItem({ text: 'Edit' });
47
+ }
48
+ async clickOnDelete() {
49
+ const matMenu = await this.locatorFor(MatMenuHarness)();
50
+ await matMenu.clickItem({ text: 'Delete' });
51
+ }
52
+ async clickOnDisableEnable() {
53
+ const matMenu = await this.locatorFor(MatMenuHarness)();
54
+ await matMenu.clickItem({ text: /Disable|Enable/ });
55
+ }
56
+ async clickOnDuplicate() {
57
+ const matMenu = await this.locatorFor(MatMenuHarness)();
58
+ await matMenu.clickItem({ text: 'Duplicate' });
59
+ }
60
+ async clickOnMoveRight() {
61
+ const matMenu = await this.locatorFor(MatMenuHarness)();
62
+ await matMenu.clickItem({ text: 'Move right' });
63
+ }
64
+ async clickOnMoveLeft() {
65
+ const matMenu = await this.locatorFor(MatMenuHarness)();
66
+ await matMenu.clickItem({ text: 'Move left' });
67
+ }
68
+ }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1zdGVwLmhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zsb3ctZGV0YWlscy1waGFzZS1zdGVwL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2Utc3RlcC5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFzQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSXRFLE1BQU0sT0FBTyxzQ0FBdUMsU0FBUSxnQkFBZ0I7YUFDNUQsaUJBQVksR0FBRyxnQ0FBZ0MsQ0FBQztJQUU5RDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLFVBQXlELEVBQUU7UUFFM0QsT0FBTyxJQUFJLGdCQUFnQixDQUFDLHNDQUFzQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTztRQUNsQixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoSCxDQUFDO0lBRU0sS0FBSyxDQUFDLGNBQWM7UUFDekIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUNoSSxDQUFDO0lBRU0sS0FBSyxDQUFDLGNBQWM7UUFDekIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0csbUlBQW1JO1FBQ25JLCtDQUErQztRQUMvQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVc7UUFDdEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDeEQsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ3hELE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxLQUFLLENBQUMsb0JBQW9CO1FBQy9CLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ3hELE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxnQkFBZ0I7UUFDM0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDeEQsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLEtBQUssQ0FBQyxnQkFBZ0I7UUFDM0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDeEQsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxlQUFlO1FBQzFCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ3hELE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIyIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBCYXNlSGFybmVzc0ZpbHRlcnMsIENvbXBvbmVudEhhcm5lc3MsIEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTcGFuSGFybmVzcyB9IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhci90ZXN0aW5nJztcbmltcG9ydCB7IE1hdE1lbnVIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudS90ZXN0aW5nJztcbmltcG9ydCB7IERpdkhhcm5lc3MgfSBmcm9tICdAZ3Jhdml0ZWUvdWktcGFydGljbGVzLWFuZ3VsYXIvdGVzdGluZyc7XG5pbXBvcnQgeyBNYXRUb29sdGlwSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAvdGVzdGluZyc7XG5cbmV4cG9ydCB0eXBlIEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZVN0ZXBIYXJuZXNzRmlsdGVycyA9IEJhc2VIYXJuZXNzRmlsdGVycztcblxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZVN0ZXBIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2Utc3RlcCc7XG5cbiAgLyoqXG4gICAqIEdldCBIYXJuZXNzIHdpdGggdGhlIGdpdmVuIGZpbHRlci5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgZmlsdGVyaW5nIHdoaWNoIGlucHV0IGluc3RhbmNlcyBhcmUgY29uc2lkZXJlZCBhIG1hdGNoLlxuICAgKiBAcmV0dXJuIGEgYEhhcm5lc3NQcmVkaWNhdGVgIGNvbmZpZ3VyZWQgd2l0aCB0aGUgZ2l2ZW4gb3B0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChcbiAgICBvcHRpb25zOiBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VTdGVwSGFybmVzc0ZpbHRlcnMgPSB7fSxcbiAgKTogSGFybmVzc1ByZWRpY2F0ZTxHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VTdGVwSGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VTdGVwSGFybmVzcywgb3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0TmFtZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiAoYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvcihTcGFuSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuaW5mb19faGVhZF9fbmFtZScgfSkpKCkpLmdldFRleHQoKSkgPz8gJyc7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0RGVzY3JpcHRpb24oKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gKGF3YWl0IChhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChEaXZIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5pbmZvX19kZXNjcmlwdGlvbicgfSkpKCkpPy5nZXRUZXh0KCkpID8/IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRJbmZvTWVzc2FnZSgpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHRvb2x0aXAgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JPcHRpb25hbChNYXRUb29sdGlwSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuaW5mb19faGVhZF9faW5mbycgfSkpKCk7XG4gICAgLy8gRklYTUU6IGF3YWl0IHRvb2x0aXAuZ2V0VG9vbHRpcFRleHQoKTsgcmV0dXJucyBlbXB0eSBzdHJpbmcuIHdoZW4gaXQncyBpbiBhIGNvbmRpdGlvbi4gSSBoYXZlbid0IGZpZ3VyZWQgb3V0IGhvdyB0byBnZXQgb3ZlciBpdC5cbiAgICAvLyBUaGlzIGhhY2sgYWxsb3dzIHRvIHZhbGlkYXRlIHRoZSBpbmZvIGFueXdheVxuICAgIHJldHVybiB0b29sdGlwID8gJ0hhc0luZm9NZXNzYWdlJyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjbGlja09uRWRpdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBtYXRNZW51ID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKE1hdE1lbnVIYXJuZXNzKSgpO1xuICAgIGF3YWl0IG1hdE1lbnUuY2xpY2tJdGVtKHsgdGV4dDogJ0VkaXQnIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsaWNrT25EZWxldGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbWF0TWVudSA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRNZW51SGFybmVzcykoKTtcbiAgICBhd2FpdCBtYXRNZW51LmNsaWNrSXRlbSh7IHRleHQ6ICdEZWxldGUnIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsaWNrT25EaXNhYmxlRW5hYmxlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1hdE1lbnUgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoTWF0TWVudUhhcm5lc3MpKCk7XG4gICAgYXdhaXQgbWF0TWVudS5jbGlja0l0ZW0oeyB0ZXh0OiAvRGlzYWJsZXxFbmFibGUvIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsaWNrT25EdXBsaWNhdGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbWF0TWVudSA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRNZW51SGFybmVzcykoKTtcbiAgICBhd2FpdCBtYXRNZW51LmNsaWNrSXRlbSh7IHRleHQ6ICdEdXBsaWNhdGUnIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsaWNrT25Nb3ZlUmlnaHQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbWF0TWVudSA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRNZW51SGFybmVzcykoKTtcbiAgICBhd2FpdCBtYXRNZW51LmNsaWNrSXRlbSh7IHRleHQ6ICdNb3ZlIHJpZ2h0JyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjbGlja09uTW92ZUxlZnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbWF0TWVudSA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRNZW51SGFybmVzcykoKTtcbiAgICBhd2FpdCBtYXRNZW51LmNsaWNrSXRlbSh7IHRleHQ6ICdNb3ZlIGxlZnQnIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,60 @@
1
+ /*
2
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { ComponentHarness } from '@angular/cdk/testing';
17
+ import { MatButtonHarness } from '@angular/material/button/testing';
18
+ import { MatSelectHarness } from '@angular/material/select/testing';
19
+ import { MatSlideToggleHarness } from '@angular/material/slide-toggle/testing';
20
+ export class GioPolicyStudioFlowExecutionFormDialogHarness extends ComponentHarness {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.getSaveBtn = this.locatorFor(MatButtonHarness.with({ selector: '.actions__saveBtn' }));
24
+ this.getCancelBtn = this.locatorFor(MatButtonHarness.with({ selector: '.actions__cancelBtn' }));
25
+ }
26
+ static { this.hostSelector = 'gio-ps-flow-execution-form-dialog'; }
27
+ async setFlowFormValues(flowExecution) {
28
+ const modeInput = await this.locatorFor(MatSelectHarness.with({ selector: '[formControlName="mode"]' }))();
29
+ const matchRequiredInput = await this.locatorFor(MatSlideToggleHarness.with({ selector: '[formControlName="matchRequired"]' }))();
30
+ if (flowExecution.mode) {
31
+ await modeInput.open();
32
+ // Unselect all options before selecting the new one
33
+ for (const option of await modeInput.getOptions()) {
34
+ if (await option.isSelected()) {
35
+ await option.click();
36
+ }
37
+ }
38
+ const flowModeToValue = {
39
+ BEST_MATCH: 'Best match',
40
+ DEFAULT: 'Default',
41
+ };
42
+ await modeInput.clickOptions({ text: new RegExp(flowModeToValue[flowExecution.mode], 'i') });
43
+ }
44
+ if (flowExecution.matchRequired) {
45
+ await matchRequiredInput.check();
46
+ }
47
+ else {
48
+ await matchRequiredInput.uncheck();
49
+ }
50
+ }
51
+ async save() {
52
+ const button = await this.getSaveBtn();
53
+ await button.click();
54
+ }
55
+ async cancel() {
56
+ const button = await this.getCancelBtn();
57
+ await button.click();
58
+ }
59
+ }
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZXhlY3V0aW9uLWZvcm0tZGlhbG9nLmhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zsb3ctZXhlY3V0aW9uLWZvcm0tZGlhbG9nL2dpby1wcy1mbG93LWV4ZWN1dGlvbi1mb3JtLWRpYWxvZy5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFJL0UsTUFBTSxPQUFPLDZDQUE4QyxTQUFRLGdCQUFnQjtJQUFuRjs7UUFHVSxlQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkYsaUJBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQXVDckcsQ0FBQzthQTFDZSxpQkFBWSxHQUFHLG1DQUFtQyxBQUF0QyxDQUF1QztJQUsxRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsYUFBMkQ7UUFDeEYsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSwwQkFBMEIsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNHLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQ0FBbUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRWxJLElBQUksYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBRXZCLG9EQUFvRDtZQUNwRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7Z0JBQ2xELElBQUksTUFBTSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztvQkFDOUIsTUFBTSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3ZCLENBQUM7WUFDSCxDQUFDO1lBQ0QsTUFBTSxlQUFlLEdBQTZCO2dCQUNoRCxVQUFVLEVBQUUsWUFBWTtnQkFDeEIsT0FBTyxFQUFFLFNBQVM7YUFDbkIsQ0FBQztZQUVGLE1BQU0sU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRixDQUFDO1FBRUQsSUFBSSxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDaEMsTUFBTSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSTtRQUNmLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTTtRQUNqQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QyxNQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBNYXRCdXR0b25IYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uL3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0U2VsZWN0SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdC90ZXN0aW5nJztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgRmxvd01vZGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvRmxvd0V4ZWN1dGlvbkZvcm1EaWFsb2dIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1wcy1mbG93LWV4ZWN1dGlvbi1mb3JtLWRpYWxvZyc7XG5cbiAgcHJpdmF0ZSBnZXRTYXZlQnRuID0gdGhpcy5sb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmFjdGlvbnNfX3NhdmVCdG4nIH0pKTtcbiAgcHJpdmF0ZSBnZXRDYW5jZWxCdG4gPSB0aGlzLmxvY2F0b3JGb3IoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuYWN0aW9uc19fY2FuY2VsQnRuJyB9KSk7XG5cbiAgcHVibGljIGFzeW5jIHNldEZsb3dGb3JtVmFsdWVzKGZsb3dFeGVjdXRpb246IHsgbW9kZT86IEZsb3dNb2RlOyBtYXRjaFJlcXVpcmVkPzogYm9vbGVhbiB9KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbW9kZUlucHV0ID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKE1hdFNlbGVjdEhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnW2Zvcm1Db250cm9sTmFtZT1cIm1vZGVcIl0nIH0pKSgpO1xuICAgIGNvbnN0IG1hdGNoUmVxdWlyZWRJbnB1dCA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRTbGlkZVRvZ2dsZUhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnW2Zvcm1Db250cm9sTmFtZT1cIm1hdGNoUmVxdWlyZWRcIl0nIH0pKSgpO1xuXG4gICAgaWYgKGZsb3dFeGVjdXRpb24ubW9kZSkge1xuICAgICAgYXdhaXQgbW9kZUlucHV0Lm9wZW4oKTtcblxuICAgICAgLy8gVW5zZWxlY3QgYWxsIG9wdGlvbnMgYmVmb3JlIHNlbGVjdGluZyB0aGUgbmV3IG9uZVxuICAgICAgZm9yIChjb25zdCBvcHRpb24gb2YgYXdhaXQgbW9kZUlucHV0LmdldE9wdGlvbnMoKSkge1xuICAgICAgICBpZiAoYXdhaXQgb3B0aW9uLmlzU2VsZWN0ZWQoKSkge1xuICAgICAgICAgIGF3YWl0IG9wdGlvbi5jbGljaygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBmbG93TW9kZVRvVmFsdWU6IFJlY29yZDxGbG93TW9kZSwgc3RyaW5nPiA9IHtcbiAgICAgICAgQkVTVF9NQVRDSDogJ0Jlc3QgbWF0Y2gnLFxuICAgICAgICBERUZBVUxUOiAnRGVmYXVsdCcsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBtb2RlSW5wdXQuY2xpY2tPcHRpb25zKHsgdGV4dDogbmV3IFJlZ0V4cChmbG93TW9kZVRvVmFsdWVbZmxvd0V4ZWN1dGlvbi5tb2RlXSwgJ2knKSB9KTtcbiAgICB9XG5cbiAgICBpZiAoZmxvd0V4ZWN1dGlvbi5tYXRjaFJlcXVpcmVkKSB7XG4gICAgICBhd2FpdCBtYXRjaFJlcXVpcmVkSW5wdXQuY2hlY2soKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgbWF0Y2hSZXF1aXJlZElucHV0LnVuY2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2F2ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLmdldFNhdmVCdG4oKTtcbiAgICBhd2FpdCBidXR0b24uY2xpY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjYW5jZWwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYnV0dG9uID0gYXdhaXQgdGhpcy5nZXRDYW5jZWxCdG4oKTtcbiAgICBhd2FpdCBidXR0b24uY2xpY2soKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,128 @@
1
+ /*
2
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { ComponentHarness, parallel } from '@angular/cdk/testing';
17
+ import { MatButtonHarness } from '@angular/material/button/testing';
18
+ import { MatInputHarness } from '@angular/material/input/testing';
19
+ import { MatSelectHarness } from '@angular/material/select/testing';
20
+ export class GioPolicyStudioFlowMessageFormDialogHarness extends ComponentHarness {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.getSaveBtn = this.locatorFor(MatButtonHarness.with({ selector: '.actions__saveBtn' }));
24
+ this.getCancelBtn = this.locatorFor(MatButtonHarness.with({ selector: '.actions__cancelBtn' }));
25
+ this.nameInput = this.locatorFor(MatInputHarness.with({ selector: '[formControlName="name"]' }));
26
+ this.channelOperatorInput = this.locatorFor(MatSelectHarness.with({ selector: '[formControlName="channelOperator"]' }));
27
+ this.channelInput = this.locatorFor(MatInputHarness.with({ selector: '[formControlName="channel"]' }));
28
+ this.operationsInput = this.locatorFor(MatSelectHarness.with({ selector: '[formControlName="operations"]' }));
29
+ this.entrypointsInput = this.locatorFor(MatSelectHarness.with({ selector: '[formControlName="entrypoints"]' }));
30
+ this.conditionInput = this.locatorFor(MatInputHarness.with({ selector: '[formControlName="condition"]' }));
31
+ }
32
+ static { this.hostSelector = 'gio-ps-flow-message-form-dialog'; }
33
+ async setFlowFormValues(flow) {
34
+ if (flow.name) {
35
+ const nameInput = await this.nameInput();
36
+ await nameInput.setValue(flow.name);
37
+ }
38
+ if (flow.channelOperator) {
39
+ const channelOperatorInput = await this.channelOperatorInput();
40
+ const entrypointsInput = await this.entrypointsInput();
41
+ await channelOperatorInput.open();
42
+ // Unselect all options before selecting the new one
43
+ for (const option of await entrypointsInput.getOptions()) {
44
+ if (await option.isSelected()) {
45
+ await option.click();
46
+ }
47
+ }
48
+ await channelOperatorInput.clickOptions({ text: new RegExp(flow.channelOperator, 'i') });
49
+ }
50
+ if (flow.channel) {
51
+ const channelInput = await this.channelInput();
52
+ await channelInput.setValue(flow.channel);
53
+ }
54
+ if (flow.operations) {
55
+ const operationsInput = await this.operationsInput();
56
+ await parallel(() => (flow.operations ?? []).map(async (operation) => {
57
+ await operationsInput.open();
58
+ // Unselect all options before selecting the new one
59
+ for (const option of await operationsInput.getOptions()) {
60
+ if (await option.isSelected()) {
61
+ await option.click();
62
+ }
63
+ }
64
+ await operationsInput.clickOptions({ text: new RegExp(operation, 'i') });
65
+ }));
66
+ }
67
+ if (flow.entrypoints) {
68
+ const entrypointsInput = await this.entrypointsInput();
69
+ await entrypointsInput.open();
70
+ // Unselect all options before selecting the new one
71
+ for (const option of await entrypointsInput.getOptions()) {
72
+ if (await option.isSelected()) {
73
+ await option.click();
74
+ }
75
+ }
76
+ await parallel(() => (flow.entrypoints ?? []).map(async (entrypoint) => {
77
+ await entrypointsInput.clickOptions({ text: new RegExp(entrypoint, 'i') });
78
+ }));
79
+ }
80
+ if (flow.condition) {
81
+ const conditionInput = await this.conditionInput();
82
+ await conditionInput.setValue(flow.condition);
83
+ }
84
+ }
85
+ async getName() {
86
+ return this.nameInput().then(input => input.getValue());
87
+ }
88
+ async getChannelOperator() {
89
+ return this.channelOperatorInput().then(input => input.getValueText());
90
+ }
91
+ async getChannel() {
92
+ return this.channelInput().then(input => input.getValue());
93
+ }
94
+ async getOperations() {
95
+ return this.operationsInput().then(input => input.getValueText());
96
+ }
97
+ async getEntrypoints() {
98
+ return this.entrypointsInput().then(input => input.getValueText());
99
+ }
100
+ async getCondition() {
101
+ return this.conditionInput().then(input => input.getValue());
102
+ }
103
+ async save() {
104
+ const button = await this.getSaveBtn();
105
+ await button.click();
106
+ }
107
+ async cancel() {
108
+ const button = await this.getCancelBtn();
109
+ await button.click();
110
+ }
111
+ async getFormValues() {
112
+ const name = await this.getName();
113
+ const channelOperator = await this.getChannelOperator();
114
+ const channel = await this.getChannel();
115
+ const entrypoints = (await this.getEntrypoints()).split(',');
116
+ const operations = (await this.getOperations()).split(',');
117
+ const condition = await this.getCondition();
118
+ return {
119
+ name,
120
+ channel,
121
+ channelOperator,
122
+ entrypoints,
123
+ operations,
124
+ condition,
125
+ };
126
+ }
127
+ }
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctbWVzc2FnZS1mb3JtLWRpYWxvZy5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mbG93LWZvcm0tZGlhbG9nL2Zsb3ctbWVzc2FnZS1mb3JtLWRpYWxvZy9naW8tcHMtZmxvdy1tZXNzYWdlLWZvcm0tZGlhbG9nLmhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBV3BFLE1BQU0sT0FBTywyQ0FBNEMsU0FBUSxnQkFBZ0I7SUFBakY7O1FBR1UsZUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLGlCQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0YsY0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSwwQkFBMEIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1Rix5QkFBb0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEs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LE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3RCxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNELE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVDLE9BQU87WUFDTCxJQUFJO1lBQ0osT0FBTztZQUNQLGVBQWU7WUFDZixXQUFXO1lBQ1gsVUFBVTtZQUNWLFNBQVM7U0FDVixDQUFDO0lBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzLCBwYXJhbGxlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IE1hdEJ1dHRvbkhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24vdGVzdGluZyc7XG5pbXBvcnQgeyBNYXRJbnB1dEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dC90ZXN0aW5nJztcbmltcG9ydCB7IE1hdFNlbGVjdEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QvdGVzdGluZyc7XG5cbmV4cG9ydCB0eXBlIEdpb1BvbGljeVN0dWRpb0Zsb3dNZXNzYWdlSGFybmVzc0RhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgY2hhbm5lbE9wZXJhdG9yOiBzdHJpbmc7XG4gIGNoYW5uZWw6IHN0cmluZztcbiAgZW50cnlwb2ludHM6IHN0cmluZ1tdO1xuICBvcGVyYXRpb25zOiBzdHJpbmdbXTtcbiAgY29uZGl0aW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvRmxvd01lc3NhZ2VGb3JtRGlhbG9nSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdnaW8tcHMtZmxvdy1tZXNzYWdlLWZvcm0tZGlhbG9nJztcblxuICBwcml2YXRlIGdldFNhdmVCdG4gPSB0aGlzLmxvY2F0b3JGb3IoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuYWN0aW9uc19fc2F2ZUJ0bicgfSkpO1xuICBwcml2YXRlIGdldENhbmNlbEJ0biA9IHRoaXMubG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5hY3Rpb25zX19jYW5jZWxCdG4nIH0pKTtcbiAgcHJpdmF0ZSBuYW1lSW5wdXQgPSB0aGlzLmxvY2F0b3JGb3IoTWF0SW5wdXRIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJ1tmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJdJyB9KSk7XG4gIHByaXZhdGUgY2hhbm5lbE9wZXJhdG9ySW5wdXQgPSB0aGlzLmxvY2F0b3JGb3IoTWF0U2VsZWN0SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICdbZm9ybUNvbnRyb2xOYW1lPVwiY2hhbm5lbE9wZXJhdG9yXCJdJyB9KSk7XG4gIHByaXZhdGUgY2hhbm5lbElucHV0ID0gdGhpcy5sb2NhdG9yRm9yKE1hdElucHV0SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICdbZm9ybUNvbnRyb2xOYW1lPVwiY2hhbm5lbFwiXScgfSkpO1xuICBwcml2YXRlIG9wZXJhdGlvbnNJbnB1dCA9IHRoaXMubG9jYXRvckZvcihNYXRTZWxlY3RIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJ1tmb3JtQ29udHJvbE5hbWU9XCJvcGVyYXRpb25zXCJdJyB9KSk7XG4gIHByaXZhdGUgZW50cnlwb2ludHNJbnB1dCA9IHRoaXMubG9jYXRvckZvcihNYXRTZWxlY3RIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJ1tmb3JtQ29udHJvbE5hbWU9XCJlbnRyeXBvaW50c1wiXScgfSkpO1xuICBwcml2YXRlIGNvbmRpdGlvbklucHV0ID0gdGhpcy5sb2NhdG9yRm9yKE1hdElucHV0SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICdbZm9ybUNvbnRyb2xOYW1lPVwiY29uZGl0aW9uXCJdJyB9KSk7XG5cbiAgcHVibGljIGFzeW5jIHNldEZsb3dGb3JtVmFsdWVzKGZsb3c6IHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGNoYW5uZWxPcGVyYXRvcj86IHN0cmluZztcbiAgICBjaGFubmVsPzogc3RyaW5nO1xuICAgIG9wZXJhdGlvbnM/OiBzdHJpbmdbXTtcbiAgICBlbnRyeXBvaW50cz86IHN0cmluZ1tdO1xuICAgIGNvbmRpdGlvbj86IHN0cmluZztcbiAgfSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChmbG93Lm5hbWUpIHtcbiAgICAgIGNvbnN0IG5hbWVJbnB1dCA9IGF3YWl0IHRoaXMubmFtZUlucHV0KCk7XG4gICAgICBhd2FpdCBuYW1lSW5wdXQuc2V0VmFsdWUoZmxvdy5uYW1lKTtcbiAgICB9XG4gICAgaWYgKGZsb3cuY2hhbm5lbE9wZXJhdG9yKSB7XG4gICAgICBjb25zdCBjaGFubmVsT3BlcmF0b3JJbnB1dCA9IGF3YWl0IHRoaXMuY2hhbm5lbE9wZXJhdG9ySW5wdXQoKTtcbiAgICAgIGNvbnN0IGVudHJ5cG9pbnRzSW5wdXQgPSBhd2FpdCB0aGlzLmVudHJ5cG9pbnRzSW5wdXQoKTtcbiAgICAgIGF3YWl0IGNoYW5uZWxPcGVyYXRvcklucHV0Lm9wZW4oKTtcbiAgICAgIC8vIFVuc2VsZWN0IGFsbCBvcHRpb25zIGJlZm9yZSBzZWxlY3RpbmcgdGhlIG5ldyBvbmVcbiAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIGF3YWl0IGVudHJ5cG9pbnRzSW5wdXQuZ2V0T3B0aW9ucygpKSB7XG4gICAgICAgIGlmIChhd2FpdCBvcHRpb24uaXNTZWxlY3RlZCgpKSB7XG4gICAgICAgICAgYXdhaXQgb3B0aW9uLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGF3YWl0IGNoYW5uZWxPcGVyYXRvcklucHV0LmNsaWNrT3B0aW9ucyh7IHRleHQ6IG5ldyBSZWdFeHAoZmxvdy5jaGFubmVsT3BlcmF0b3IsICdpJykgfSk7XG4gICAgfVxuICAgIGlmIChmbG93LmNoYW5uZWwpIHtcbiAgICAgIGNvbnN0IGNoYW5uZWxJbnB1dCA9IGF3YWl0IHRoaXMuY2hhbm5lbElucHV0KCk7XG4gICAgICBhd2FpdCBjaGFubmVsSW5wdXQuc2V0VmFsdWUoZmxvdy5jaGFubmVsKTtcbiAgICB9XG4gICAgaWYgKGZsb3cub3BlcmF0aW9ucykge1xuICAgICAgY29uc3Qgb3BlcmF0aW9uc0lucHV0ID0gYXdhaXQgdGhpcy5vcGVyYXRpb25zSW5wdXQoKTtcbiAgICAgIGF3YWl0IHBhcmFsbGVsKCgpID0+XG4gICAgICAgIChmbG93Lm9wZXJhdGlvbnMgPz8gW10pLm1hcChhc3luYyBvcGVyYXRpb24gPT4ge1xuICAgICAgICAgIGF3YWl0IG9wZXJhdGlvbnNJbnB1dC5vcGVuKCk7XG4gICAgICAgICAgLy8gVW5zZWxlY3QgYWxsIG9wdGlvbnMgYmVmb3JlIHNlbGVjdGluZyB0aGUgbmV3IG9uZVxuICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIGF3YWl0IG9wZXJhdGlvbnNJbnB1dC5nZXRPcHRpb25zKCkpIHtcbiAgICAgICAgICAgIGlmIChhd2FpdCBvcHRpb24uaXNTZWxlY3RlZCgpKSB7XG4gICAgICAgICAgICAgIGF3YWl0IG9wdGlvbi5jbGljaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBhd2FpdCBvcGVyYXRpb25zSW5wdXQuY2xpY2tPcHRpb25zKHsgdGV4dDogbmV3IFJlZ0V4cChvcGVyYXRpb24sICdpJykgfSk7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGZsb3cuZW50cnlwb2ludHMpIHtcbiAgICAgIGNvbnN0IGVudHJ5cG9pbnRzSW5wdXQgPSBhd2FpdCB0aGlzLmVudHJ5cG9pbnRzSW5wdXQoKTtcbiAgICAgIGF3YWl0IGVudHJ5cG9pbnRzSW5wdXQub3BlbigpO1xuICAgICAgLy8gVW5zZWxlY3QgYWxsIG9wdGlvbnMgYmVmb3JlIHNlbGVjdGluZyB0aGUgbmV3IG9uZVxuICAgICAgZm9yIChjb25zdCBvcHRpb24gb2YgYXdhaXQgZW50cnlwb2ludHNJbnB1dC5nZXRPcHRpb25zKCkpIHtcbiAgICAgICAgaWYgKGF3YWl0IG9wdGlvbi5pc1NlbGVjdGVkKCkpIHtcbiAgICAgICAgICBhd2FpdCBvcHRpb24uY2xpY2soKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYXdhaXQgcGFyYWxsZWwoKCkgPT5cbiAgICAgICAgKGZsb3cuZW50cnlwb2ludHMgPz8gW10pLm1hcChhc3luYyBlbnRyeXBvaW50ID0+IHtcbiAgICAgICAgICBhd2FpdCBlbnRyeXBvaW50c0lucHV0LmNsaWNrT3B0aW9ucyh7IHRleHQ6IG5ldyBSZWdFeHAoZW50cnlwb2ludCwgJ2knKSB9KTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoZmxvdy5jb25kaXRpb24pIHtcbiAgICAgIGNvbnN0IGNvbmRpdGlvbklucHV0ID0gYXdhaXQgdGhpcy5jb25kaXRpb25JbnB1dCgpO1xuICAgICAgYXdhaXQgY29uZGl0aW9uSW5wdXQuc2V0VmFsdWUoZmxvdy5jb25kaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXROYW1lKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMubmFtZUlucHV0KCkudGhlbihpbnB1dCA9PiBpbnB1dC5nZXRWYWx1ZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRDaGFubmVsT3BlcmF0b3IoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFubmVsT3BlcmF0b3JJbnB1dCgpLnRoZW4oaW5wdXQgPT4gaW5wdXQuZ2V0VmFsdWVUZXh0KCkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldENoYW5uZWwoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFubmVsSW5wdXQoKS50aGVuKGlucHV0ID0+IGlucHV0LmdldFZhbHVlKCkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldE9wZXJhdGlvbnMoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb25zSW5wdXQoKS50aGVuKGlucHV0ID0+IGlucHV0LmdldFZhbHVlVGV4dCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRFbnRyeXBvaW50cygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmVudHJ5cG9pbnRzSW5wdXQoKS50aGVuKGlucHV0ID0+IGlucHV0LmdldFZhbHVlVGV4dCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRDb25kaXRpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5jb25kaXRpb25JbnB1dCgpLnRoZW4oaW5wdXQgPT4gaW5wdXQuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2F2ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLmdldFNhdmVCdG4oKTtcbiAgICBhd2FpdCBidXR0b24uY2xpY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjYW5jZWwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYnV0dG9uID0gYXdhaXQgdGhpcy5nZXRDYW5jZWxCdG4oKTtcbiAgICBhd2FpdCBidXR0b24uY2xpY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRGb3JtVmFsdWVzKCk6IFByb21pc2U8R2lvUG9saWN5U3R1ZGlvRmxvd01lc3NhZ2VIYXJuZXNzRGF0YT4ge1xuICAgIGNvbnN0IG5hbWUgPSBhd2FpdCB0aGlzLmdldE5hbWUoKTtcbiAgICBjb25zdCBjaGFubmVsT3BlcmF0b3IgPSBhd2FpdCB0aGlzLmdldENoYW5uZWxPcGVyYXRvcigpO1xuICAgIGNvbnN0IGNoYW5uZWwgPSBhd2FpdCB0aGlzLmdldENoYW5uZWwoKTtcbiAgICBjb25zdCBlbnRyeXBvaW50cyA9IChhd2FpdCB0aGlzLmdldEVudHJ5cG9pbnRzKCkpLnNwbGl0KCcsJyk7XG4gICAgY29uc3Qgb3BlcmF0aW9ucyA9IChhd2FpdCB0aGlzLmdldE9wZXJhdGlvbnMoKSkuc3BsaXQoJywnKTtcbiAgICBjb25zdCBjb25kaXRpb24gPSBhd2FpdCB0aGlzLmdldENvbmRpdGlvbigpO1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAgY2hhbm5lbCxcbiAgICAgIGNoYW5uZWxPcGVyYXRvcixcbiAgICAgIGVudHJ5cG9pbnRzLFxuICAgICAgb3BlcmF0aW9ucyxcbiAgICAgIGNvbmRpdGlvbixcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,50 @@
1
+ /*
2
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { ComponentHarness } from '@angular/cdk/testing';
17
+ import { MatButtonHarness } from '@angular/material/button/testing';
18
+ import { MatInputHarness } from '@angular/material/input/testing';
19
+ export class GioPolicyStudioFlowNativeFormDialogHarness extends ComponentHarness {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.getSaveBtn = this.locatorFor(MatButtonHarness.with({ selector: '.actions__saveBtn' }));
23
+ this.getCancelBtn = this.locatorFor(MatButtonHarness.with({ selector: '.actions__cancelBtn' }));
24
+ this.nameInput = this.locatorFor(MatInputHarness.with({ selector: '[formControlName="name"]' }));
25
+ }
26
+ static { this.hostSelector = 'gio-ps-flow-native-form-dialog'; }
27
+ async setFlowFormValues(flow) {
28
+ if (flow.name) {
29
+ const nameInput = await this.nameInput();
30
+ await nameInput.setValue(flow.name);
31
+ }
32
+ }
33
+ async getFlowFormValues() {
34
+ return {
35
+ name: await this.getFlowName(),
36
+ };
37
+ }
38
+ async getFlowName() {
39
+ return this.nameInput().then(input => input.getValue());
40
+ }
41
+ async save() {
42
+ const button = await this.getSaveBtn();
43
+ await button.click();
44
+ }
45
+ async cancel() {
46
+ const button = await this.getCancelBtn();
47
+ await button.click();
48
+ }
49
+ }
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctbmF0aXZlLWZvcm0tZGlhbG9nLmhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zsb3ctZm9ybS1kaWFsb2cvZmxvdy1uYXRpdmUtZm9ybS1kaWFsb2cvZ2lvLXBzLWZsb3ctbmF0aXZlLWZvcm0tZGlhbG9nLmhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFNbEUsTUFBTSxPQUFPLDBDQUEyQyxTQUFRLGdCQUFnQjtJQUFoRjs7UUFHVSxlQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkYsaUJBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRixjQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBMkJ0RyxDQUFDO2FBL0JlLGlCQUFZLEdBQUcsZ0NBQWdDLEFBQW5DLENBQW9DO0lBTXZELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUF1QjtRQUNwRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsaUJBQWlCO1FBQzVCLE9BQU87WUFDTCxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQy9CLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVc7UUFDdEIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNNLEtBQUssQ0FBQyxJQUFJO1FBQ2YsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkMsTUFBTSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLEtBQUssQ0FBQyxNQUFNO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pDLE1BQU0sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIyIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IE1hdEJ1dHRvbkhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24vdGVzdGluZyc7XG5pbXBvcnQgeyBNYXRJbnB1dEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dC90ZXN0aW5nJztcblxuZXhwb3J0IHR5cGUgR2lvUG9saWN5U3R1ZGlvRmxvd05hdGl2ZUhhcm5lc3NEYXRhID0ge1xuICBuYW1lOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvRmxvd05hdGl2ZUZvcm1EaWFsb2dIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1wcy1mbG93LW5hdGl2ZS1mb3JtLWRpYWxvZyc7XG5cbiAgcHJpdmF0ZSBnZXRTYXZlQnRuID0gdGhpcy5sb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmFjdGlvbnNfX3NhdmVCdG4nIH0pKTtcbiAgcHJpdmF0ZSBnZXRDYW5jZWxCdG4gPSB0aGlzLmxvY2F0b3JGb3IoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuYWN0aW9uc19fY2FuY2VsQnRuJyB9KSk7XG4gIHByaXZhdGUgbmFtZUlucHV0ID0gdGhpcy5sb2NhdG9yRm9yKE1hdElucHV0SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICdbZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXScgfSkpO1xuXG4gIHB1YmxpYyBhc3luYyBzZXRGbG93Rm9ybVZhbHVlcyhmbG93OiB7IG5hbWU/OiBzdHJpbmcgfSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChmbG93Lm5hbWUpIHtcbiAgICAgIGNvbnN0IG5hbWVJbnB1dCA9IGF3YWl0IHRoaXMubmFtZUlucHV0KCk7XG4gICAgICBhd2FpdCBuYW1lSW5wdXQuc2V0VmFsdWUoZmxvdy5uYW1lKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0Rmxvd0Zvcm1WYWx1ZXMoKTogUHJvbWlzZTxHaW9Qb2xpY3lTdHVkaW9GbG93TmF0aXZlSGFybmVzc0RhdGE+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogYXdhaXQgdGhpcy5nZXRGbG93TmFtZSgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0Rmxvd05hbWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5uYW1lSW5wdXQoKS50aGVuKGlucHV0ID0+IGlucHV0LmdldFZhbHVlKCkpO1xuICB9XG4gIHB1YmxpYyBhc3luYyBzYXZlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuZ2V0U2F2ZUJ0bigpO1xuICAgIGF3YWl0IGJ1dHRvbi5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNhbmNlbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLmdldENhbmNlbEJ0bigpO1xuICAgIGF3YWl0IGJ1dHRvbi5jbGljaygpO1xuICB9XG59XG4iXX0=