@gravitee/ui-policy-studio-angular 9.6.0 → 10.0.0
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.
- package/{esm2020 → esm2022}/lib/components/filter-pipe/gio-flter-connectors-by-mode.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/flow-details/gio-ps-flow-details.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/flows-menu/gio-ps-flows-menu.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/step-form/gio-ps-step-form.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/gio-policy-studio.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/gio-policy-studio.module.mjs +53 -53
- package/{esm2020 → esm2022}/lib/gio-policy-studio.service.mjs +4 -4
- package/esm2022/testing/lib/components/flow-details/gio-ps-flow-details.harness.mjs +41 -0
- package/esm2022/testing/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.harness.mjs +35 -0
- package/esm2022/testing/lib/components/flow-details-phase/gio-ps-flow-details-phase.harness.mjs +126 -0
- package/esm2022/testing/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.harness.mjs +50 -0
- package/esm2022/testing/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.harness.mjs +60 -0
- package/esm2022/testing/lib/components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.harness.mjs +128 -0
- package/esm2022/testing/lib/components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.harness.mjs +98 -0
- package/esm2022/testing/lib/components/flows-menu/gio-ps-flows-menu.harness.mjs +71 -0
- package/esm2022/testing/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness.mjs +87 -0
- package/{esm2020 → esm2022}/testing/lib/components/step-edit-dialog/gio-ps-step-edit-dialog.harness.mjs +2 -2
- package/esm2022/testing/lib/components/step-form/gio-ps-step-form.harness.mjs +49 -0
- package/esm2022/testing/lib/gio-policy-studio.harness.mjs +161 -0
- package/{fesm2020 → fesm2022}/gravitee-ui-policy-studio-angular-testing.mjs +12 -12
- package/{fesm2020 → fesm2022}/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/gravitee-ui-policy-studio-angular.mjs +103 -103
- package/{fesm2020 → fesm2022}/gravitee-ui-policy-studio-angular.mjs.map +1 -1
- package/lib/components/flow-details/gio-ps-flow-details.component.d.ts +1 -1
- package/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.component.d.ts +1 -1
- package/lib/components/flow-details-phase/gio-ps-flow-details-phase.component.d.ts +1 -1
- package/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.component.d.ts +1 -1
- package/lib/components/flows-menu/gio-ps-flows-menu.component.d.ts +1 -1
- package/lib/components/step-form/gio-ps-step-form.component.d.ts +1 -1
- package/lib/gio-policy-studio.component.d.ts +1 -1
- package/package.json +14 -22
- package/esm2020/testing/lib/components/flow-details/gio-ps-flow-details.harness.mjs +0 -41
- package/esm2020/testing/lib/components/flow-details-info-bar/gio-ps-flow-details-info-bar.harness.mjs +0 -35
- package/esm2020/testing/lib/components/flow-details-phase/gio-ps-flow-details-phase.harness.mjs +0 -126
- package/esm2020/testing/lib/components/flow-details-phase-step/gio-ps-flow-details-phase-step.harness.mjs +0 -50
- package/esm2020/testing/lib/components/flow-execution-form-dialog/gio-ps-flow-execution-form-dialog.harness.mjs +0 -60
- package/esm2020/testing/lib/components/flow-form-dialog/flow-message-form-dialog/gio-ps-flow-message-form-dialog.harness.mjs +0 -128
- package/esm2020/testing/lib/components/flow-form-dialog/flow-proxy-form-dialog/gio-ps-flow-proxy-form-dialog.harness.mjs +0 -98
- package/esm2020/testing/lib/components/flows-menu/gio-ps-flows-menu.harness.mjs +0 -71
- package/esm2020/testing/lib/components/policies-catalog-dialog/gio-ps-policies-catalog-dialog.harness.mjs +0 -87
- package/esm2020/testing/lib/components/step-form/gio-ps-step-form.harness.mjs +0 -49
- package/esm2020/testing/lib/gio-policy-studio.harness.mjs +0 -161
- package/fesm2015/gravitee-ui-policy-studio-angular-testing.mjs +0 -1443
- package/fesm2015/gravitee-ui-policy-studio-angular-testing.mjs.map +0 -1
- package/fesm2015/gravitee-ui-policy-studio-angular.mjs +0 -1645
- package/fesm2015/gravitee-ui-policy-studio-angular.mjs.map +0 -1
- /package/{esm2020 → esm2022}/gravitee-ui-policy-studio-angular.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/flow-form-dialog/gio-ps-flow-form-dialog-result.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gio-policy-studio.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/ConnectorsInfo.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/PolicySchemaFetcher.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/SaveOutput.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/flow/ApiType.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/flow/Flow.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/flow/FlowExecution.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/flow/HttpMethod.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/flow/Selector.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/flow/Step.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/flow/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/plan/Plan.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/plan/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/policy/Policy.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/policy/index.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/gravitee-ui-policy-studio-angular-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/ConnectorsInfo.fixture.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/ConnectorsInfo.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/PolicySchemaFetcher.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/SaveOutput.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/flow/ApiType.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/flow/Flow.fixture.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/flow/Flow.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/flow/FlowExecution.fixture.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/flow/FlowExecution.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/flow/HttpMethod.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/flow/Selector.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/flow/Step.fixture.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/flow/Step.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/flow/index-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/flow/index.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/index-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/plan/Plan.fixture.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/plan/Plan.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/plan/index-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/plan/index.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/policy/Policy.fixture.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/policy/Policy.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/policy/index-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lib/models/policy/index.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/public-testing-api.mjs +0 -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1pbmZvLWJhci5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mbG93LWRldGFpbHMtaW5mby1iYXIvZ2lvLXBzLWZsb3ctZGV0YWlscy1pbmZvLWJhci5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFakYsTUFBTSxPQUFPLG9DQUFxQyxTQUFRLGdCQUFnQjthQUMxRCxpQkFBWSxHQUFHLDhCQUE4QixDQUFDO0lBRXJELEtBQUssQ0FBQyxRQUFRO1FBQ25CLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXBGLE1BQU0sV0FBVyxHQUFHLE1BQU0sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUN0QyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsRUFBRTtZQUN4QixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzRixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzlGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDcEcsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUN0QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUM3QztZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQXVDLENBQUMsQ0FBQztJQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50SGFybmVzcywgcGFyYWxsZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBEaXZIYXJuZXNzLCBTcGFuSGFybmVzcyB9IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhci90ZXN0aW5nJztcblxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb0RldGFpbHNJbmZvQmFySGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdnaW8tcHMtZmxvdy1kZXRhaWxzLWluZm8tYmFyJztcblxuICBwdWJsaWMgYXN5bmMgZ2V0SW5mb3MoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCAoc3RyaW5nIHwgbnVsbClbXT4+IHtcbiAgICBjb25zdCBpbmZvc0RpdiA9IGF3YWl0IHRoaXMubG9jYXRvckZvckFsbChEaXZIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5pbmZvJyB9KSkoKTtcblxuICAgIGNvbnN0IGFsbEtleVZhbHVlID0gYXdhaXQgcGFyYWxsZWwoKCkgPT5cbiAgICAgIGluZm9zRGl2Lm1hcChhc3luYyBpbmZvID0+IHtcbiAgICAgICAgY29uc3QgbGFiZWwgPSBhd2FpdCBpbmZvLmNoaWxkTG9jYXRvckZvcihTcGFuSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuaW5mb19fbGFiZWwnIH0pKSgpO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IGluZm8uY2hpbGRMb2NhdG9yRm9yQWxsKFNwYW5IYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5pbmZvX192YWx1ZScgfSkpKCk7XG4gICAgICAgIHJldHVybiB7IGxhYmVsOiBhd2FpdCBsYWJlbC5nZXRUZXh0KCksIHZhbHVlOiBhd2FpdCBwYXJhbGxlbCgoKSA9PiB2YWx1ZS5tYXAodiA9PiB2LmdldFRleHQoKSkpIH07XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgcmV0dXJuIGFsbEtleVZhbHVlLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiB7XG4gICAgICBpZiAoY3Vyci5sYWJlbCkge1xuICAgICAgICByZXR1cm4geyAuLi5hY2MsIFtjdXJyLmxhYmVsXTogY3Vyci52YWx1ZSB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCAoc3RyaW5nIHwgbnVsbClbXT4pO1xuICB9XG59XG4iXX0=
|
package/esm2022/testing/lib/components/flow-details-phase/gio-ps-flow-details-phase.harness.mjs
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
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
|
+
REQUEST: 'Request phase',
|
|
25
|
+
RESPONSE: 'Response phase',
|
|
26
|
+
PUBLISH: 'Publish phase',
|
|
27
|
+
SUBSCRIBE: 'Subscribe phase',
|
|
28
|
+
};
|
|
29
|
+
export class GioPolicyStudioDetailsPhaseHarness extends ComponentHarness {
|
|
30
|
+
constructor() {
|
|
31
|
+
super(...arguments);
|
|
32
|
+
this.getHeaderName = () => this.locatorForOptional(SpanHarness.with({ selector: '.header__name' }))().then(async (span) => span?.getText() ?? null);
|
|
33
|
+
}
|
|
34
|
+
static { this.hostSelector = 'gio-ps-flow-details-phase'; }
|
|
35
|
+
/**
|
|
36
|
+
* Get Harness with the given filter.
|
|
37
|
+
*
|
|
38
|
+
* @param options Options for filtering which input instances are considered a match.
|
|
39
|
+
* @return a `HarnessPredicate` configured with the given options.
|
|
40
|
+
*/
|
|
41
|
+
static with(options = {}) {
|
|
42
|
+
return new HarnessPredicate(GioPolicyStudioDetailsPhaseHarness, options).addOption('type', options.type, async (harness, type) => HarnessPredicate.stringMatches(harness.getHeaderName(), TYPE_TO_TEXT[type]));
|
|
43
|
+
}
|
|
44
|
+
async getSteps() {
|
|
45
|
+
if (await this.locatorForOptional('.disabledContent')()) {
|
|
46
|
+
return 'DISABLED';
|
|
47
|
+
}
|
|
48
|
+
const stepsDiv = await this.locatorForAll(DivHarness.with({ selector: '.content__step' }))();
|
|
49
|
+
if (isEmpty(stepsDiv)) {
|
|
50
|
+
// No step - the phase is disabled
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
return await parallel(() => stepsDiv.map(async (stepDiv) => {
|
|
54
|
+
const idConnector = !!(await stepDiv.getText({ childSelector: '.content__step__connector__badge' }));
|
|
55
|
+
if (idConnector) {
|
|
56
|
+
return {
|
|
57
|
+
name: (await stepDiv.getText()) ?? '',
|
|
58
|
+
type: 'connector',
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const step = await stepDiv.childLocatorFor(GioPolicyStudioDetailsPhaseStepHarness)();
|
|
62
|
+
const conditionDiv = await stepDiv.childLocatorForOptional(DivHarness.with({ selector: '.content__step__policy__condition' }))();
|
|
63
|
+
const description = await step.getDescription();
|
|
64
|
+
return {
|
|
65
|
+
type: 'step',
|
|
66
|
+
name: await step.getName(),
|
|
67
|
+
hasCondition: !!conditionDiv,
|
|
68
|
+
...(description ? { description } : {}),
|
|
69
|
+
};
|
|
70
|
+
}));
|
|
71
|
+
}
|
|
72
|
+
async getStep(index) {
|
|
73
|
+
const steps = await this.locatorForAll(GioPolicyStudioDetailsPhaseStepHarness)();
|
|
74
|
+
if (!steps[index]) {
|
|
75
|
+
throw new Error(`Step ${index} not found`);
|
|
76
|
+
}
|
|
77
|
+
return steps[index];
|
|
78
|
+
}
|
|
79
|
+
async clickAddStep(index) {
|
|
80
|
+
const addStepBtn = await this.locatorForAll(DivHarness.with({ selector: '.content__step' }))().then(divs => divs[index]);
|
|
81
|
+
await addStepBtn
|
|
82
|
+
.childLocatorFor(MatButtonHarness.with({ selector: '.content__step__addBtn' }))()
|
|
83
|
+
.then(btn => btn.click());
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Add a step to a phase
|
|
87
|
+
* @param index Index where to add the step. (Add button index)
|
|
88
|
+
* @param stepConfig Step to add
|
|
89
|
+
*/
|
|
90
|
+
async addStep(index, stepConfig) {
|
|
91
|
+
await this.clickAddStep(index);
|
|
92
|
+
const catalogDialog = await this.documentRootLocatorFactory().locatorFor(GioPolicyStudioPoliciesCatalogDialogHarness)();
|
|
93
|
+
await catalogDialog.selectPolicy(stepConfig.policyName);
|
|
94
|
+
await (await catalogDialog.getStepForm()).setStepForm(stepConfig);
|
|
95
|
+
await catalogDialog.clickAddPolicyButton();
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Edit a step configuration
|
|
99
|
+
* @param index Index of the policy step to edit
|
|
100
|
+
* @param stepConfig Step configuration
|
|
101
|
+
*/
|
|
102
|
+
async editStep(index, stepConfig) {
|
|
103
|
+
const step = await this.getStep(index);
|
|
104
|
+
await step.clickOnEdit();
|
|
105
|
+
const stepEditDialog = await this.documentRootLocatorFactory().locatorFor(GioPolicyStudioStepEditDialogHarness)();
|
|
106
|
+
await (await stepEditDialog.getStepForm()).setStepForm(stepConfig);
|
|
107
|
+
await stepEditDialog.save();
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Delete a step
|
|
111
|
+
* @param index Index of the policy step to delete
|
|
112
|
+
*/
|
|
113
|
+
async deleteStep(index) {
|
|
114
|
+
const step = await this.getStep(index);
|
|
115
|
+
await step.clickOnDelete();
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Disable a step
|
|
119
|
+
* @param index Index of the policy step to disable
|
|
120
|
+
*/
|
|
121
|
+
async disableEnableStep(index) {
|
|
122
|
+
const step = await this.getStep(index);
|
|
123
|
+
await step.clickOnDisableEnable();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mbG93LWRldGFpbHMtcGhhc2UvZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFzQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFcEUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDM0gsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0scURBQXFELENBQUM7QUFDM0csT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFTaEksTUFBTSxZQUFZLEdBQThCO0lBQzlDLE9BQU8sRUFBRSxlQUFlO0lBQ3hCLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsT0FBTyxFQUFFLGVBQWU7SUFDeEIsU0FBUyxFQUFFLGlCQUFpQjtDQUM3QixDQUFDO0FBY0YsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLGdCQUFnQjtJQUF4RTs7UUFHVSxrQkFBYSxHQUFHLEdBQUcsRUFBRSxDQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBd0gzSCxDQUFDO2FBM0hlLGlCQUFZLEdBQUcsMkJBQTJCLENBQUM7SUFLekQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQXFELEVBQUU7UUFDeEUsT0FBTyxJQUFJLGdCQUFnQixDQUFDLGtDQUFrQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLENBQy9ILGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQzVFLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLFFBQVE7UUFDbkIsSUFBSSxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUU7WUFDdkQsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRTdGLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JCLGtDQUFrQztZQUNsQyxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsT0FBTyxNQUFNLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDekIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsT0FBTyxFQUFDLEVBQUU7WUFDM0IsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsYUFBYSxFQUFFLGtDQUFrQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JHLElBQUksV0FBVyxFQUFFO2dCQUNmLE9BQU87b0JBQ0wsSUFBSSxFQUFFLENBQUMsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFO29CQUNyQyxJQUFJLEVBQUUsV0FBVztpQkFDbEIsQ0FBQzthQUNIO1lBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsZUFBZSxDQUFDLHNDQUFzQyxDQUFDLEVBQUUsQ0FBQztZQUNyRixNQUFNLFlBQVksR0FBRyxNQUFNLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDakksTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFaEQsT0FBTztnQkFDTCxJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUMxQixZQUFZLEVBQUUsQ0FBQyxDQUFDLFlBQVk7Z0JBQzVCLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUN4QyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQWE7UUFDaEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLHNDQUFzQyxDQUFDLEVBQUUsQ0FBQztRQUNqRixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLFlBQVksQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBYTtRQUNyQyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXpILE1BQU0sVUFBVTthQUNiLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDLEVBQUU7YUFDaEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsT0FBTyxDQUNsQixLQUFhLEVBQ2IsVUFFWTtRQUVaLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvQixNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDLFVBQVUsQ0FBQywyQ0FBMkMsQ0FBQyxFQUFFLENBQUM7UUFDeEgsTUFBTSxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV4RCxNQUFNLENBQUMsTUFBTSxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEUsTUFBTSxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBYSxFQUFFLFVBQW9CO1FBQ3ZELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV2QyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUV6QixNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFFLENBQUM7UUFDbEgsTUFBTSxDQUFDLE1BQU0sY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRW5FLE1BQU0sY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDbkMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXZDLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBYTtRQUMxQyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsTUFBTSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQmFzZUhhcm5lc3NGaWx0ZXJzLCBDb21wb25lbnRIYXJuZXNzLCBIYXJuZXNzUHJlZGljYXRlLCBwYXJhbGxlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IERpdkhhcm5lc3MsIFNwYW5IYXJuZXNzIH0gZnJvbSAnQGdyYXZpdGVlL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3Rlc3RpbmcnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBNYXRCdXR0b25IYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VTdGVwSGFybmVzcyB9IGZyb20gJy4uL2Zsb3ctZGV0YWlscy1waGFzZS1zdGVwL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2Utc3RlcC5oYXJuZXNzJztcbmltcG9ydCB7IEdpb1BvbGljeVN0dWRpb1N0ZXBFZGl0RGlhbG9nSGFybmVzcyB9IGZyb20gJy4uL3N0ZXAtZWRpdC1kaWFsb2cvZ2lvLXBzLXN0ZXAtZWRpdC1kaWFsb2cuaGFybmVzcyc7XG5pbXBvcnQgeyBHaW9Qb2xpY3lTdHVkaW9Qb2xpY2llc0NhdGFsb2dEaWFsb2dIYXJuZXNzIH0gZnJvbSAnLi4vcG9saWNpZXMtY2F0YWxvZy1kaWFsb2cvZ2lvLXBzLXBvbGljaWVzLWNhdGFsb2ctZGlhbG9nLmhhcm5lc3MnO1xuaW1wb3J0IHsgU3RlcEZvcm0gfSBmcm9tICcuLi9zdGVwLWZvcm0vZ2lvLXBzLXN0ZXAtZm9ybS5oYXJuZXNzJztcblxuZXhwb3J0IHR5cGUgUGhhc2VUeXBlID0gJ1JFUVVFU1QnIHwgJ1JFU1BPTlNFJyB8ICdQVUJMSVNIJyB8ICdTVUJTQ1JJQkUnO1xuXG5leHBvcnQgdHlwZSBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VIYXJuZXNzRmlsdGVycyA9IEJhc2VIYXJuZXNzRmlsdGVycyAmIHtcbiAgdHlwZT86IFBoYXNlVHlwZTtcbn07XG5cbmNvbnN0IFRZUEVfVE9fVEVYVDogUmVjb3JkPFBoYXNlVHlwZSwgc3RyaW5nPiA9IHtcbiAgUkVRVUVTVDogJ1JlcXVlc3QgcGhhc2UnLFxuICBSRVNQT05TRTogJ1Jlc3BvbnNlIHBoYXNlJyxcbiAgUFVCTElTSDogJ1B1Ymxpc2ggcGhhc2UnLFxuICBTVUJTQ1JJQkU6ICdTdWJzY3JpYmUgcGhhc2UnLFxufTtcblxuZXhwb3J0IHR5cGUgU3RlcENhcmQgPVxuICB8IHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIHR5cGU6ICdjb25uZWN0b3InO1xuICAgIH1cbiAgfCB7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgIGhhc0NvbmRpdGlvbjogYm9vbGVhbjtcbiAgICAgIHR5cGU6ICdzdGVwJztcbiAgICB9O1xuXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlSGFybmVzcyBleHRlbmRzIENvbXBvbmVudEhhcm5lc3Mge1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICdnaW8tcHMtZmxvdy1kZXRhaWxzLXBoYXNlJztcblxuICBwcml2YXRlIGdldEhlYWRlck5hbWUgPSAoKSA9PlxuICAgIHRoaXMubG9jYXRvckZvck9wdGlvbmFsKFNwYW5IYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5oZWFkZXJfX25hbWUnIH0pKSgpLnRoZW4oYXN5bmMgc3BhbiA9PiBzcGFuPy5nZXRUZXh0KCkgPz8gbnVsbCk7XG5cbiAgLyoqXG4gICAqIEdldCBIYXJuZXNzIHdpdGggdGhlIGdpdmVuIGZpbHRlci5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgZmlsdGVyaW5nIHdoaWNoIGlucHV0IGluc3RhbmNlcyBhcmUgY29uc2lkZXJlZCBhIG1hdGNoLlxuICAgKiBAcmV0dXJuIGEgYEhhcm5lc3NQcmVkaWNhdGVgIGNvbmZpZ3VyZWQgd2l0aCB0aGUgZ2l2ZW4gb3B0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChvcHRpb25zOiBHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VIYXJuZXNzRmlsdGVycyA9IHt9KTogSGFybmVzc1ByZWRpY2F0ZTxHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VIYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZUhhcm5lc3MsIG9wdGlvbnMpLmFkZE9wdGlvbigndHlwZScsIG9wdGlvbnMudHlwZSwgYXN5bmMgKGhhcm5lc3MsIHR5cGUpID0+XG4gICAgICBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzcy5nZXRIZWFkZXJOYW1lKCksIFRZUEVfVE9fVEVYVFt0eXBlXSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGVwcygpOiBQcm9taXNlPFN0ZXBDYXJkW10gfCAnRElTQUJMRUQnPiB7XG4gICAgaWYgKGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKCcuZGlzYWJsZWRDb250ZW50JykoKSkge1xuICAgICAgcmV0dXJuICdESVNBQkxFRCc7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RlcHNEaXYgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoRGl2SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuY29udGVudF9fc3RlcCcgfSkpKCk7XG5cbiAgICBpZiAoaXNFbXB0eShzdGVwc0RpdikpIHtcbiAgICAgIC8vIE5vIHN0ZXAgLSB0aGUgcGhhc2UgaXMgZGlzYWJsZWRcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgcGFyYWxsZWwoKCkgPT5cbiAgICAgIHN0ZXBzRGl2Lm1hcChhc3luYyBzdGVwRGl2ID0+IHtcbiAgICAgICAgY29uc3QgaWRDb25uZWN0b3IgPSAhIShhd2FpdCBzdGVwRGl2LmdldFRleHQoeyBjaGlsZFNlbGVjdG9yOiAnLmNvbnRlbnRfX3N0ZXBfX2Nvbm5lY3Rvcl9fYmFkZ2UnIH0pKTtcbiAgICAgICAgaWYgKGlkQ29ubmVjdG9yKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IChhd2FpdCBzdGVwRGl2LmdldFRleHQoKSkgPz8gJycsXG4gICAgICAgICAgICB0eXBlOiAnY29ubmVjdG9yJyxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0ZXAgPSBhd2FpdCBzdGVwRGl2LmNoaWxkTG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9EZXRhaWxzUGhhc2VTdGVwSGFybmVzcykoKTtcbiAgICAgICAgY29uc3QgY29uZGl0aW9uRGl2ID0gYXdhaXQgc3RlcERpdi5jaGlsZExvY2F0b3JGb3JPcHRpb25hbChEaXZIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5jb250ZW50X19zdGVwX19wb2xpY3lfX2NvbmRpdGlvbicgfSkpKCk7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gYXdhaXQgc3RlcC5nZXREZXNjcmlwdGlvbigpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHlwZTogJ3N0ZXAnLFxuICAgICAgICAgIG5hbWU6IGF3YWl0IHN0ZXAuZ2V0TmFtZSgpLFxuICAgICAgICAgIGhhc0NvbmRpdGlvbjogISFjb25kaXRpb25EaXYsXG4gICAgICAgICAgLi4uKGRlc2NyaXB0aW9uID8geyBkZXNjcmlwdGlvbiB9IDoge30pLFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGVwKGluZGV4OiBudW1iZXIpOiBQcm9taXNlPEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZVN0ZXBIYXJuZXNzPiB7XG4gICAgY29uc3Qgc3RlcHMgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlU3RlcEhhcm5lc3MpKCk7XG4gICAgaWYgKCFzdGVwc1tpbmRleF0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU3RlcCAke2luZGV4fSBub3QgZm91bmRgKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0ZXBzW2luZGV4XTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjbGlja0FkZFN0ZXAoaW5kZXg6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGFkZFN0ZXBCdG4gPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3JBbGwoRGl2SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuY29udGVudF9fc3RlcCcgfSkpKCkudGhlbihkaXZzID0+IGRpdnNbaW5kZXhdKTtcblxuICAgIGF3YWl0IGFkZFN0ZXBCdG5cbiAgICAgIC5jaGlsZExvY2F0b3JGb3IoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuY29udGVudF9fc3RlcF9fYWRkQnRuJyB9KSkoKVxuICAgICAgLnRoZW4oYnRuID0+IGJ0bi5jbGljaygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBzdGVwIHRvIGEgcGhhc2VcbiAgICogQHBhcmFtIGluZGV4IEluZGV4IHdoZXJlIHRvIGFkZCB0aGUgc3RlcC4gKEFkZCBidXR0b24gaW5kZXgpXG4gICAqIEBwYXJhbSBzdGVwQ29uZmlnIFN0ZXAgdG8gYWRkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYWRkU3RlcChcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIHN0ZXBDb25maWc6IHtcbiAgICAgIHBvbGljeU5hbWU6IHN0cmluZztcbiAgICB9ICYgU3RlcEZvcm0sXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuY2xpY2tBZGRTdGVwKGluZGV4KTtcblxuICAgIGNvbnN0IGNhdGFsb2dEaWFsb2cgPSBhd2FpdCB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCkubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9Qb2xpY2llc0NhdGFsb2dEaWFsb2dIYXJuZXNzKSgpO1xuICAgIGF3YWl0IGNhdGFsb2dEaWFsb2cuc2VsZWN0UG9saWN5KHN0ZXBDb25maWcucG9saWN5TmFtZSk7XG5cbiAgICBhd2FpdCAoYXdhaXQgY2F0YWxvZ0RpYWxvZy5nZXRTdGVwRm9ybSgpKS5zZXRTdGVwRm9ybShzdGVwQ29uZmlnKTtcblxuICAgIGF3YWl0IGNhdGFsb2dEaWFsb2cuY2xpY2tBZGRQb2xpY3lCdXR0b24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFZGl0IGEgc3RlcCBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBpbmRleCBJbmRleCBvZiB0aGUgcG9saWN5IHN0ZXAgdG8gZWRpdFxuICAgKiBAcGFyYW0gc3RlcENvbmZpZyBTdGVwIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBhc3luYyBlZGl0U3RlcChpbmRleDogbnVtYmVyLCBzdGVwQ29uZmlnOiBTdGVwRm9ybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHN0ZXAgPSBhd2FpdCB0aGlzLmdldFN0ZXAoaW5kZXgpO1xuXG4gICAgYXdhaXQgc3RlcC5jbGlja09uRWRpdCgpO1xuXG4gICAgY29uc3Qgc3RlcEVkaXREaWFsb2cgPSBhd2FpdCB0aGlzLmRvY3VtZW50Um9vdExvY2F0b3JGYWN0b3J5KCkubG9jYXRvckZvcihHaW9Qb2xpY3lTdHVkaW9TdGVwRWRpdERpYWxvZ0hhcm5lc3MpKCk7XG4gICAgYXdhaXQgKGF3YWl0IHN0ZXBFZGl0RGlhbG9nLmdldFN0ZXBGb3JtKCkpLnNldFN0ZXBGb3JtKHN0ZXBDb25maWcpO1xuXG4gICAgYXdhaXQgc3RlcEVkaXREaWFsb2cuc2F2ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhIHN0ZXBcbiAgICogQHBhcmFtIGluZGV4IEluZGV4IG9mIHRoZSBwb2xpY3kgc3RlcCB0byBkZWxldGVcbiAgICovXG4gIHB1YmxpYyBhc3luYyBkZWxldGVTdGVwKGluZGV4OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdGVwID0gYXdhaXQgdGhpcy5nZXRTdGVwKGluZGV4KTtcblxuICAgIGF3YWl0IHN0ZXAuY2xpY2tPbkRlbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGUgYSBzdGVwXG4gICAqIEBwYXJhbSBpbmRleCBJbmRleCBvZiB0aGUgcG9saWN5IHN0ZXAgdG8gZGlzYWJsZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGRpc2FibGVFbmFibGVTdGVwKGluZGV4OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdGVwID0gYXdhaXQgdGhpcy5nZXRTdGVwKGluZGV4KTtcbiAgICBhd2FpdCBzdGVwLmNsaWNrT25EaXNhYmxlRW5hYmxlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -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, 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
|
+
export class GioPolicyStudioDetailsPhaseStepHarness extends ComponentHarness {
|
|
21
|
+
static { this.hostSelector = 'gio-ps-flow-details-phase-step'; }
|
|
22
|
+
/**
|
|
23
|
+
* Get Harness with the given filter.
|
|
24
|
+
*
|
|
25
|
+
* @param options Options for filtering which input instances are considered a match.
|
|
26
|
+
* @return a `HarnessPredicate` configured with the given options.
|
|
27
|
+
*/
|
|
28
|
+
static with(options = {}) {
|
|
29
|
+
return new HarnessPredicate(GioPolicyStudioDetailsPhaseStepHarness, options);
|
|
30
|
+
}
|
|
31
|
+
async getName() {
|
|
32
|
+
return (await (await this.locatorFor(SpanHarness.with({ selector: '.info__head__name' }))()).getText()) ?? '';
|
|
33
|
+
}
|
|
34
|
+
async getDescription() {
|
|
35
|
+
return (await (await this.locatorForOptional(DivHarness.with({ selector: '.info__description' }))())?.getText()) ?? undefined;
|
|
36
|
+
}
|
|
37
|
+
async clickOnEdit() {
|
|
38
|
+
const matMenu = await this.locatorFor(MatMenuHarness)();
|
|
39
|
+
await matMenu.clickItem({ text: 'Edit' });
|
|
40
|
+
}
|
|
41
|
+
async clickOnDelete() {
|
|
42
|
+
const matMenu = await this.locatorFor(MatMenuHarness)();
|
|
43
|
+
await matMenu.clickItem({ text: 'Delete' });
|
|
44
|
+
}
|
|
45
|
+
async clickOnDisableEnable() {
|
|
46
|
+
const matMenu = await this.locatorFor(MatMenuHarness)();
|
|
47
|
+
await matMenu.clickItem({ text: /Disable|Enable/ });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1zdGVwLmhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zsb3ctZGV0YWlscy1waGFzZS1zdGVwL2dpby1wcy1mbG93LWRldGFpbHMtcGhhc2Utc3RlcC5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFzQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSXBFLE1BQU0sT0FBTyxzQ0FBdUMsU0FBUSxnQkFBZ0I7YUFDNUQsaUJBQVksR0FBRyxnQ0FBZ0MsQ0FBQztJQUU5RDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLFVBQXlELEVBQUU7UUFFM0QsT0FBTyxJQUFJLGdCQUFnQixDQUFDLHNDQUFzQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTztRQUNsQixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoSCxDQUFDO0lBRU0sS0FBSyxDQUFDLGNBQWM7UUFDekIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUNoSSxDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVc7UUFDdEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDeEQsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ3hELE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxLQUFLLENBQUMsb0JBQW9CO1FBQy9CLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ3hELE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEJhc2VIYXJuZXNzRmlsdGVycywgQ29tcG9uZW50SGFybmVzcywgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IFNwYW5IYXJuZXNzIH0gZnJvbSAnQGdyYXZpdGVlL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0TWVudUhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51L3Rlc3RpbmcnO1xuaW1wb3J0IHsgRGl2SGFybmVzcyB9IGZyb20gJ0BncmF2aXRlZS91aS1wYXJ0aWNsZXMtYW5ndWxhci90ZXN0aW5nJztcblxuZXhwb3J0IHR5cGUgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlU3RlcEhhcm5lc3NGaWx0ZXJzID0gQmFzZUhhcm5lc3NGaWx0ZXJzO1xuXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvRGV0YWlsc1BoYXNlU3RlcEhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgcHVibGljIHN0YXRpYyBob3N0U2VsZWN0b3IgPSAnZ2lvLXBzLWZsb3ctZGV0YWlscy1waGFzZS1zdGVwJztcblxuICAvKipcbiAgICogR2V0IEhhcm5lc3Mgd2l0aCB0aGUgZ2l2ZW4gZmlsdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBmaWx0ZXJpbmcgd2hpY2ggaW5wdXQgaW5zdGFuY2VzIGFyZSBjb25zaWRlcmVkIGEgbWF0Y2guXG4gICAqIEByZXR1cm4gYSBgSGFybmVzc1ByZWRpY2F0ZWAgY29uZmlndXJlZCB3aXRoIHRoZSBnaXZlbiBvcHRpb25zLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoKFxuICAgIG9wdGlvbnM6IEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZVN0ZXBIYXJuZXNzRmlsdGVycyA9IHt9LFxuICApOiBIYXJuZXNzUHJlZGljYXRlPEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZVN0ZXBIYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKEdpb1BvbGljeVN0dWRpb0RldGFpbHNQaGFzZVN0ZXBIYXJuZXNzLCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXROYW1lKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCAoYXdhaXQgdGhpcy5sb2NhdG9yRm9yKFNwYW5IYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5pbmZvX19oZWFkX19uYW1lJyB9KSkoKSkuZ2V0VGV4dCgpKSA/PyAnJztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXREZXNjcmlwdGlvbigpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiAoYXdhaXQgKGF3YWl0IHRoaXMubG9jYXRvckZvck9wdGlvbmFsKERpdkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmluZm9fX2Rlc2NyaXB0aW9uJyB9KSkoKSk/LmdldFRleHQoKSkgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNsaWNrT25FZGl0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1hdE1lbnUgPSBhd2FpdCB0aGlzLmxvY2F0b3JGb3IoTWF0TWVudUhhcm5lc3MpKCk7XG4gICAgYXdhaXQgbWF0TWVudS5jbGlja0l0ZW0oeyB0ZXh0OiAnRWRpdCcgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2xpY2tPbkRlbGV0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBtYXRNZW51ID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKE1hdE1lbnVIYXJuZXNzKSgpO1xuICAgIGF3YWl0IG1hdE1lbnUuY2xpY2tJdGVtKHsgdGV4dDogJ0RlbGV0ZScgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2xpY2tPbkRpc2FibGVFbmFibGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbWF0TWVudSA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRNZW51SGFybmVzcykoKTtcbiAgICBhd2FpdCBtYXRNZW51LmNsaWNrSXRlbSh7IHRleHQ6IC9EaXNhYmxlfEVuYWJsZS8gfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctZXhlY3V0aW9uLWZvcm0tZGlhbG9nLmhhcm5lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zsb3ctZXhlY3V0aW9uLWZvcm0tZGlhbG9nL2dpby1wcy1mbG93LWV4ZWN1dGlvbi1mb3JtLWRpYWxvZy5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFJL0UsTUFBTSxPQUFPLDZDQUE4QyxTQUFRLGdCQUFnQjtJQUFuRjs7UUFHVSxlQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkYsaUJBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQXVDckcsQ0FBQzthQTFDZSxpQkFBWSxHQUFHLG1DQUFtQyxDQUFDO0lBSzFELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxhQUEyRDtRQUN4RixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0csTUFBTSxrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLG1DQUFtQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFbEksSUFBSSxhQUFhLENBQUMsSUFBSSxFQUFFO1lBQ3RCLE1BQU0sU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBRXZCLG9EQUFvRDtZQUNwRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUNqRCxJQUFJLE1BQU0sTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFO29CQUM3QixNQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDdEI7YUFDRjtZQUNELE1BQU0sZUFBZSxHQUE2QjtnQkFDaEQsVUFBVSxFQUFFLFlBQVk7Z0JBQ3hCLE9BQU8sRUFBRSxTQUFTO2FBQ25CLENBQUM7WUFFRixNQUFNLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDOUY7UUFFRCxJQUFJLGFBQWEsQ0FBQyxhQUFhLEVBQUU7WUFDL0IsTUFBTSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNsQzthQUFNO1lBQ0wsTUFBTSxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSTtRQUNmLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTTtRQUNqQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QyxNQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudEhhcm5lc3MgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBNYXRCdXR0b25IYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uL3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0U2VsZWN0SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdC90ZXN0aW5nJztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZS90ZXN0aW5nJztcblxuaW1wb3J0IHsgRmxvd01vZGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvRmxvd0V4ZWN1dGlvbkZvcm1EaWFsb2dIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1wcy1mbG93LWV4ZWN1dGlvbi1mb3JtLWRpYWxvZyc7XG5cbiAgcHJpdmF0ZSBnZXRTYXZlQnRuID0gdGhpcy5sb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmFjdGlvbnNfX3NhdmVCdG4nIH0pKTtcbiAgcHJpdmF0ZSBnZXRDYW5jZWxCdG4gPSB0aGlzLmxvY2F0b3JGb3IoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuYWN0aW9uc19fY2FuY2VsQnRuJyB9KSk7XG5cbiAgcHVibGljIGFzeW5jIHNldEZsb3dGb3JtVmFsdWVzKGZsb3dFeGVjdXRpb246IHsgbW9kZT86IEZsb3dNb2RlOyBtYXRjaFJlcXVpcmVkPzogYm9vbGVhbiB9KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbW9kZUlucHV0ID0gYXdhaXQgdGhpcy5sb2NhdG9yRm9yKE1hdFNlbGVjdEhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnW2Zvcm1Db250cm9sTmFtZT1cIm1vZGVcIl0nIH0pKSgpO1xuICAgIGNvbnN0IG1hdGNoUmVxdWlyZWRJbnB1dCA9IGF3YWl0IHRoaXMubG9jYXRvckZvcihNYXRTbGlkZVRvZ2dsZUhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnW2Zvcm1Db250cm9sTmFtZT1cIm1hdGNoUmVxdWlyZWRcIl0nIH0pKSgpO1xuXG4gICAgaWYgKGZsb3dFeGVjdXRpb24ubW9kZSkge1xuICAgICAgYXdhaXQgbW9kZUlucHV0Lm9wZW4oKTtcblxuICAgICAgLy8gVW5zZWxlY3QgYWxsIG9wdGlvbnMgYmVmb3JlIHNlbGVjdGluZyB0aGUgbmV3IG9uZVxuICAgICAgZm9yIChjb25zdCBvcHRpb24gb2YgYXdhaXQgbW9kZUlucHV0LmdldE9wdGlvbnMoKSkge1xuICAgICAgICBpZiAoYXdhaXQgb3B0aW9uLmlzU2VsZWN0ZWQoKSkge1xuICAgICAgICAgIGF3YWl0IG9wdGlvbi5jbGljaygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBmbG93TW9kZVRvVmFsdWU6IFJlY29yZDxGbG93TW9kZSwgc3RyaW5nPiA9IHtcbiAgICAgICAgQkVTVF9NQVRDSDogJ0Jlc3QgbWF0Y2gnLFxuICAgICAgICBERUZBVUxUOiAnRGVmYXVsdCcsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBtb2RlSW5wdXQuY2xpY2tPcHRpb25zKHsgdGV4dDogbmV3IFJlZ0V4cChmbG93TW9kZVRvVmFsdWVbZmxvd0V4ZWN1dGlvbi5tb2RlXSwgJ2knKSB9KTtcbiAgICB9XG5cbiAgICBpZiAoZmxvd0V4ZWN1dGlvbi5tYXRjaFJlcXVpcmVkKSB7XG4gICAgICBhd2FpdCBtYXRjaFJlcXVpcmVkSW5wdXQuY2hlY2soKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgbWF0Y2hSZXF1aXJlZElucHV0LnVuY2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2F2ZSgpOiBQcm9taXNlPHZvaWQ+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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QUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QyxNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdELE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDNUMsT0FBTztZQUNMLElBQUk7WUFDSixPQUFPO1lBQ1AsZUFBZTtZQUNmLFdBQVc7WUFDWCxVQUFVO1lBQ1YsU0FBUztTQUNWLENBQUM7SUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudEhhcm5lc3MsIHBhcmFsbGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0QnV0dG9uSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi90ZXN0aW5nJztcbmltcG9ydCB7IE1hdElucHV0SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0L3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0U2VsZWN0SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdC90ZXN0aW5nJztcblxuZXhwb3J0IHR5cGUgR2lvUG9saWN5U3R1ZGlvRmxvd01lc3NhZ2VIYXJuZXNzRGF0YSA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBjaGFubmVsT3BlcmF0b3I6IHN0cmluZztcbiAgY2hhbm5lbDogc3RyaW5nO1xuICBlbnRyeXBvaW50czogc3RyaW5nW107XG4gIG9wZXJhdGlvbnM6IHN0cmluZ1tdO1xuICBjb25kaXRpb246IHN0cmluZztcbn07XG5cbmV4cG9ydCBjbGFzcyBHaW9Qb2xpY3lTdHVkaW9GbG93TWVzc2FnZUZvcm1EaWFsb2dIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1wcy1mbG93LW1lc3NhZ2UtZm9ybS1kaWFsb2cnO1xuXG4gIHByaXZhdGUgZ2V0U2F2ZUJ0biA9IHRoaXMubG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5hY3Rpb25zX19zYXZlQnRuJyB9KSk7XG4gIHByaXZhdGUgZ2V0Q2FuY2VsQnRuID0gdGhpcy5sb2NhdG9yRm9yKE1hdEJ1dHRvbkhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnLmFjdGlvbnNfX2NhbmNlbEJ0bicgfSkpO1xuICBwcml2YXRlIG5hbWVJbnB1dCA9IHRoaXMubG9jYXRvckZvcihNYXRJbnB1dEhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnW2Zvcm1Db250cm9sTmFtZT1cIm5hbWVcIl0nIH0pKTtcbiAgcHJpdmF0ZSBjaGFubmVsT3BlcmF0b3JJbnB1dCA9IHRoaXMubG9jYXRvckZvcihNYXRTZWxlY3RIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJ1tmb3JtQ29udHJvbE5hbWU9XCJjaGFubmVsT3BlcmF0b3JcIl0nIH0pKTtcbiAgcHJpdmF0ZSBjaGFubmVsSW5wdXQgPSB0aGlzLmxvY2F0b3JGb3IoTWF0SW5wdXRIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJ1tmb3JtQ29udHJvbE5hbWU9XCJjaGFubmVsXCJdJyB9KSk7XG4gIHByaXZhdGUgb3BlcmF0aW9uc0lucHV0ID0gdGhpcy5sb2NhdG9yRm9yKE1hdFNlbGVjdEhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnW2Zvcm1Db250cm9sTmFtZT1cIm9wZXJhdGlvbnNcIl0nIH0pKTtcbiAgcHJpdmF0ZSBlbnRyeXBvaW50c0lucHV0ID0gdGhpcy5sb2NhdG9yRm9yKE1hdFNlbGVjdEhhcm5lc3Mud2l0aCh7IHNlbGVjdG9yOiAnW2Zvcm1Db250cm9sTmFtZT1cImVudHJ5cG9pbnRzXCJdJyB9KSk7XG4gIHByaXZhdGUgY29uZGl0aW9uSW5wdXQgPSB0aGlzLmxvY2F0b3JGb3IoTWF0SW5wdXRIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJ1tmb3JtQ29udHJvbE5hbWU9XCJjb25kaXRpb25cIl0nIH0pKTtcblxuICBwdWJsaWMgYXN5bmMgc2V0Rmxvd0Zvcm1WYWx1ZXMoZmxvdzoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgY2hhbm5lbE9wZXJhdG9yPzogc3RyaW5nO1xuICAgIGNoYW5uZWw/OiBzdHJpbmc7XG4gICAgb3BlcmF0aW9ucz86IHN0cmluZ1tdO1xuICAgIGVudHJ5cG9pbnRzPzogc3RyaW5nW107XG4gICAgY29uZGl0aW9uPzogc3RyaW5nO1xuICB9KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGZsb3cubmFtZSkge1xuICAgICAgY29uc3QgbmFtZUlucHV0ID0gYXdhaXQgdGhpcy5uYW1lSW5wdXQoKTtcbiAgICAgIGF3YWl0IG5hbWVJbnB1dC5zZXRWYWx1ZShmbG93Lm5hbWUpO1xuICAgIH1cbiAgICBpZiAoZmxvdy5jaGFubmVsT3BlcmF0b3IpIHtcbiAgICAgIGNvbnN0IGNoYW5uZWxPcGVyYXRvcklucHV0ID0gYXdhaXQgdGhpcy5jaGFubmVsT3BlcmF0b3JJbnB1dCgpO1xuICAgICAgY29uc3QgZW50cnlwb2ludHNJbnB1dCA9IGF3YWl0IHRoaXMuZW50cnlwb2ludHNJbnB1dCgpO1xuICAgICAgYXdhaXQgY2hhbm5lbE9wZXJhdG9ySW5wdXQub3BlbigpO1xuICAgICAgLy8gVW5zZWxlY3QgYWxsIG9wdGlvbnMgYmVmb3JlIHNlbGVjdGluZyB0aGUgbmV3IG9uZVxuICAgICAgZm9yIChjb25zdCBvcHRpb24gb2YgYXdhaXQgZW50cnlwb2ludHNJbnB1dC5nZXRPcHRpb25zKCkpIHtcbiAgICAgICAgaWYgKGF3YWl0IG9wdGlvbi5pc1NlbGVjdGVkKCkpIHtcbiAgICAgICAgICBhd2FpdCBvcHRpb24uY2xpY2soKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYXdhaXQgY2hhbm5lbE9wZXJhdG9ySW5wdXQuY2xpY2tPcHRpb25zKHsgdGV4dDogbmV3IFJlZ0V4cChmbG93LmNoYW5uZWxPcGVyYXRvciwgJ2knKSB9KTtcbiAgICB9XG4gICAgaWYgKGZsb3cuY2hhbm5lbCkge1xuICAgICAgY29uc3QgY2hhbm5lbElucHV0ID0gYXdhaXQgdGhpcy5jaGFubmVsSW5wdXQoKTtcbiAgICAgIGF3YWl0IGNoYW5uZWxJbnB1dC5zZXRWYWx1ZShmbG93LmNoYW5uZWwpO1xuICAgIH1cbiAgICBpZiAoZmxvdy5vcGVyYXRpb25zKSB7XG4gICAgICBjb25zdCBvcGVyYXRpb25zSW5wdXQgPSBhd2FpdCB0aGlzLm9wZXJhdGlvbnNJbnB1dCgpO1xuICAgICAgYXdhaXQgcGFyYWxsZWwoKCkgPT5cbiAgICAgICAgKGZsb3cub3BlcmF0aW9ucyA/PyBbXSkubWFwKGFzeW5jIG9wZXJhdGlvbiA9PiB7XG4gICAgICAgICAgYXdhaXQgb3BlcmF0aW9uc0lucHV0Lm9wZW4oKTtcbiAgICAgICAgICAvLyBVbnNlbGVjdCBhbGwgb3B0aW9ucyBiZWZvcmUgc2VsZWN0aW5nIHRoZSBuZXcgb25lXG4gICAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2YgYXdhaXQgb3BlcmF0aW9uc0lucHV0LmdldE9wdGlvbnMoKSkge1xuICAgICAgICAgICAgaWYgKGF3YWl0IG9wdGlvbi5pc1NlbGVjdGVkKCkpIHtcbiAgICAgICAgICAgICAgYXdhaXQgb3B0aW9uLmNsaWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGF3YWl0IG9wZXJhdGlvbnNJbnB1dC5jbGlja09wdGlvbnMoeyB0ZXh0OiBuZXcgUmVnRXhwKG9wZXJhdGlvbiwgJ2knKSB9KTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoZmxvdy5lbnRyeXBvaW50cykge1xuICAgICAgY29uc3QgZW50cnlwb2ludHNJbnB1dCA9IGF3YWl0IHRoaXMuZW50cnlwb2ludHNJbnB1dCgpO1xuICAgICAgYXdhaXQgZW50cnlwb2ludHNJbnB1dC5vcGVuKCk7XG4gICAgICAvLyBVbnNlbGVjdCBhbGwgb3B0aW9ucyBiZWZvcmUgc2VsZWN0aW5nIHRoZSBuZXcgb25lXG4gICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBhd2FpdCBlbnRyeXBvaW50c0lucHV0LmdldE9wdGlvbnMoKSkge1xuICAgICAgICBpZiAoYXdhaXQgb3B0aW9uLmlzU2VsZWN0ZWQoKSkge1xuICAgICAgICAgIGF3YWl0IG9wdGlvbi5jbGljaygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhd2FpdCBwYXJhbGxlbCgoKSA9PlxuICAgICAgICAoZmxvdy5lbnRyeXBvaW50cyA/PyBbXSkubWFwKGFzeW5jIGVudHJ5cG9pbnQgPT4ge1xuICAgICAgICAgIGF3YWl0IGVudHJ5cG9pbnRzSW5wdXQuY2xpY2tPcHRpb25zKHsgdGV4dDogbmV3IFJlZ0V4cChlbnRyeXBvaW50LCAnaScpIH0pO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChmbG93LmNvbmRpdGlvbikge1xuICAgICAgY29uc3QgY29uZGl0aW9uSW5wdXQgPSBhd2FpdCB0aGlzLmNvbmRpdGlvbklucHV0KCk7XG4gICAgICBhd2FpdCBjb25kaXRpb25JbnB1dC5zZXRWYWx1ZShmbG93LmNvbmRpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldE5hbWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5uYW1lSW5wdXQoKS50aGVuKGlucHV0ID0+IGlucHV0LmdldFZhbHVlKCkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldENoYW5uZWxPcGVyYXRvcigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmNoYW5uZWxPcGVyYXRvcklucHV0KCkudGhlbihpbnB1dCA9PiBpbnB1dC5nZXRWYWx1ZVRleHQoKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0Q2hhbm5lbCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmNoYW5uZWxJbnB1dCgpLnRoZW4oaW5wdXQgPT4gaW5wdXQuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0T3BlcmF0aW9ucygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbnNJbnB1dCgpLnRoZW4oaW5wdXQgPT4gaW5wdXQuZ2V0VmFsdWVUZXh0KCkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEVudHJ5cG9pbnRzKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZW50cnlwb2ludHNJbnB1dCgpLnRoZW4oaW5wdXQgPT4gaW5wdXQuZ2V0VmFsdWVUZXh0KCkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldENvbmRpdGlvbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmNvbmRpdGlvbklucHV0KCkudGhlbihpbnB1dCA9PiBpbnB1dC5nZXRWYWx1ZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzYXZlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuZ2V0U2F2ZUJ0bigpO1xuICAgIGF3YWl0IGJ1dHRvbi5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNhbmNlbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLmdldENhbmNlbEJ0bigpO1xuICAgIGF3YWl0IGJ1dHRvbi5jbGljaygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEZvcm1WYWx1ZXMoKTogUHJvbWlzZTxHaW9Qb2xpY3lTdHVkaW9GbG93TWVzc2FnZUhhcm5lc3NEYXRhPiB7XG4gICAgY29uc3QgbmFtZSA9IGF3YWl0IHRoaXMuZ2V0TmFtZSgpO1xuICAgIGNvbnN0IGNoYW5uZWxPcGVyYXRvciA9IGF3YWl0IHRoaXMuZ2V0Q2hhbm5lbE9wZXJhdG9yKCk7XG4gICAgY29uc3QgY2hhbm5lbCA9IGF3YWl0IHRoaXMuZ2V0Q2hhbm5lbCgpO1xuICAgIGNvbnN0IGVudHJ5cG9pbnRzID0gKGF3YWl0IHRoaXMuZ2V0RW50cnlwb2ludHMoKSkuc3BsaXQoJywnKTtcbiAgICBjb25zdCBvcGVyYXRpb25zID0gKGF3YWl0IHRoaXMuZ2V0T3BlcmF0aW9ucygpKS5zcGxpdCgnLCcpO1xuICAgIGNvbnN0IGNvbmRpdGlvbiA9IGF3YWl0IHRoaXMuZ2V0Q29uZGl0aW9uKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWUsXG4gICAgICBjaGFubmVsLFxuICAgICAgY2hhbm5lbE9wZXJhdG9yLFxuICAgICAgZW50cnlwb2ludHMsXG4gICAgICBvcGVyYXRpb25zLFxuICAgICAgY29uZGl0aW9uLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,98 @@
|
|
|
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
|
+
import { MatSelectHarness } from '@angular/material/select/testing';
|
|
20
|
+
import { GioFormTagsInputHarness } from '@gravitee/ui-particles-angular';
|
|
21
|
+
export class GioPolicyStudioFlowProxyFormDialogHarness extends ComponentHarness {
|
|
22
|
+
constructor() {
|
|
23
|
+
super(...arguments);
|
|
24
|
+
this.getSaveBtn = this.locatorFor(MatButtonHarness.with({ selector: '.actions__saveBtn' }));
|
|
25
|
+
this.getCancelBtn = this.locatorFor(MatButtonHarness.with({ selector: '.actions__cancelBtn' }));
|
|
26
|
+
this.nameInput = this.locatorFor(MatInputHarness.with({ selector: '[formControlName="name"]' }));
|
|
27
|
+
this.pathOperatorInput = this.locatorFor(MatSelectHarness.with({ selector: '[formControlName="pathOperator"]' }));
|
|
28
|
+
this.pathInput = this.locatorFor(MatInputHarness.with({ selector: '[formControlName="path"]' }));
|
|
29
|
+
this.methodsInput = this.locatorFor(GioFormTagsInputHarness.with({ selector: '[formControlName="methods"]' }));
|
|
30
|
+
this.conditionInput = this.locatorFor(MatInputHarness.with({ selector: '[formControlName="condition"]' }));
|
|
31
|
+
}
|
|
32
|
+
static { this.hostSelector = 'gio-ps-flow-proxy-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.pathOperator) {
|
|
39
|
+
const pathOperatorInput = await this.pathOperatorInput();
|
|
40
|
+
await pathOperatorInput.open();
|
|
41
|
+
// Unselect all options before selecting the new one
|
|
42
|
+
for (const option of await pathOperatorInput.getOptions()) {
|
|
43
|
+
if (await option.isSelected()) {
|
|
44
|
+
await option.click();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
await pathOperatorInput.clickOptions({ text: new RegExp(flow.pathOperator, 'i') });
|
|
48
|
+
}
|
|
49
|
+
if (flow.path) {
|
|
50
|
+
const input = await this.pathInput();
|
|
51
|
+
await input.setValue(flow.path);
|
|
52
|
+
}
|
|
53
|
+
if (flow.methods) {
|
|
54
|
+
const methodsInput = await this.methodsInput();
|
|
55
|
+
await methodsInput.removeTag('ALL');
|
|
56
|
+
for (const method of flow.methods) {
|
|
57
|
+
await methodsInput.addTag(method);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (flow.condition) {
|
|
61
|
+
const conditionInput = await this.conditionInput();
|
|
62
|
+
await conditionInput.setValue(flow.condition);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async getFlowFormValues() {
|
|
66
|
+
return {
|
|
67
|
+
name: await this.getFlowName(),
|
|
68
|
+
pathOperator: await this.getPathOperator(),
|
|
69
|
+
path: await this.getFlowPath(),
|
|
70
|
+
methods: await this.getMethods(),
|
|
71
|
+
condition: await this.getCondition(),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
async getFlowName() {
|
|
75
|
+
return this.nameInput().then(input => input.getValue());
|
|
76
|
+
}
|
|
77
|
+
async getFlowPath() {
|
|
78
|
+
return this.pathInput().then(input => input.getValue());
|
|
79
|
+
}
|
|
80
|
+
async getPathOperator() {
|
|
81
|
+
return this.pathOperatorInput().then(input => input.getValueText());
|
|
82
|
+
}
|
|
83
|
+
async getMethods() {
|
|
84
|
+
return this.methodsInput().then(input => input.getTags());
|
|
85
|
+
}
|
|
86
|
+
async getCondition() {
|
|
87
|
+
return this.conditionInput().then(input => input.getValue());
|
|
88
|
+
}
|
|
89
|
+
async save() {
|
|
90
|
+
const button = await this.getSaveBtn();
|
|
91
|
+
await button.click();
|
|
92
|
+
}
|
|
93
|
+
async cancel() {
|
|
94
|
+
const button = await this.getCancelBtn();
|
|
95
|
+
await button.click();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBzLWZsb3ctcHJveHktZm9ybS1kaWFsb2cuaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZmxvdy1mb3JtLWRpYWxvZy9mbG93LXByb3h5LWZvcm0tZGlhbG9nL2dpby1wcy1mbG93LXByb3h5LWZvcm0tZGlhbG9nLmhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFVekUsTUFBTSxPQUFPLHlDQUEwQyxTQUFRLGdCQUFnQjtJQUEvRTs7UUFHVSxlQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkYsaUJBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRixjQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVGLHNCQUFpQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JB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QUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVc7UUFDdEIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLEtBQUssQ0FBQyxlQUFlO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWTtRQUN2QixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQUk7UUFDZixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2QyxNQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU07UUFDakIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsTUFBTSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0QnV0dG9uSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi90ZXN0aW5nJztcbmltcG9ydCB7IE1hdElucHV0SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0L3Rlc3RpbmcnO1xuaW1wb3J0IHsgTWF0U2VsZWN0SGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdC90ZXN0aW5nJztcbmltcG9ydCB7IEdpb0Zvcm1UYWdzSW5wdXRIYXJuZXNzIH0gZnJvbSAnQGdyYXZpdGVlL3VpLXBhcnRpY2xlcy1hbmd1bGFyJztcblxuZXhwb3J0IHR5cGUgR2lvUG9saWN5U3R1ZGlvRmxvd1Byb3h5SGFybmVzc0RhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgcGF0aE9wZXJhdG9yOiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgbWV0aG9kczogc3RyaW5nW107XG4gIGNvbmRpdGlvbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNsYXNzIEdpb1BvbGljeVN0dWRpb0Zsb3dQcm94eUZvcm1EaWFsb2dIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1wcy1mbG93LXByb3h5LWZvcm0tZGlhbG9nJztcblxuICBwcml2YXRlIGdldFNhdmVCdG4gPSB0aGlzLmxvY2F0b3JGb3IoTWF0QnV0dG9uSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICcuYWN0aW9uc19fc2F2ZUJ0bicgfSkpO1xuICBwcml2YXRlIGdldENhbmNlbEJ0biA9IHRoaXMubG9jYXRvckZvcihNYXRCdXR0b25IYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJy5hY3Rpb25zX19jYW5jZWxCdG4nIH0pKTtcbiAgcHJpdmF0ZSBuYW1lSW5wdXQgPSB0aGlzLmxvY2F0b3JGb3IoTWF0SW5wdXRIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJ1tmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJdJyB9KSk7XG4gIHByaXZhdGUgcGF0aE9wZXJhdG9ySW5wdXQgPSB0aGlzLmxvY2F0b3JGb3IoTWF0U2VsZWN0SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICdbZm9ybUNvbnRyb2xOYW1lPVwicGF0aE9wZXJhdG9yXCJdJyB9KSk7XG4gIHByaXZhdGUgcGF0aElucHV0ID0gdGhpcy5sb2NhdG9yRm9yKE1hdElucHV0SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICdbZm9ybUNvbnRyb2xOYW1lPVwicGF0aFwiXScgfSkpO1xuICBwcml2YXRlIG1ldGhvZHNJbnB1dCA9IHRoaXMubG9jYXRvckZvcihHaW9Gb3JtVGFnc0lucHV0SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICdbZm9ybUNvbnRyb2xOYW1lPVwibWV0aG9kc1wiXScgfSkpO1xuICBwcml2YXRlIGNvbmRpdGlvbklucHV0ID0gdGhpcy5sb2NhdG9yRm9yKE1hdElucHV0SGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICdbZm9ybUNvbnRyb2xOYW1lPVwiY29uZGl0aW9uXCJdJyB9KSk7XG5cbiAgcHVibGljIGFzeW5jIHNldEZsb3dGb3JtVmFsdWVzKGZsb3c6IHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHBhdGhPcGVyYXRvcj86IHN0cmluZztcbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIG1ldGhvZHM/OiBzdHJpbmdbXTtcbiAgICBjb25kaXRpb24/OiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoZmxvdy5uYW1lKSB7XG4gICAgICBjb25zdCBuYW1lSW5wdXQgPSBhd2FpdCB0aGlzLm5hbWVJbnB1dCgpO1xuICAgICAgYXdhaXQgbmFtZUlucHV0LnNldFZhbHVlKGZsb3cubmFtZSk7XG4gICAgfVxuICAgIGlmIChmbG93LnBhdGhPcGVyYXRvcikge1xuICAgICAgY29uc3QgcGF0aE9wZXJhdG9ySW5wdXQgPSBhd2FpdCB0aGlzLnBhdGhPcGVyYXRvcklucHV0KCk7XG4gICAgICBhd2FpdCBwYXRoT3BlcmF0b3JJbnB1dC5vcGVuKCk7XG5cbiAgICAgIC8vIFVuc2VsZWN0IGFsbCBvcHRpb25zIGJlZm9yZSBzZWxlY3RpbmcgdGhlIG5ldyBvbmVcbiAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIGF3YWl0IHBhdGhPcGVyYXRvcklucHV0LmdldE9wdGlvbnMoKSkge1xuICAgICAgICBpZiAoYXdhaXQgb3B0aW9uLmlzU2VsZWN0ZWQoKSkge1xuICAgICAgICAgIGF3YWl0IG9wdGlvbi5jbGljaygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhd2FpdCBwYXRoT3BlcmF0b3JJbnB1dC5jbGlja09wdGlvbnMoeyB0ZXh0OiBuZXcgUmVnRXhwKGZsb3cucGF0aE9wZXJhdG9yLCAnaScpIH0pO1xuICAgIH1cbiAgICBpZiAoZmxvdy5wYXRoKSB7XG4gICAgICBjb25zdCBpbnB1dCA9IGF3YWl0IHRoaXMucGF0aElucHV0KCk7XG4gICAgICBhd2FpdCBpbnB1dC5zZXRWYWx1ZShmbG93LnBhdGgpO1xuICAgIH1cbiAgICBpZiAoZmxvdy5tZXRob2RzKSB7XG4gICAgICBjb25zdCBtZXRob2RzSW5wdXQgPSBhd2FpdCB0aGlzLm1ldGhvZHNJbnB1dCgpO1xuICAgICAgYXdhaXQgbWV0aG9kc0lucHV0LnJlbW92ZVRhZygnQUxMJyk7XG4gICAgICBmb3IgKGNvbnN0IG1ldGhvZCBvZiBmbG93Lm1ldGhvZHMpIHtcbiAgICAgICAgYXdhaXQgbWV0aG9kc0lucHV0LmFkZFRhZyhtZXRob2QpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZmxvdy5jb25kaXRpb24pIHtcbiAgICAgIGNvbnN0IGNvbmRpdGlvbklucHV0ID0gYXdhaXQgdGhpcy5jb25kaXRpb25JbnB1dCgpO1xuICAgICAgYXdhaXQgY29uZGl0aW9uSW5wdXQuc2V0VmFsdWUoZmxvdy5jb25kaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRGbG93Rm9ybVZhbHVlcygpOiBQcm9taXNlPEdpb1BvbGljeVN0dWRpb0Zsb3dQcm94eUhhcm5lc3NEYXRhPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGF3YWl0IHRoaXMuZ2V0Rmxvd05hbWUoKSxcbiAgICAgIHBhdGhPcGVyYXRvcjogYXdhaXQgdGhpcy5nZXRQYXRoT3BlcmF0b3IoKSxcbiAgICAgIHBhdGg6IGF3YWl0IHRoaXMuZ2V0Rmxvd1BhdGgoKSxcbiAgICAgIG1ldGhvZHM6IGF3YWl0IHRoaXMuZ2V0TWV0aG9kcygpLFxuICAgICAgY29uZGl0aW9uOiBhd2FpdCB0aGlzLmdldENvbmRpdGlvbigpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0Rmxvd05hbWUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5uYW1lSW5wdXQoKS50aGVuKGlucHV0ID0+IGlucHV0LmdldFZhbHVlKCkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEZsb3dQYXRoKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMucGF0aElucHV0KCkudGhlbihpbnB1dCA9PiBpbnB1dC5nZXRWYWx1ZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRQYXRoT3BlcmF0b3IoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5wYXRoT3BlcmF0b3JJbnB1dCgpLnRoZW4oaW5wdXQgPT4gaW5wdXQuZ2V0VmFsdWVUZXh0KCkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldE1ldGhvZHMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLm1ldGhvZHNJbnB1dCgpLnRoZW4oaW5wdXQgPT4gaW5wdXQuZ2V0VGFncygpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRDb25kaXRpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5jb25kaXRpb25JbnB1dCgpLnRoZW4oaW5wdXQgPT4gaW5wdXQuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2F2ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBidXR0b24gPSBhd2FpdCB0aGlzLmdldFNhdmVCdG4oKTtcbiAgICBhd2FpdCBidXR0b24uY2xpY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjYW5jZWwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYnV0dG9uID0gYXdhaXQgdGhpcy5nZXRDYW5jZWxCdG4oKTtcbiAgICBhd2FpdCBidXR0b24uY2xpY2soKTtcbiAgfVxufVxuIl19
|