@energycap/components 0.41.0 → 0.41.1-ECAP-27592-angular-17.20241219-1718
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}/energycap-components.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components.module.mjs +418 -418
- package/{esm2020 → esm2022}/lib/controls/banner/banner.component.mjs +109 -109
- package/{esm2020 → esm2022}/lib/controls/button/button.component.mjs +106 -106
- package/{esm2020 → esm2022}/lib/controls/button/copy-button-base.directive.mjs +67 -67
- package/{esm2020 → esm2022}/lib/controls/button/copy-button.directive.mjs +28 -28
- package/{esm2020 → esm2022}/lib/controls/button/copy-table-button.directive.mjs +43 -43
- package/{esm2020 → esm2022}/lib/controls/calendar/calendar-item.component.mjs +59 -59
- package/{esm2020 → esm2022}/lib/controls/calendar/calendar.component.mjs +200 -200
- package/{esm2020 → esm2022}/lib/controls/calendar/calendar.types.mjs +3 -3
- package/{esm2020 → esm2022}/lib/controls/checkbox/checkbox.component.mjs +140 -140
- package/{esm2020 → esm2022}/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -38
- package/{esm2020 → esm2022}/lib/controls/combobox/combobox.component.mjs +879 -879
- package/{esm2020 → esm2022}/lib/controls/date-input/date-input.component.mjs +256 -256
- package/{esm2020 → esm2022}/lib/controls/dropdown/dropdown.component.mjs +243 -243
- package/{esm2020 → esm2022}/lib/controls/file-upload/file-upload.component.mjs +261 -261
- package/{esm2020 → esm2022}/lib/controls/form-control/form-control.component.mjs +104 -104
- package/{esm2020 → esm2022}/lib/controls/form-control-base.mjs +151 -151
- package/{esm2020 → esm2022}/lib/controls/form-control-label/form-control-label.component.mjs +136 -136
- package/{esm2020 → esm2022}/lib/controls/form-group/form-group.component.mjs +261 -261
- package/{esm2020 → esm2022}/lib/controls/help-popover/help-popover.component.mjs +31 -31
- package/{esm2020 → esm2022}/lib/controls/item-picker/item-picker.component.mjs +329 -329
- package/{esm2020 → esm2022}/lib/controls/link-button/link-button.component.mjs +11 -11
- package/{esm2020 → esm2022}/lib/controls/menu/menu.component.mjs +485 -485
- package/{esm2020 → esm2022}/lib/controls/navigation/link-item.mjs +1 -1
- package/{esm2020 → esm2022}/lib/controls/navigation/nav-group.mjs +38 -38
- package/{esm2020 → esm2022}/lib/controls/navigation/nav-item-active.directive.mjs +92 -92
- package/{esm2020 → esm2022}/lib/controls/navigation/nav-item.mjs +1 -1
- package/{esm2020 → esm2022}/lib/controls/numericbox/numericbox.component.mjs +372 -372
- package/{esm2020 → esm2022}/lib/controls/popover/popover.component.mjs +117 -117
- package/{esm2020 → esm2022}/lib/controls/radio-button/radio-button-option.mjs +2 -2
- package/{esm2020 → esm2022}/lib/controls/radio-button/radio-button.component.mjs +82 -82
- package/{esm2020 → esm2022}/lib/controls/select/select.component.mjs +88 -88
- package/{esm2020 → esm2022}/lib/controls/tabs/tabs.component.mjs +47 -47
- package/{esm2020 → esm2022}/lib/controls/textbox/textbox.component.mjs +155 -155
- package/{esm2020 → esm2022}/lib/core/cache.service.mjs +105 -105
- package/esm2022/lib/core/custom-validators.mjs +29 -0
- package/esm2022/lib/core/date-time-helper.mjs +220 -0
- package/{esm2020 → esm2022}/lib/core/error.service.mjs +61 -61
- package/{esm2020 → esm2022}/lib/core/router-helper.service.mjs +111 -111
- package/{esm2020 → esm2022}/lib/core/scroll.service.mjs +89 -89
- package/{esm2020 → esm2022}/lib/core/telemetry-tracker.service.mjs +16 -16
- package/{esm2020 → esm2022}/lib/core/telemetry.service.mjs +38 -38
- package/{esm2020 → esm2022}/lib/core/validation-message.service.mjs +185 -185
- package/{esm2020 → esm2022}/lib/core/validation-patterns.mjs +30 -30
- package/{esm2020 → esm2022}/lib/core/window.service.mjs +186 -186
- package/{esm2020 → esm2022}/lib/display/app-bar/app-bar.component.mjs +46 -46
- package/esm2022/lib/display/avatar/avatar.component.mjs +67 -0
- package/{esm2020 → esm2022}/lib/display/avatar/avatar.service.mjs +64 -64
- package/{esm2020 → esm2022}/lib/display/confirm/confirm.component.mjs +168 -168
- package/{esm2020 → esm2022}/lib/display/dialog/dialog-content.mjs +1 -1
- package/{esm2020 → esm2022}/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -63
- package/{esm2020 → esm2022}/lib/display/dialog/dialog-types.mjs +76 -76
- package/{esm2020 → esm2022}/lib/display/dialog/dialog.component.mjs +281 -281
- package/{esm2020 → esm2022}/lib/display/dialog/dialog.service.mjs +71 -71
- package/{esm2020 → esm2022}/lib/display/help/help-types.mjs +1 -1
- package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-base.mjs +111 -111
- package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-mocks.spec.mjs +53 -53
- package/{esm2020 → esm2022}/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +61 -61
- package/{esm2020 → esm2022}/lib/display/item-display/item-display.component.mjs +81 -81
- package/{esm2020 → esm2022}/lib/display/json-display/json-display.component.mjs +47 -47
- package/{esm2020 → esm2022}/lib/display/resizable/resizable-base.mjs +120 -120
- package/{esm2020 → esm2022}/lib/display/resizable/resizable.component.mjs +52 -52
- package/{esm2020 → esm2022}/lib/display/spinner/spinner.component.mjs +12 -12
- package/{esm2020 → esm2022}/lib/display/splash/splash.component.mjs +42 -42
- package/{esm2020 → esm2022}/lib/display/splash/splash.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/display/table/resizable-column.component.mjs +20 -20
- package/{esm2020 → esm2022}/lib/display/table/resizable-table.directive.mjs +227 -227
- package/{esm2020 → esm2022}/lib/display/table/searchable-table.component.mjs +342 -342
- package/{esm2020 → esm2022}/lib/display/table/table-detail-row.component.mjs +19 -19
- package/{esm2020 → esm2022}/lib/display/table/table-locked-column.component.mjs +58 -58
- package/{esm2020 → esm2022}/lib/display/table/table-master-header-row.component.mjs +14 -14
- package/{esm2020 → esm2022}/lib/display/table/table-master-row.component.mjs +163 -163
- package/{esm2020 → esm2022}/lib/display/table/table-pagination.component.mjs +155 -155
- package/{esm2020 → esm2022}/lib/display/table/table-selectable-row.component.mjs +235 -235
- package/{esm2020 → esm2022}/lib/display/table/table.component.mjs +249 -249
- package/{esm2020 → esm2022}/lib/display/tags/tag.mjs +17 -17
- package/{esm2020 → esm2022}/lib/display/tags/tags.component.mjs +77 -77
- package/{esm2020 → esm2022}/lib/display/toast/toast/toast.component.mjs +77 -77
- package/{esm2020 → esm2022}/lib/display/toast/toast-types.mjs +7 -7
- package/{esm2020 → esm2022}/lib/display/toast/toast.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/display/toast/toaster/toaster.component.mjs +114 -114
- package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.component.mjs +28 -28
- package/{esm2020 → esm2022}/lib/display/tooltip/tooltip.service.mjs +78 -78
- package/{esm2020 → esm2022}/lib/display/tooltip-directive/tooltip.directive.mjs +173 -173
- package/{esm2020 → esm2022}/lib/display/tour/tour-types.mjs +33 -33
- package/{esm2020 → esm2022}/lib/display/tour/tour.component.mjs +398 -398
- package/{esm2020 → esm2022}/lib/display/tour/tour.service.mjs +75 -75
- package/{esm2020 → esm2022}/lib/display/tree/tree.component.mjs +135 -135
- package/{esm2020 → esm2022}/lib/display/view-overlay/view-overlay.component.mjs +58 -58
- package/{esm2020 → esm2022}/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -32
- package/{esm2020 → esm2022}/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -111
- package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +166 -0
- package/{esm2020 → esm2022}/lib/shared/display/pipes/date-display.pipe.mjs +50 -50
- package/{esm2020 → esm2022}/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -30
- package/{esm2020 → esm2022}/lib/shared/display/pipes/relative-date.pipe.mjs +62 -62
- package/{esm2020 → esm2022}/lib/shared/display/pipes/row-count.pipe.mjs +48 -48
- package/{esm2020 → esm2022}/lib/shared/display/pipes/time-display.pipe.mjs +41 -41
- package/esm2022/lib/shared/display.mjs +6 -0
- package/esm2022/lib/shared/form-group.helper.mjs +67 -0
- package/{esm2020 → esm2022}/lib/shared/json-helper.mjs +18 -18
- package/esm2022/lib/shared/lodash-helper.mjs +52 -0
- package/{esm2020 → esm2022}/lib/shared/page/page-base/page-base.component.mjs +387 -387
- package/{esm2020 → esm2022}/lib/shared/page/page-statuses.mjs +22 -22
- package/{esm2020 → esm2022}/lib/shared/page/page-title/page-title.component.mjs +23 -23
- package/{esm2020 → esm2022}/lib/shared/page/page-view/page-view.component.mjs +147 -147
- package/{esm2020 → esm2022}/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +16 -16
- package/{esm2020 → esm2022}/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +16 -16
- package/{esm2020 → esm2022}/lib/shared/testing/page-base-component-test-helper.spec.mjs +37 -37
- package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +98 -0
- package/{esm2020 → esm2022}/lib/shared/testing/public-mocks.spec.mjs +148 -148
- package/{esm2020 → esm2022}/lib/shared/testing/spy-factory.spec.mjs +39 -39
- package/{esm2020 → esm2022}/lib/shared/testing/translation-mocks.spec.mjs +56 -56
- package/{esm2020 → esm2022}/lib/shared/user-preference.service.mjs +17 -17
- package/{esm2020 → esm2022}/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -246
- package/{esm2020 → esm2022}/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -68
- package/{esm2020 → esm2022}/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -18
- package/{esm2020 → esm2022}/public-api.mjs +114 -114
- package/{fesm2020 → fesm2022}/energycap-components.mjs +11797 -11793
- package/fesm2022/energycap-components.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/components.module.d.ts +91 -91
- package/lib/controls/banner/banner.component.d.ts +50 -50
- package/lib/controls/button/button.component.d.ts +78 -78
- package/lib/controls/button/copy-button-base.directive.d.ts +20 -20
- package/lib/controls/button/copy-button.directive.d.ts +14 -14
- package/lib/controls/button/copy-table-button.directive.d.ts +19 -19
- package/lib/controls/calendar/calendar-item.component.d.ts +17 -17
- package/lib/controls/calendar/calendar.component.d.ts +54 -54
- package/lib/controls/calendar/calendar.types.d.ts +7 -7
- package/lib/controls/checkbox/checkbox.component.d.ts +65 -65
- package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +25 -25
- package/lib/controls/combobox/combobox.component.d.ts +418 -418
- package/lib/controls/date-input/date-input.component.d.ts +80 -80
- package/lib/controls/dropdown/dropdown.component.d.ts +161 -161
- package/lib/controls/file-upload/file-upload.component.d.ts +124 -124
- package/lib/controls/form-control/form-control.component.d.ts +30 -30
- package/lib/controls/form-control-base.d.ts +110 -110
- package/lib/controls/form-control-label/form-control-label.component.d.ts +73 -73
- package/lib/controls/form-group/form-group.component.d.ts +105 -105
- package/lib/controls/help-popover/help-popover.component.d.ts +11 -11
- package/lib/controls/item-picker/item-picker.component.d.ts +164 -164
- package/lib/controls/link-button/link-button.component.d.ts +5 -5
- package/lib/controls/menu/menu.component.d.ts +255 -255
- package/lib/controls/navigation/link-item.d.ts +32 -32
- package/lib/controls/navigation/nav-group.d.ts +18 -18
- package/lib/controls/navigation/nav-item-active.directive.d.ts +42 -42
- package/lib/controls/navigation/nav-item.d.ts +31 -31
- package/lib/controls/numericbox/numericbox.component.d.ts +148 -148
- package/lib/controls/popover/popover.component.d.ts +51 -51
- package/lib/controls/radio-button/radio-button-option.d.ts +19 -19
- package/lib/controls/radio-button/radio-button.component.d.ts +53 -53
- package/lib/controls/select/select.component.d.ts +44 -44
- package/lib/controls/tabs/tabs.component.d.ts +30 -30
- package/lib/controls/textbox/textbox.component.d.ts +107 -107
- package/lib/core/cache.service.d.ts +33 -33
- package/lib/core/custom-validators.d.ts +20 -20
- package/lib/core/date-time-helper.d.ts +101 -101
- package/lib/core/error.service.d.ts +20 -20
- package/lib/core/router-helper.service.d.ts +48 -48
- package/lib/core/scroll.service.d.ts +36 -36
- package/lib/core/telemetry-tracker.service.d.ts +13 -13
- package/lib/core/telemetry.service.d.ts +31 -31
- package/lib/core/validation-message.service.d.ts +26 -26
- package/lib/core/validation-patterns.d.ts +22 -22
- package/lib/core/window.service.d.ts +116 -116
- package/lib/display/app-bar/app-bar.component.d.ts +20 -20
- package/lib/display/avatar/avatar.component.d.ts +35 -35
- package/lib/display/avatar/avatar.service.d.ts +24 -24
- package/lib/display/confirm/confirm.component.d.ts +123 -123
- package/lib/display/dialog/dialog-content.d.ts +19 -19
- package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +32 -32
- package/lib/display/dialog/dialog-types.d.ts +130 -130
- package/lib/display/dialog/dialog.component.d.ts +120 -120
- package/lib/display/dialog/dialog.service.d.ts +48 -48
- package/lib/display/help/help-types.d.ts +33 -33
- package/lib/display/hierarchy/hierarchy-base.d.ts +97 -97
- package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +53 -53
- package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +34 -34
- package/lib/display/item-display/item-display.component.d.ts +43 -43
- package/lib/display/json-display/json-display.component.d.ts +16 -16
- package/lib/display/resizable/resizable-base.d.ts +67 -67
- package/lib/display/resizable/resizable.component.d.ts +31 -31
- package/lib/display/spinner/spinner.component.d.ts +5 -5
- package/lib/display/splash/splash.component.d.ts +16 -16
- package/lib/display/splash/splash.service.d.ts +22 -22
- package/lib/display/table/resizable-column.component.d.ts +10 -10
- package/lib/display/table/resizable-table.directive.d.ts +93 -93
- package/lib/display/table/searchable-table.component.d.ts +206 -206
- package/lib/display/table/table-detail-row.component.d.ts +8 -8
- package/lib/display/table/table-locked-column.component.d.ts +20 -20
- package/lib/display/table/table-master-header-row.component.d.ts +9 -9
- package/lib/display/table/table-master-row.component.d.ts +113 -113
- package/lib/display/table/table-pagination.component.d.ts +91 -91
- package/lib/display/table/table-selectable-row.component.d.ts +102 -102
- package/lib/display/table/table.component.d.ts +121 -121
- package/lib/display/tags/tag.d.ts +18 -18
- package/lib/display/tags/tags.component.d.ts +48 -48
- package/lib/display/toast/toast/toast.component.d.ts +23 -23
- package/lib/display/toast/toast-types.d.ts +24 -24
- package/lib/display/toast/toast.service.d.ts +20 -20
- package/lib/display/toast/toaster/toaster.component.d.ts +35 -35
- package/lib/display/tooltip/tooltip.component.d.ts +70 -70
- package/lib/display/tooltip/tooltip.service.d.ts +16 -16
- package/lib/display/tooltip-directive/tooltip.directive.d.ts +44 -44
- package/lib/display/tour/tour-types.d.ts +70 -70
- package/lib/display/tour/tour.component.d.ts +147 -147
- package/lib/display/tour/tour.service.d.ts +38 -38
- package/lib/display/tree/tree.component.d.ts +75 -75
- package/lib/display/view-overlay/view-overlay.component.d.ts +38 -38
- package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +14 -14
- package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +60 -60
- package/lib/shared/directives/popup/popup-container.directive.d.ts +101 -101
- package/lib/shared/display/pipes/date-display.pipe.d.ts +21 -21
- package/lib/shared/display/pipes/highlight-text.pipe.d.ts +9 -9
- package/lib/shared/display/pipes/relative-date.pipe.d.ts +36 -36
- package/lib/shared/display/pipes/row-count.pipe.d.ts +23 -23
- package/lib/shared/display/pipes/time-display.pipe.d.ts +18 -18
- package/lib/shared/display.d.ts +42 -42
- package/lib/shared/form-group.helper.d.ts +31 -31
- package/lib/shared/json-helper.d.ts +7 -7
- package/lib/shared/lodash-helper.d.ts +18 -18
- package/lib/shared/page/page-base/page-base.component.d.ts +259 -259
- package/lib/shared/page/page-statuses.d.ts +13 -13
- package/lib/shared/page/page-title/page-title.component.d.ts +9 -9
- package/lib/shared/page/page-view/page-view.component.d.ts +102 -102
- package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +4 -4
- package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +4 -4
- package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +30 -30
- package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +28 -28
- package/lib/shared/testing/public-mocks.spec.d.ts +90 -90
- package/lib/shared/testing/spy-factory.spec.d.ts +27 -27
- package/lib/shared/testing/translation-mocks.spec.d.ts +30 -30
- package/lib/shared/user-preference.service.d.ts +13 -13
- package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +134 -134
- package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +27 -27
- package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +10 -10
- package/package.json +12 -18
- package/public-api.d.ts +111 -111
- package/schematics/rxjs-7-upgrade/index.d.ts +3 -3
- package/schematics/rxjs-7-upgrade/index.js +67 -67
- package/schematics/rxjs-7-upgrade/schema.d.ts +4 -4
- package/schematics/rxjs-7-upgrade/schema.js +2 -2
- package/schematics/utilities/typescript.d.ts +7 -7
- package/schematics/utilities/typescript.js +41 -41
- package/schematics/utilities/workspace.d.ts +8 -8
- package/schematics/utilities/workspace.js +71 -71
- package/esm2020/lib/core/custom-validators.mjs +0 -29
- package/esm2020/lib/core/date-time-helper.mjs +0 -220
- package/esm2020/lib/display/avatar/avatar.component.mjs +0 -67
- package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +0 -163
- package/esm2020/lib/shared/display.mjs +0 -6
- package/esm2020/lib/shared/form-group.helper.mjs +0 -67
- package/esm2020/lib/shared/lodash-helper.mjs +0 -51
- package/esm2020/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
- package/fesm2015/energycap-components.mjs +0 -12211
- package/fesm2015/energycap-components.mjs.map +0 -1
- package/fesm2020/energycap-components.mjs.map +0 -1
package/{esm2020 → esm2022}/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs
RENAMED
@@ -1,17 +1,17 @@
|
|
1
|
-
import { Injector } from '@angular/core';
|
2
|
-
import { TelemetryService } from '../../core/telemetry.service';
|
3
|
-
import { SpyFactory } from './spy-factory.spec';
|
4
|
-
export class HierarchyBaseTestInjectorFactory {
|
5
|
-
static getComponentInjector() {
|
6
|
-
return Injector.create({
|
7
|
-
providers: [
|
8
|
-
{
|
9
|
-
provide: TelemetryService,
|
10
|
-
useFactory: () => SpyFactory.createSpy(TelemetryService),
|
11
|
-
deps: []
|
12
|
-
}
|
13
|
-
]
|
14
|
-
});
|
15
|
-
}
|
16
|
-
}
|
1
|
+
import { Injector } from '@angular/core';
|
2
|
+
import { TelemetryService } from '../../core/telemetry.service';
|
3
|
+
import { SpyFactory } from './spy-factory.spec';
|
4
|
+
export class HierarchyBaseTestInjectorFactory {
|
5
|
+
static getComponentInjector() {
|
6
|
+
return Injector.create({
|
7
|
+
providers: [
|
8
|
+
{
|
9
|
+
provide: TelemetryService,
|
10
|
+
useFactory: () => SpyFactory.createSpy(TelemetryService),
|
11
|
+
deps: []
|
12
|
+
}
|
13
|
+
]
|
14
|
+
});
|
15
|
+
}
|
16
|
+
}
|
17
17
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2h5LWJhc2UtdGVzdC1pbmplY3Rvci1mYWN0b3J5LnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3Rlc3RpbmcvaGllcmFyY2h5LWJhc2UtdGVzdC1pbmplY3Rvci1mYWN0b3J5LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsTUFBTSxPQUFPLGdDQUFnQztJQUVwQyxNQUFNLENBQUMsb0JBQW9CO1FBQ2hDLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNyQixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGdCQUFnQjtvQkFDekIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7b0JBQ3hELElBQUksRUFBRSxFQUFFO2lCQUNUO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90ZWxlbWV0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFNweUZhY3RvcnkgfSBmcm9tICcuL3NweS1mYWN0b3J5LnNwZWMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEhpZXJhcmNoeUJhc2VUZXN0SW5qZWN0b3JGYWN0b3J5IHtcclxuICBcclxuICBwdWJsaWMgc3RhdGljIGdldENvbXBvbmVudEluamVjdG9yKCkge1xyXG4gICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFRlbGVtZXRyeVNlcnZpY2UsXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiBTcHlGYWN0b3J5LmNyZWF0ZVNweShUZWxlbWV0cnlTZXJ2aWNlKSxcclxuICAgICAgICAgIGRlcHM6IFtdXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -1,38 +1,38 @@
|
|
1
|
-
import { clickEvent } from "./translation-mocks.spec";
|
2
|
-
export class PageBaseComponentTestHelper {
|
3
|
-
/**
|
4
|
-
* Shortcut to access the component's controls
|
5
|
-
*/
|
6
|
-
get controls() {
|
7
|
-
return this._component.formGroup.controls;
|
8
|
-
}
|
9
|
-
constructor(component) {
|
10
|
-
this._component = component;
|
11
|
-
}
|
12
|
-
/**
|
13
|
-
* Call and await ngOnInit and ngAfterViewInit
|
14
|
-
*
|
15
|
-
* @returns {Promise<void>}
|
16
|
-
*/
|
17
|
-
async initialize() {
|
18
|
-
await this._component.ngOnInit();
|
19
|
-
await this._component.ngAfterViewInit();
|
20
|
-
}
|
21
|
-
/**
|
22
|
-
* Simulate clicking of "Save" button
|
23
|
-
*
|
24
|
-
* @returns {Promise<void>}
|
25
|
-
*/
|
26
|
-
async clickSave() {
|
27
|
-
await this._component.onSave(clickEvent);
|
28
|
-
}
|
29
|
-
/**
|
30
|
-
* Simulate saving without validate
|
31
|
-
*
|
32
|
-
* @returns {Promise<void>}
|
33
|
-
*/
|
34
|
-
async clickSaveWithoutValidate() {
|
35
|
-
await this._component.onSaveWithoutValidate(clickEvent);
|
36
|
-
}
|
37
|
-
}
|
1
|
+
import { clickEvent } from "./translation-mocks.spec";
|
2
|
+
export class PageBaseComponentTestHelper {
|
3
|
+
/**
|
4
|
+
* Shortcut to access the component's controls
|
5
|
+
*/
|
6
|
+
get controls() {
|
7
|
+
return this._component.formGroup.controls;
|
8
|
+
}
|
9
|
+
constructor(component) {
|
10
|
+
this._component = component;
|
11
|
+
}
|
12
|
+
/**
|
13
|
+
* Call and await ngOnInit and ngAfterViewInit
|
14
|
+
*
|
15
|
+
* @returns {Promise<void>}
|
16
|
+
*/
|
17
|
+
async initialize() {
|
18
|
+
await this._component.ngOnInit();
|
19
|
+
await this._component.ngAfterViewInit();
|
20
|
+
}
|
21
|
+
/**
|
22
|
+
* Simulate clicking of "Save" button
|
23
|
+
*
|
24
|
+
* @returns {Promise<void>}
|
25
|
+
*/
|
26
|
+
async clickSave() {
|
27
|
+
await this._component.onSave(clickEvent);
|
28
|
+
}
|
29
|
+
/**
|
30
|
+
* Simulate saving without validate
|
31
|
+
*
|
32
|
+
* @returns {Promise<void>}
|
33
|
+
*/
|
34
|
+
async clickSaveWithoutValidate() {
|
35
|
+
await this._component.onSaveWithoutValidate(clickEvent);
|
36
|
+
}
|
37
|
+
}
|
38
38
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1iYXNlLWNvbXBvbmVudC10ZXN0LWhlbHBlci5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC90ZXN0aW5nL3BhZ2UtYmFzZS1jb21wb25lbnQtdGVzdC1oZWxwZXIuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEQsTUFBTSxPQUFPLDJCQUEyQjtJQUd0Qzs7T0FFRztJQUNILElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUM1QyxDQUFDO0lBRUQsWUFBWSxTQUFZO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxTQUFTO1FBQ3BCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVDOzs7O0tBSUM7SUFDTyxLQUFLLENBQUMsd0JBQXdCO1FBQ3BDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMxRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgUGFnZUJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi4vcGFnZS9wYWdlLWJhc2UvcGFnZS1iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBjbGlja0V2ZW50IH0gZnJvbSBcIi4vdHJhbnNsYXRpb24tbW9ja3Muc3BlY1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFBhZ2VCYXNlQ29tcG9uZW50VGVzdEhlbHBlcjxUIGV4dGVuZHMgUGFnZUJhc2VDb21wb25lbnQ+IHtcclxuICBwcml2YXRlIF9jb21wb25lbnQ6IFQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3J0Y3V0IHRvIGFjY2VzcyB0aGUgY29tcG9uZW50J3MgY29udHJvbHNcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGNvbnRyb2xzKCk6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sIH0ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudC5mb3JtR3JvdXAuY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21wb25lbnQ6IFQpIHtcclxuICAgIHRoaXMuX2NvbXBvbmVudCA9IGNvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGwgYW5kIGF3YWl0IG5nT25Jbml0IGFuZCBuZ0FmdGVyVmlld0luaXRcclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAqL1xyXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5fY29tcG9uZW50Lm5nT25Jbml0KCk7XHJcbiAgICBhd2FpdCB0aGlzLl9jb21wb25lbnQubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTaW11bGF0ZSBjbGlja2luZyBvZiBcIlNhdmVcIiBidXR0b25cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxyXG4gICAqL1xyXG4gIHB1YmxpYyBhc3luYyBjbGlja1NhdmUoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLl9jb21wb25lbnQub25TYXZlKGNsaWNrRXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgICAvKipcclxuICAgKiBTaW11bGF0ZSBzYXZpbmcgd2l0aG91dCB2YWxpZGF0ZVxyXG4gICAqXHJcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XHJcbiAgICovXHJcbiAgICAgcHVibGljIGFzeW5jIGNsaWNrU2F2ZVdpdGhvdXRWYWxpZGF0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgYXdhaXQgdGhpcy5fY29tcG9uZW50Lm9uU2F2ZVdpdGhvdXRWYWxpZGF0ZShjbGlja0V2ZW50KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
@@ -0,0 +1,98 @@
|
|
1
|
+
import { Injector } from "@angular/core";
|
2
|
+
import { ActivatedRoute, Router } from "@angular/router";
|
3
|
+
import { TranslateService } from "@ngx-translate/core";
|
4
|
+
import { ErrorService } from "../../core/error.service";
|
5
|
+
import { RouterHelper } from "../../core/router-helper.service";
|
6
|
+
import { ScrollService } from "../../core/scroll.service";
|
7
|
+
import { TelemetryService } from '../../core/telemetry.service';
|
8
|
+
import { DialogService } from "../../display/dialog/dialog.service";
|
9
|
+
import { SplashService } from "../../display/splash/splash.service";
|
10
|
+
import { MockActivatedRoute, mockRouterFactory, mockRouterHelperFactory } from "./public-mocks.spec";
|
11
|
+
import { SpyFactory } from "./spy-factory.spec";
|
12
|
+
import { MockTranslateService } from "./translation-mocks.spec";
|
13
|
+
/**
|
14
|
+
* Contains static methods to create common injectors for unit testing
|
15
|
+
*/
|
16
|
+
export class PageBaseComponentTestInjectorFactory {
|
17
|
+
/**
|
18
|
+
* Core services retrieved via the @see Injector in our base classes.
|
19
|
+
*/
|
20
|
+
static { this.CoreProviders = [
|
21
|
+
{
|
22
|
+
provide: Router,
|
23
|
+
useFactory: mockRouterFactory,
|
24
|
+
deps: [],
|
25
|
+
},
|
26
|
+
{
|
27
|
+
provide: ScrollService,
|
28
|
+
useFactory: () => {
|
29
|
+
return SpyFactory.createSpy(ScrollService);
|
30
|
+
},
|
31
|
+
deps: []
|
32
|
+
},
|
33
|
+
{
|
34
|
+
provide: ActivatedRoute,
|
35
|
+
useFactory: () => {
|
36
|
+
return new MockActivatedRoute();
|
37
|
+
},
|
38
|
+
deps: [],
|
39
|
+
},
|
40
|
+
{
|
41
|
+
provide: SplashService,
|
42
|
+
useFactory: () => {
|
43
|
+
return SpyFactory.createSpy(SplashService);
|
44
|
+
},
|
45
|
+
deps: []
|
46
|
+
}
|
47
|
+
]; }
|
48
|
+
/**
|
49
|
+
* Services and such retrieved by @see PageBaseComponent via the @see Injector
|
50
|
+
* in addition to our core services
|
51
|
+
*/
|
52
|
+
static { this.ComponentProviders = [
|
53
|
+
{
|
54
|
+
provide: TranslateService,
|
55
|
+
useFactory: () => new MockTranslateService('-T'),
|
56
|
+
deps: []
|
57
|
+
},
|
58
|
+
{ provide: ErrorService, deps: [] },
|
59
|
+
{
|
60
|
+
provide: DialogService,
|
61
|
+
useFactory: () => {
|
62
|
+
return SpyFactory.createSpy(DialogService);
|
63
|
+
},
|
64
|
+
deps: []
|
65
|
+
},
|
66
|
+
{
|
67
|
+
provide: RouterHelper,
|
68
|
+
useFactory: () => mockRouterHelperFactory(),
|
69
|
+
deps: []
|
70
|
+
}
|
71
|
+
]; }
|
72
|
+
/**
|
73
|
+
* Services and such retrieved by @see WizardBaseComponent via the @see Injector
|
74
|
+
* in addition to our core and @see PageBaseComponent services
|
75
|
+
*/
|
76
|
+
static { this.WizardProviders = [
|
77
|
+
{
|
78
|
+
provide: TelemetryService,
|
79
|
+
useFactory: () => {
|
80
|
+
return SpyFactory.createSpy(TelemetryService);
|
81
|
+
},
|
82
|
+
deps: []
|
83
|
+
}
|
84
|
+
]; }
|
85
|
+
/**
|
86
|
+
* Get an injector which provides spy and mock objects needed by the @see PageBaseComponent
|
87
|
+
*/
|
88
|
+
static getComponentInjector() {
|
89
|
+
return Injector.create({ providers: [...this.CoreProviders, ...this.ComponentProviders] });
|
90
|
+
}
|
91
|
+
/**
|
92
|
+
* Get an injector which provides spy and mock objects needed by the @see WizardBaseComponent
|
93
|
+
*/
|
94
|
+
static getWizardBaseComponentInjector() {
|
95
|
+
return Injector.create({ providers: [...this.CoreProviders, ...this.ComponentProviders, ...this.WizardProviders] });
|
96
|
+
}
|
97
|
+
}
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1iYXNlLWNvbXBvbmVudC10ZXN0LWluamVjdG9yLWZhY3Rvcnkuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvdGVzdGluZy9wYWdlLWJhc2UtY29tcG9uZW50LXRlc3QtaW5qZWN0b3ItZmFjdG9yeS5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0NBQW9DO0lBRTdDOztPQUVHO2FBQ1ksa0JBQWEsR0FBcUI7UUFDN0M7WUFDSSxPQUFPLEVBQUUsTUFBTTtZQUNmLFVBQVUsRUFBRSxpQkFBaUI7WUFDN0IsSUFBSSxFQUFFLEVBQUU7U0FDWDtRQUNEO1lBQ0ksT0FBTyxFQUFFLGFBQWE7WUFDdEIsVUFBVSxFQUFFLEdBQUcsRUFBRTtnQkFDYixPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUE7WUFDOUMsQ0FBQztZQUNELElBQUksRUFBRSxFQUFFO1NBQ1g7UUFDRDtZQUNJLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLFVBQVUsRUFBRSxHQUFHLEVBQUU7Z0JBQ2IsT0FBTyxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDcEMsQ0FBQztZQUNELElBQUksRUFBRSxFQUFFO1NBQ1g7UUFDRDtZQUNJLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFVBQVUsRUFBRSxHQUFHLEVBQUU7Z0JBQ2IsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1lBQzlDLENBQUM7WUFDRCxJQUFJLEVBQUUsRUFBRTtTQUNYO0tBQ0osQ0FBQztJQUVGOzs7T0FHRzthQUNZLHVCQUFrQixHQUFxQjtRQUNsRDtZQUNJLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDO1lBQ2hELElBQUksRUFBRSxFQUFFO1NBQ1g7UUFDRCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtRQUNuQztZQUNJLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFVBQVUsRUFBRSxHQUFHLEVBQUU7Z0JBQ2IsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1lBQzlDLENBQUM7WUFDRCxJQUFJLEVBQUUsRUFBRTtTQUNYO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsWUFBWTtZQUNyQixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsdUJBQXVCLEVBQUU7WUFDM0MsSUFBSSxFQUFFLEVBQUU7U0FDWDtLQUNKLENBQUM7SUFFRjs7O09BR0c7YUFDWSxvQkFBZSxHQUFxQjtRQUMvQztZQUNJLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsVUFBVSxFQUFFLEdBQUcsRUFBRTtnQkFDYixPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNsRCxDQUFDO1lBQ0QsSUFBSSxFQUFFLEVBQUU7U0FDWDtLQUNKLENBQUM7SUFFRjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxvQkFBb0I7UUFDOUIsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyw4QkFBOEI7UUFDekMsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4SCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIFN0YXRpY1Byb3ZpZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IEVycm9yU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2Vycm9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUm91dGVySGVscGVyIH0gZnJvbSBcIi4uLy4uL2NvcmUvcm91dGVyLWhlbHBlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNjcm9sbFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zY3JvbGwuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90ZWxlbWV0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vZGlzcGxheS9kaWFsb2cvZGlhbG9nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU3BsYXNoU2VydmljZSB9IGZyb20gXCIuLi8uLi9kaXNwbGF5L3NwbGFzaC9zcGxhc2guc2VydmljZVwiO1xyXG5pbXBvcnQgeyBNb2NrQWN0aXZhdGVkUm91dGUsIG1vY2tSb3V0ZXJGYWN0b3J5LCBtb2NrUm91dGVySGVscGVyRmFjdG9yeSB9IGZyb20gXCIuL3B1YmxpYy1tb2Nrcy5zcGVjXCI7XHJcbmltcG9ydCB7IFNweUZhY3RvcnkgfSBmcm9tIFwiLi9zcHktZmFjdG9yeS5zcGVjXCI7XHJcbmltcG9ydCB7IE1vY2tUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4vdHJhbnNsYXRpb24tbW9ja3Muc3BlY1wiO1xyXG5cclxuLyoqXHJcbiAqIENvbnRhaW5zIHN0YXRpYyBtZXRob2RzIHRvIGNyZWF0ZSBjb21tb24gaW5qZWN0b3JzIGZvciB1bml0IHRlc3RpbmdcclxuICovXHJcbmV4cG9ydCBjbGFzcyBQYWdlQmFzZUNvbXBvbmVudFRlc3RJbmplY3RvckZhY3Rvcnkge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29yZSBzZXJ2aWNlcyByZXRyaWV2ZWQgdmlhIHRoZSBAc2VlIEluamVjdG9yIGluIG91ciBiYXNlIGNsYXNzZXMuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgc3RhdGljIENvcmVQcm92aWRlcnM6IFN0YXRpY1Byb3ZpZGVyW10gPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBSb3V0ZXIsXHJcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IG1vY2tSb3V0ZXJGYWN0b3J5LFxyXG4gICAgICAgICAgICBkZXBzOiBbXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogU2Nyb2xsU2VydmljZSxcclxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFNweUZhY3RvcnkuY3JlYXRlU3B5KFNjcm9sbFNlcnZpY2UpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGRlcHM6IFtdXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IE1vY2tBY3RpdmF0ZWRSb3V0ZSgpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkZXBzOiBbXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogU3BsYXNoU2VydmljZSxcclxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFNweUZhY3RvcnkuY3JlYXRlU3B5KFNwbGFzaFNlcnZpY2UpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGRlcHM6IFtdXHJcbiAgICAgICAgfVxyXG4gICAgXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlcnZpY2VzIGFuZCBzdWNoIHJldHJpZXZlZCBieSBAc2VlIFBhZ2VCYXNlQ29tcG9uZW50IHZpYSB0aGUgQHNlZSBJbmplY3RvclxyXG4gICAgICogaW4gYWRkaXRpb24gdG8gb3VyIGNvcmUgc2VydmljZXNcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzdGF0aWMgQ29tcG9uZW50UHJvdmlkZXJzOiBTdGF0aWNQcm92aWRlcltdID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4gbmV3IE1vY2tUcmFuc2xhdGVTZXJ2aWNlKCctVCcpLFxyXG4gICAgICAgICAgICBkZXBzOiBbXVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBFcnJvclNlcnZpY2UsIGRlcHM6IFtdIH0sXHJcbiAgICAgICAgeyBcclxuICAgICAgICAgICAgcHJvdmlkZTogRGlhbG9nU2VydmljZSxcclxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFNweUZhY3RvcnkuY3JlYXRlU3B5KERpYWxvZ1NlcnZpY2UpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGRlcHM6IFtdXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IFJvdXRlckhlbHBlcixcclxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4gbW9ja1JvdXRlckhlbHBlckZhY3RvcnkoKSxcclxuICAgICAgICAgICAgZGVwczogW11cclxuICAgICAgICB9XHJcbiAgICBdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VydmljZXMgYW5kIHN1Y2ggcmV0cmlldmVkIGJ5IEBzZWUgV2l6YXJkQmFzZUNvbXBvbmVudCB2aWEgdGhlIEBzZWUgSW5qZWN0b3JcclxuICAgICAqIGluIGFkZGl0aW9uIHRvIG91ciBjb3JlIGFuZCBAc2VlIFBhZ2VCYXNlQ29tcG9uZW50IHNlcnZpY2VzXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgc3RhdGljIFdpemFyZFByb3ZpZGVyczogU3RhdGljUHJvdmlkZXJbXSA9IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IFRlbGVtZXRyeVNlcnZpY2UsXHJcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBTcHlGYWN0b3J5LmNyZWF0ZVNweShUZWxlbWV0cnlTZXJ2aWNlKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZGVwczogW11cclxuICAgICAgICB9XHJcbiAgICBdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IGFuIGluamVjdG9yIHdoaWNoIHByb3ZpZGVzIHNweSBhbmQgbW9jayBvYmplY3RzIG5lZWRlZCBieSB0aGUgQHNlZSBQYWdlQmFzZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldENvbXBvbmVudEluamVjdG9yKCk6IEluamVjdG9yIHtcclxuICAgICAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbLi4udGhpcy5Db3JlUHJvdmlkZXJzLCAuLi50aGlzLkNvbXBvbmVudFByb3ZpZGVyc10gfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgYW4gaW5qZWN0b3Igd2hpY2ggcHJvdmlkZXMgc3B5IGFuZCBtb2NrIG9iamVjdHMgbmVlZGVkIGJ5IHRoZSBAc2VlIFdpemFyZEJhc2VDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgIHB1YmxpYyBzdGF0aWMgZ2V0V2l6YXJkQmFzZUNvbXBvbmVudEluamVjdG9yKCk6IEluamVjdG9yIHtcclxuICAgICAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbLi4udGhpcy5Db3JlUHJvdmlkZXJzLCAuLi50aGlzLkNvbXBvbmVudFByb3ZpZGVycywgLi4udGhpcy5XaXphcmRQcm92aWRlcnNdIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
@@ -1,148 +1,148 @@
|
|
1
|
-
/**
|
2
|
-
* @fileoverview
|
3
|
-
* Test mocks that can be used by consumers of this library.
|
4
|
-
* If you do not want to export a mock, add it to `common-mocks.spec.ts` instead.
|
5
|
-
*/
|
6
|
-
import { EventEmitter, Input, Output, Pipe, Directive, Injectable } from '@angular/core';
|
7
|
-
import { Subject } from 'rxjs';
|
8
|
-
import { Router } from '@angular/router';
|
9
|
-
import { SpyFactory } from './spy-factory.spec';
|
10
|
-
import { RouterHelper } from '../../core/router-helper.service';
|
11
|
-
import * as i0 from "@angular/core";
|
12
|
-
/**
|
13
|
-
* Mock dialog based on the content type, used to test open and close functionality
|
14
|
-
* @deprecated Most components that need a dialog should use `dialogService.openDialog()`, which is much easier to test
|
15
|
-
* and does not require the use of this class. It is included for legacy test support only.
|
16
|
-
*/
|
17
|
-
export class MockDialog {
|
18
|
-
constructor() {
|
19
|
-
this.opened = new EventEmitter();
|
20
|
-
this.closed = new EventEmitter();
|
21
|
-
this.displayAsPanel = false;
|
22
|
-
}
|
23
|
-
async open(component, context, options) {
|
24
|
-
this.lastContext = context;
|
25
|
-
this.componentRef = {
|
26
|
-
instance: new MockDialogContent()
|
27
|
-
};
|
28
|
-
this.opened.emit();
|
29
|
-
}
|
30
|
-
close(result) {
|
31
|
-
this.closed.emit(result);
|
32
|
-
}
|
33
|
-
}
|
34
|
-
|
35
|
-
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
37
|
-
type: Directive
|
38
|
-
}], propDecorators: { size: [{
|
39
|
-
type: Input
|
40
|
-
}], opened: [{
|
41
|
-
type: Output
|
42
|
-
}], closed: [{
|
43
|
-
type: Output
|
44
|
-
}] } });
|
45
|
-
;
|
46
|
-
/**
|
47
|
-
* Mocked dialog content to test save and cancel
|
48
|
-
*/
|
49
|
-
export class MockDialogContent {
|
50
|
-
constructor() {
|
51
|
-
this.dialogId = 'MockID';
|
52
|
-
this.onOpen = (openContext) => { this.openArg = openContext; };
|
53
|
-
this.onDialogSave = new EventEmitter();
|
54
|
-
this.onDialogCancel = new EventEmitter();
|
55
|
-
this.destroyed = new Subject();
|
56
|
-
}
|
57
|
-
}
|
58
|
-
;
|
59
|
-
/**
|
60
|
-
* Mocked DateDisplayPipe
|
61
|
-
*/
|
62
|
-
export class MockDateDisplayPipe {
|
63
|
-
transform(value) {
|
64
|
-
return '01/01/2017';
|
65
|
-
}
|
66
|
-
}
|
67
|
-
|
68
|
-
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
70
|
-
type: Pipe,
|
71
|
-
args: [{ name: 'dateDisplay' }]
|
72
|
-
}] });
|
73
|
-
/** Return a Router spy object that can be used as a mock in tests.*/
|
74
|
-
export function mockRouterFactory() {
|
75
|
-
const mockRouter = SpyFactory.createSpy(Router);
|
76
|
-
mockRouter.isActive.and.returnValue(false);
|
77
|
-
mockRouter.navigate.and.returnValue(Promise.resolve(true));
|
78
|
-
Object.defineProperty(mockRouter, 'events', { value: new Subject(), configurable: true });
|
79
|
-
Object.defineProperty(mockRouter, 'url', { value: '/current/route/url', writable: true });
|
80
|
-
return mockRouter;
|
81
|
-
}
|
82
|
-
/**
|
83
|
-
* Mock {@link ActivatedRoute} for spying on route and query parameters
|
84
|
-
*
|
85
|
-
* @example <caption>Declare!</caption>
|
86
|
-
* let mockActivatedRoute: MockActivatedRoute = new MockActivatedRoute();
|
87
|
-
* let paramMapSpy: jasmine.Spy;
|
88
|
-
* let queryParamMapSpy: jasmine.Spy;
|
89
|
-
* @example <caption>Provide!</caption>
|
90
|
-
* providers: [
|
91
|
-
* ...
|
92
|
-
* { provide: ActivatedRoute, useValue: mockActivatedRoute },
|
93
|
-
* ...
|
94
|
-
* ]
|
95
|
-
* @example <caption>Spy!</caption>
|
96
|
-
* paramMapSpy = spyOn(mockActivatedRoute.snapshot.paramMap, 'get');
|
97
|
-
* queryParamMapSpy = spyOn(mockActivatedRoute.snapshot.queryParamMap, 'get');
|
98
|
-
* @example <caption>Manipulate!</caption>
|
99
|
-
* paramMapSpy.and.returnValue("1234");
|
100
|
-
* queryParamMapSpy.and.returnValue("4321");
|
101
|
-
*/
|
102
|
-
export class MockActivatedRoute {
|
103
|
-
constructor() {
|
104
|
-
this.snapshot = {
|
105
|
-
paramMap: {
|
106
|
-
get: function (name) {
|
107
|
-
return null;
|
108
|
-
}
|
109
|
-
},
|
110
|
-
queryParamMap: {
|
111
|
-
get: function (name) {
|
112
|
-
return null;
|
113
|
-
},
|
114
|
-
getAll: function (name) {
|
115
|
-
return [];
|
116
|
-
},
|
117
|
-
has: function (name) {
|
118
|
-
return false;
|
119
|
-
}
|
120
|
-
},
|
121
|
-
routeConfig: {},
|
122
|
-
};
|
123
|
-
this.paramMap = new Subject();
|
124
|
-
this.queryParamMap = new Subject();
|
125
|
-
this.routeConfig = {};
|
126
|
-
}
|
127
|
-
}
|
128
|
-
|
129
|
-
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
131
|
-
type: Injectable
|
132
|
-
}] });
|
133
|
-
/** Return a @see RouterHelper spy object that can be used as a mock in tests */
|
134
|
-
export function mockRouterHelperFactory() {
|
135
|
-
const mockRouterHelper = SpyFactory.createSpy(RouterHelper);
|
136
|
-
mockRouterHelper.getFullRouteParamMap.and.callFake((route) => route.paramMap);
|
137
|
-
mockRouterHelper.getFullRouteParams.and.callFake((route) => route.params);
|
138
|
-
mockRouterHelper.serializeUrlFromRoot.and.returnValue('serialized/url/from/root');
|
139
|
-
mockRouterHelper.getLastRouteDescendant.and.callFake((route) => route);
|
140
|
-
mockRouterHelper.executeWithNavigationWatcher.and.callFake(async (asyncFunc, doFunc, router) => {
|
141
|
-
const result = await asyncFunc();
|
142
|
-
await doFunc(result);
|
143
|
-
return result;
|
144
|
-
});
|
145
|
-
mockRouterHelper.getViewUrlSegments.and.returnValue([]);
|
146
|
-
return mockRouterHelper;
|
147
|
-
}
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLW1vY2tzLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3Rlc3RpbmcvcHVibGljLW1vY2tzLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBZ0IsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUF1QixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUEwQyxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUNoRTs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLFVBQVU7SUFEdkI7UUFHcUIsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3BELFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM5RCxtQkFBYyxHQUFZLEtBQUssQ0FBQztLQWdCMUM7SUFaVSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQWlDLEVBQUUsT0FBVyxFQUFFLE9BQXVCO1FBQ3JGLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQXNCO1lBQ25DLFFBQVEsRUFBRSxJQUFJLGlCQUFpQixFQUFLO1NBQ3ZDLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBd0I7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7dUdB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Q0FBQyxDQUFDO0lBQ3RHLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUE2QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEcsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2xGLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RixnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUE2QixFQUFFLE1BQXNDLEVBQUUsTUFBVyxFQUFFLEVBQUU7UUFDdEosTUFBTSxNQUFNLEdBQUcsTUFBTSxTQUFTLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztJQUNILGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEQsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBmaWxlb3ZlcnZpZXdcclxuICogVGVzdCBtb2NrcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IGNvbnN1bWVycyBvZiB0aGlzIGxpYnJhcnkuXHJcbiAqIElmIHlvdSBkbyBub3Qgd2FudCB0byBleHBvcnQgYSBtb2NrLCBhZGQgaXQgdG8gYGNvbW1vbi1tb2Nrcy5zcGVjLnRzYCBpbnN0ZWFkLlxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBUeXBlLCBEaXJlY3RpdmUsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZXN1bHQsIERpYWxvZ09wdGlvbnMgfSBmcm9tICcuLi8uLi9kaXNwbGF5L2RpYWxvZy9kaWFsb2ctdHlwZXMnO1xyXG5pbXBvcnQgeyBEaWFsb2dDb250ZW50IH0gZnJvbSAnLi4vLi4vZGlzcGxheS9kaWFsb2cvZGlhbG9nLWNvbnRlbnQnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3B5RmFjdG9yeSB9IGZyb20gJy4vc3B5LWZhY3Rvcnkuc3BlYyc7XHJcbmltcG9ydCB7fSBmcm9tICdqYXNtaW5lJztcclxuaW1wb3J0IHsgUm91dGVySGVscGVyIH0gZnJvbSAnLi4vLi4vY29yZS9yb3V0ZXItaGVscGVyLnNlcnZpY2UnO1xyXG4vKipcclxuICogTW9jayBkaWFsb2cgYmFzZWQgb24gdGhlIGNvbnRlbnQgdHlwZSwgdXNlZCB0byB0ZXN0IG9wZW4gYW5kIGNsb3NlIGZ1bmN0aW9uYWxpdHlcclxuICogQGRlcHJlY2F0ZWQgTW9zdCBjb21wb25lbnRzIHRoYXQgbmVlZCBhIGRpYWxvZyBzaG91bGQgdXNlIGBkaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coKWAsIHdoaWNoIGlzIG11Y2ggZWFzaWVyIHRvIHRlc3RcclxuICogICAgICAgICAgICAgICBhbmQgZG9lcyBub3QgcmVxdWlyZSB0aGUgdXNlIG9mIHRoaXMgY2xhc3MuIEl0IGlzIGluY2x1ZGVkIGZvciBsZWdhY3kgdGVzdCBzdXBwb3J0IG9ubHkuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIE1vY2tEaWFsb2c8VD4ge1xyXG4gICAgQElucHV0KCkgcHVibGljIHNpemU/OiBudW1iZXIgfCAneHNtYWxsJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSc7XHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9wZW5lZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2xvc2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgcHVibGljIGRpc3BsYXlBc1BhbmVsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIGNvbXBvbmVudFJlZiE6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gICAgcHVibGljIGxhc3RDb250ZXh0PzogVDtcclxuICAgIHB1YmxpYyBhc3luYyBvcGVuKGNvbXBvbmVudDogVHlwZTxEaWFsb2dDb250ZW50PFQ+PiwgY29udGV4dD86IFQsIG9wdGlvbnM/OiBEaWFsb2dPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5sYXN0Q29udGV4dCA9IGNvbnRleHQ7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSA8Q29tcG9uZW50UmVmPGFueT4+e1xyXG4gICAgICAgICAgICBpbnN0YW5jZTogbmV3IE1vY2tEaWFsb2dDb250ZW50PFQ+KClcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLm9wZW5lZC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsb3NlKHJlc3VsdD86IERpYWxvZ1Jlc3VsdDxUPik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2xvc2VkLmVtaXQocmVzdWx0KTtcclxuICAgIH1cclxufTtcclxuXHJcbi8qKlxyXG4gKiBNb2NrZWQgZGlhbG9nIGNvbnRlbnQgdG8gdGVzdCBzYXZlIGFuZCBjYW5jZWxcclxuICovXHJcbmV4cG9ydCBjbGFzcyBNb2NrRGlhbG9nQ29udGVudDxUPiBpbXBsZW1lbnRzIERpYWxvZ0NvbnRlbnQ8VD4ge1xyXG4gICAgcHVibGljIGRpYWxvZ0lkOiBzdHJpbmcgPSAnTW9ja0lEJztcclxuICAgIHB1YmxpYyBvcGVuQXJnOiBUIHwgdW5kZWZpbmVkO1xyXG4gICAgcHVibGljIG9uT3BlbjogKG9wZW5Db250ZXh0PzogVCB8IHVuZGVmaW5lZCkgPT4gdm9pZCA9IChvcGVuQ29udGV4dCkgPT4geyB0aGlzLm9wZW5BcmcgPSBvcGVuQ29udGV4dDsgfVxyXG4gICAgcHVibGljIG9uRGlhbG9nU2F2ZTogRXZlbnRFbWl0dGVyPFQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xyXG4gICAgcHVibGljIG9uRGlhbG9nQ2FuY2VsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgcHVibGljIGRlc3Ryb3llZDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIE1vY2tlZCBEYXRlRGlzcGxheVBpcGVcclxuICovXHJcbkBQaXBlKHsgbmFtZTogJ2RhdGVEaXNwbGF5JyB9KVxyXG5leHBvcnQgY2xhc3MgTW9ja0RhdGVEaXNwbGF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlPzogRGF0ZSB8IHN0cmluZyB8IG51bGwpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAnMDEvMDEvMjAxNyc7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKiBSZXR1cm4gYSBSb3V0ZXIgc3B5IG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgbW9jayBpbiB0ZXN0cy4qL1xyXG5leHBvcnQgZnVuY3Rpb24gbW9ja1JvdXRlckZhY3RvcnkoKTogamFzbWluZS5TcHlPYmo8Um91dGVyPiB7XHJcbiAgICBjb25zdCBtb2NrUm91dGVyID0gU3B5RmFjdG9yeS5jcmVhdGVTcHkoUm91dGVyKTtcclxuICAgIG1vY2tSb3V0ZXIuaXNBY3RpdmUuYW5kLnJldHVyblZhbHVlKGZhbHNlKTtcclxuICAgIG1vY2tSb3V0ZXIubmF2aWdhdGUuYW5kLnJldHVyblZhbHVlKFByb21pc2UucmVzb2x2ZSh0cnVlKSk7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobW9ja1JvdXRlciwgJ2V2ZW50cycsIHsgdmFsdWU6IG5ldyBTdWJqZWN0PEV2ZW50PigpLCBjb25maWd1cmFibGU6IHRydWUgfSk7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobW9ja1JvdXRlciwgJ3VybCcsIHsgdmFsdWU6ICcvY3VycmVudC9yb3V0ZS91cmwnLCB3cml0YWJsZTogdHJ1ZSB9KTtcclxuXHJcbiAgICByZXR1cm4gbW9ja1JvdXRlcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIE1vY2sge0BsaW5rIEFjdGl2YXRlZFJvdXRlfSBmb3Igc3B5aW5nIG9uIHJvdXRlIGFuZCBxdWVyeSBwYXJhbWV0ZXJzXHJcbiAqXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPkRlY2xhcmUhPC9jYXB0aW9uPlxyXG4gKiBsZXQgbW9ja0FjdGl2YXRlZFJvdXRlOiBNb2NrQWN0aXZhdGVkUm91dGUgPSBuZXcgTW9ja0FjdGl2YXRlZFJvdXRlKCk7XHJcbiAqIGxldCBwYXJhbU1hcFNweTogamFzbWluZS5TcHk7XHJcbiAqIGxldCBxdWVyeVBhcmFtTWFwU3B5OiBqYXNtaW5lLlNweTtcclxuICogQGV4YW1wbGUgPGNhcHRpb24+UHJvdmlkZSE8L2NhcHRpb24+XHJcbiAqIHByb3ZpZGVyczogW1xyXG4gKiAgICAgIC4uLlxyXG4gKiAgICAgIHsgcHJvdmlkZTogQWN0aXZhdGVkUm91dGUsIHVzZVZhbHVlOiBtb2NrQWN0aXZhdGVkUm91dGUgfSxcclxuICogICAgICAuLi5cclxuICogICAgXVxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5TcHkhPC9jYXB0aW9uPlxyXG4gKiBwYXJhbU1hcFNweSA9IHNweU9uKG1vY2tBY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcCwgJ2dldCcpO1xyXG4gKiBxdWVyeVBhcmFtTWFwU3B5ID0gc3B5T24obW9ja0FjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAsICdnZXQnKTtcclxuICogQGV4YW1wbGUgPGNhcHRpb24+TWFuaXB1bGF0ZSE8L2NhcHRpb24+XHJcbiAqIHBhcmFtTWFwU3B5LmFuZC5yZXR1cm5WYWx1ZShcIjEyMzRcIik7XHJcbiAqIHF1ZXJ5UGFyYW1NYXBTcHkuYW5kLnJldHVyblZhbHVlKFwiNDMyMVwiKTtcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1vY2tBY3RpdmF0ZWRSb3V0ZSB7XHJcbiAgICBzbmFwc2hvdCA9IHtcclxuICAgICAgICBwYXJhbU1hcDoge1xyXG4gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBxdWVyeVBhcmFtTWFwOiB7XHJcbiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICBnZXRBbGw6IGZ1bmN0aW9uIChuYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICBoYXM6IGZ1bmN0aW9uIChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcm91dGVDb25maWc6IHt9LFxyXG4gICAgfTtcclxuICAgIHBhcmFtTWFwID0gbmV3IFN1YmplY3QoKTtcclxuICAgIHF1ZXJ5UGFyYW1NYXAgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgcm91dGVDb25maWcgPSB7fVxyXG59XHJcblxyXG4vKiogUmV0dXJuIGEgQHNlZSBSb3V0ZXJIZWxwZXIgc3B5IG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgbW9jayBpbiB0ZXN0cyAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbW9ja1JvdXRlckhlbHBlckZhY3RvcnkoKTogamFzbWluZS5TcHlPYmo8Um91dGVySGVscGVyPiB7XHJcbiAgICBjb25zdCBtb2NrUm91dGVySGVscGVyID0gU3B5RmFjdG9yeS5jcmVhdGVTcHkoUm91dGVySGVscGVyKTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuZ2V0RnVsbFJvdXRlUGFyYW1NYXAuYW5kLmNhbGxGYWtlKChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4gcm91dGUucGFyYW1NYXApO1xyXG4gICAgbW9ja1JvdXRlckhlbHBlci5nZXRGdWxsUm91dGVQYXJhbXMuYW5kLmNhbGxGYWtlKChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4gcm91dGUucGFyYW1zKTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuc2VyaWFsaXplVXJsRnJvbVJvb3QuYW5kLnJldHVyblZhbHVlKCdzZXJpYWxpemVkL3VybC9mcm9tL3Jvb3QnKTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuZ2V0TGFzdFJvdXRlRGVzY2VuZGFudC5hbmQuY2FsbEZha2UoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkgPT4gcm91dGUpO1xyXG4gICAgbW9ja1JvdXRlckhlbHBlci5leGVjdXRlV2l0aE5hdmlnYXRpb25XYXRjaGVyLmFuZC5jYWxsRmFrZShhc3luYyAoYXN5bmNGdW5jOiAoKSA9PiBQcm9taXNlPGFueT4sIGRvRnVuYzogKHJlc3VsdDogYW55KSA9PiBQcm9taXNlPHZvaWQ+LCByb3V0ZXI6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhc3luY0Z1bmMoKTtcclxuICAgICAgYXdhaXQgZG9GdW5jKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9KTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuZ2V0Vmlld1VybFNlZ21lbnRzLmFuZC5yZXR1cm5WYWx1ZShbXSk7XHJcbiAgICByZXR1cm4gbW9ja1JvdXRlckhlbHBlcjtcclxuICB9XHJcbiJdfQ==
|
1
|
+
/**
|
2
|
+
* @fileoverview
|
3
|
+
* Test mocks that can be used by consumers of this library.
|
4
|
+
* If you do not want to export a mock, add it to `common-mocks.spec.ts` instead.
|
5
|
+
*/
|
6
|
+
import { EventEmitter, Input, Output, Pipe, Directive, Injectable } from '@angular/core';
|
7
|
+
import { Subject } from 'rxjs';
|
8
|
+
import { Router } from '@angular/router';
|
9
|
+
import { SpyFactory } from './spy-factory.spec';
|
10
|
+
import { RouterHelper } from '../../core/router-helper.service';
|
11
|
+
import * as i0 from "@angular/core";
|
12
|
+
/**
|
13
|
+
* Mock dialog based on the content type, used to test open and close functionality
|
14
|
+
* @deprecated Most components that need a dialog should use `dialogService.openDialog()`, which is much easier to test
|
15
|
+
* and does not require the use of this class. It is included for legacy test support only.
|
16
|
+
*/
|
17
|
+
export class MockDialog {
|
18
|
+
constructor() {
|
19
|
+
this.opened = new EventEmitter();
|
20
|
+
this.closed = new EventEmitter();
|
21
|
+
this.displayAsPanel = false;
|
22
|
+
}
|
23
|
+
async open(component, context, options) {
|
24
|
+
this.lastContext = context;
|
25
|
+
this.componentRef = {
|
26
|
+
instance: new MockDialogContent()
|
27
|
+
};
|
28
|
+
this.opened.emit();
|
29
|
+
}
|
30
|
+
close(result) {
|
31
|
+
this.closed.emit(result);
|
32
|
+
}
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MockDialog, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
34
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: MockDialog, inputs: { size: "size" }, outputs: { opened: "opened", closed: "closed" }, ngImport: i0 }); }
|
35
|
+
}
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MockDialog, decorators: [{
|
37
|
+
type: Directive
|
38
|
+
}], propDecorators: { size: [{
|
39
|
+
type: Input
|
40
|
+
}], opened: [{
|
41
|
+
type: Output
|
42
|
+
}], closed: [{
|
43
|
+
type: Output
|
44
|
+
}] } });
|
45
|
+
;
|
46
|
+
/**
|
47
|
+
* Mocked dialog content to test save and cancel
|
48
|
+
*/
|
49
|
+
export class MockDialogContent {
|
50
|
+
constructor() {
|
51
|
+
this.dialogId = 'MockID';
|
52
|
+
this.onOpen = (openContext) => { this.openArg = openContext; };
|
53
|
+
this.onDialogSave = new EventEmitter();
|
54
|
+
this.onDialogCancel = new EventEmitter();
|
55
|
+
this.destroyed = new Subject();
|
56
|
+
}
|
57
|
+
}
|
58
|
+
;
|
59
|
+
/**
|
60
|
+
* Mocked DateDisplayPipe
|
61
|
+
*/
|
62
|
+
export class MockDateDisplayPipe {
|
63
|
+
transform(value) {
|
64
|
+
return '01/01/2017';
|
65
|
+
}
|
66
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MockDateDisplayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
67
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: MockDateDisplayPipe, name: "dateDisplay" }); }
|
68
|
+
}
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MockDateDisplayPipe, decorators: [{
|
70
|
+
type: Pipe,
|
71
|
+
args: [{ name: 'dateDisplay' }]
|
72
|
+
}] });
|
73
|
+
/** Return a Router spy object that can be used as a mock in tests.*/
|
74
|
+
export function mockRouterFactory() {
|
75
|
+
const mockRouter = SpyFactory.createSpy(Router);
|
76
|
+
mockRouter.isActive.and.returnValue(false);
|
77
|
+
mockRouter.navigate.and.returnValue(Promise.resolve(true));
|
78
|
+
Object.defineProperty(mockRouter, 'events', { value: new Subject(), configurable: true });
|
79
|
+
Object.defineProperty(mockRouter, 'url', { value: '/current/route/url', writable: true });
|
80
|
+
return mockRouter;
|
81
|
+
}
|
82
|
+
/**
|
83
|
+
* Mock {@link ActivatedRoute} for spying on route and query parameters
|
84
|
+
*
|
85
|
+
* @example <caption>Declare!</caption>
|
86
|
+
* let mockActivatedRoute: MockActivatedRoute = new MockActivatedRoute();
|
87
|
+
* let paramMapSpy: jasmine.Spy;
|
88
|
+
* let queryParamMapSpy: jasmine.Spy;
|
89
|
+
* @example <caption>Provide!</caption>
|
90
|
+
* providers: [
|
91
|
+
* ...
|
92
|
+
* { provide: ActivatedRoute, useValue: mockActivatedRoute },
|
93
|
+
* ...
|
94
|
+
* ]
|
95
|
+
* @example <caption>Spy!</caption>
|
96
|
+
* paramMapSpy = spyOn(mockActivatedRoute.snapshot.paramMap, 'get');
|
97
|
+
* queryParamMapSpy = spyOn(mockActivatedRoute.snapshot.queryParamMap, 'get');
|
98
|
+
* @example <caption>Manipulate!</caption>
|
99
|
+
* paramMapSpy.and.returnValue("1234");
|
100
|
+
* queryParamMapSpy.and.returnValue("4321");
|
101
|
+
*/
|
102
|
+
export class MockActivatedRoute {
|
103
|
+
constructor() {
|
104
|
+
this.snapshot = {
|
105
|
+
paramMap: {
|
106
|
+
get: function (name) {
|
107
|
+
return null;
|
108
|
+
}
|
109
|
+
},
|
110
|
+
queryParamMap: {
|
111
|
+
get: function (name) {
|
112
|
+
return null;
|
113
|
+
},
|
114
|
+
getAll: function (name) {
|
115
|
+
return [];
|
116
|
+
},
|
117
|
+
has: function (name) {
|
118
|
+
return false;
|
119
|
+
}
|
120
|
+
},
|
121
|
+
routeConfig: {},
|
122
|
+
};
|
123
|
+
this.paramMap = new Subject();
|
124
|
+
this.queryParamMap = new Subject();
|
125
|
+
this.routeConfig = {};
|
126
|
+
}
|
127
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MockActivatedRoute, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
128
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MockActivatedRoute }); }
|
129
|
+
}
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MockActivatedRoute, decorators: [{
|
131
|
+
type: Injectable
|
132
|
+
}] });
|
133
|
+
/** Return a @see RouterHelper spy object that can be used as a mock in tests */
|
134
|
+
export function mockRouterHelperFactory() {
|
135
|
+
const mockRouterHelper = SpyFactory.createSpy(RouterHelper);
|
136
|
+
mockRouterHelper.getFullRouteParamMap.and.callFake((route) => route.paramMap);
|
137
|
+
mockRouterHelper.getFullRouteParams.and.callFake((route) => route.params);
|
138
|
+
mockRouterHelper.serializeUrlFromRoot.and.returnValue('serialized/url/from/root');
|
139
|
+
mockRouterHelper.getLastRouteDescendant.and.callFake((route) => route);
|
140
|
+
mockRouterHelper.executeWithNavigationWatcher.and.callFake(async (asyncFunc, doFunc, router) => {
|
141
|
+
const result = await asyncFunc();
|
142
|
+
await doFunc(result);
|
143
|
+
return result;
|
144
|
+
});
|
145
|
+
mockRouterHelper.getViewUrlSegments.and.returnValue([]);
|
146
|
+
return mockRouterHelper;
|
147
|
+
}
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLW1vY2tzLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvc2hhcmVkL3Rlc3RpbmcvcHVibGljLW1vY2tzLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBZ0IsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUF1QixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUEwQyxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUNoRTs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLFVBQVU7SUFEdkI7UUFHcUIsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3BELFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUM5RCxtQkFBYyxHQUFZLEtBQUssQ0FBQztLQWdCMUM7SUFaVSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQWlDLEVBQUUsT0FBVyxFQUFFLE9BQXVCO1FBQ3JGLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQXNCO1lBQ25DLFFBQVEsRUFBRSxJQUFJLGlCQUFpQixFQUFLO1NBQ3ZDLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBd0I7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsQ0FBQzsrR0Fu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Q0FBQyxDQUFDO0lBQ3RHLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUE2QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEcsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2xGLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RixnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUE2QixFQUFFLE1BQXNDLEVBQUUsTUFBVyxFQUFFLEVBQUU7UUFDdEosTUFBTSxNQUFNLEdBQUcsTUFBTSxTQUFTLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztJQUNILGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEQsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBmaWxlb3ZlcnZpZXdcclxuICogVGVzdCBtb2NrcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IGNvbnN1bWVycyBvZiB0aGlzIGxpYnJhcnkuXHJcbiAqIElmIHlvdSBkbyBub3Qgd2FudCB0byBleHBvcnQgYSBtb2NrLCBhZGQgaXQgdG8gYGNvbW1vbi1tb2Nrcy5zcGVjLnRzYCBpbnN0ZWFkLlxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBUeXBlLCBEaXJlY3RpdmUsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZXN1bHQsIERpYWxvZ09wdGlvbnMgfSBmcm9tICcuLi8uLi9kaXNwbGF5L2RpYWxvZy9kaWFsb2ctdHlwZXMnO1xyXG5pbXBvcnQgeyBEaWFsb2dDb250ZW50IH0gZnJvbSAnLi4vLi4vZGlzcGxheS9kaWFsb2cvZGlhbG9nLWNvbnRlbnQnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3B5RmFjdG9yeSB9IGZyb20gJy4vc3B5LWZhY3Rvcnkuc3BlYyc7XHJcbmltcG9ydCB7fSBmcm9tICdqYXNtaW5lJztcclxuaW1wb3J0IHsgUm91dGVySGVscGVyIH0gZnJvbSAnLi4vLi4vY29yZS9yb3V0ZXItaGVscGVyLnNlcnZpY2UnO1xyXG4vKipcclxuICogTW9jayBkaWFsb2cgYmFzZWQgb24gdGhlIGNvbnRlbnQgdHlwZSwgdXNlZCB0byB0ZXN0IG9wZW4gYW5kIGNsb3NlIGZ1bmN0aW9uYWxpdHlcclxuICogQGRlcHJlY2F0ZWQgTW9zdCBjb21wb25lbnRzIHRoYXQgbmVlZCBhIGRpYWxvZyBzaG91bGQgdXNlIGBkaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coKWAsIHdoaWNoIGlzIG11Y2ggZWFzaWVyIHRvIHRlc3RcclxuICogICAgICAgICAgICAgICBhbmQgZG9lcyBub3QgcmVxdWlyZSB0aGUgdXNlIG9mIHRoaXMgY2xhc3MuIEl0IGlzIGluY2x1ZGVkIGZvciBsZWdhY3kgdGVzdCBzdXBwb3J0IG9ubHkuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIE1vY2tEaWFsb2c8VD4ge1xyXG4gICAgQElucHV0KCkgcHVibGljIHNpemU/OiBudW1iZXIgfCAneHNtYWxsJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSc7XHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9wZW5lZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2xvc2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgcHVibGljIGRpc3BsYXlBc1BhbmVsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIGNvbXBvbmVudFJlZiE6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gICAgcHVibGljIGxhc3RDb250ZXh0PzogVDtcclxuICAgIHB1YmxpYyBhc3luYyBvcGVuKGNvbXBvbmVudDogVHlwZTxEaWFsb2dDb250ZW50PFQ+PiwgY29udGV4dD86IFQsIG9wdGlvbnM/OiBEaWFsb2dPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5sYXN0Q29udGV4dCA9IGNvbnRleHQ7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSA8Q29tcG9uZW50UmVmPGFueT4+e1xyXG4gICAgICAgICAgICBpbnN0YW5jZTogbmV3IE1vY2tEaWFsb2dDb250ZW50PFQ+KClcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLm9wZW5lZC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsb3NlKHJlc3VsdD86IERpYWxvZ1Jlc3VsdDxUPik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2xvc2VkLmVtaXQocmVzdWx0KTtcclxuICAgIH1cclxufTtcclxuXHJcbi8qKlxyXG4gKiBNb2NrZWQgZGlhbG9nIGNvbnRlbnQgdG8gdGVzdCBzYXZlIGFuZCBjYW5jZWxcclxuICovXHJcbmV4cG9ydCBjbGFzcyBNb2NrRGlhbG9nQ29udGVudDxUPiBpbXBsZW1lbnRzIERpYWxvZ0NvbnRlbnQ8VD4ge1xyXG4gICAgcHVibGljIGRpYWxvZ0lkOiBzdHJpbmcgPSAnTW9ja0lEJztcclxuICAgIHB1YmxpYyBvcGVuQXJnOiBUIHwgdW5kZWZpbmVkO1xyXG4gICAgcHVibGljIG9uT3BlbjogKG9wZW5Db250ZXh0PzogVCB8IHVuZGVmaW5lZCkgPT4gdm9pZCA9IChvcGVuQ29udGV4dCkgPT4geyB0aGlzLm9wZW5BcmcgPSBvcGVuQ29udGV4dDsgfVxyXG4gICAgcHVibGljIG9uRGlhbG9nU2F2ZTogRXZlbnRFbWl0dGVyPFQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xyXG4gICAgcHVibGljIG9uRGlhbG9nQ2FuY2VsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgcHVibGljIGRlc3Ryb3llZDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIE1vY2tlZCBEYXRlRGlzcGxheVBpcGVcclxuICovXHJcbkBQaXBlKHsgbmFtZTogJ2RhdGVEaXNwbGF5JyB9KVxyXG5leHBvcnQgY2xhc3MgTW9ja0RhdGVEaXNwbGF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlPzogRGF0ZSB8IHN0cmluZyB8IG51bGwpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAnMDEvMDEvMjAxNyc7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKiBSZXR1cm4gYSBSb3V0ZXIgc3B5IG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgbW9jayBpbiB0ZXN0cy4qL1xyXG5leHBvcnQgZnVuY3Rpb24gbW9ja1JvdXRlckZhY3RvcnkoKTogamFzbWluZS5TcHlPYmo8Um91dGVyPiB7XHJcbiAgICBjb25zdCBtb2NrUm91dGVyID0gU3B5RmFjdG9yeS5jcmVhdGVTcHkoUm91dGVyKTtcclxuICAgIG1vY2tSb3V0ZXIuaXNBY3RpdmUuYW5kLnJldHVyblZhbHVlKGZhbHNlKTtcclxuICAgIG1vY2tSb3V0ZXIubmF2aWdhdGUuYW5kLnJldHVyblZhbHVlKFByb21pc2UucmVzb2x2ZSh0cnVlKSk7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobW9ja1JvdXRlciwgJ2V2ZW50cycsIHsgdmFsdWU6IG5ldyBTdWJqZWN0PEV2ZW50PigpLCBjb25maWd1cmFibGU6IHRydWUgfSk7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobW9ja1JvdXRlciwgJ3VybCcsIHsgdmFsdWU6ICcvY3VycmVudC9yb3V0ZS91cmwnLCB3cml0YWJsZTogdHJ1ZSB9KTtcclxuXHJcbiAgICByZXR1cm4gbW9ja1JvdXRlcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIE1vY2sge0BsaW5rIEFjdGl2YXRlZFJvdXRlfSBmb3Igc3B5aW5nIG9uIHJvdXRlIGFuZCBxdWVyeSBwYXJhbWV0ZXJzXHJcbiAqXHJcbiAqIEBleGFtcGxlIDxjYXB0aW9uPkRlY2xhcmUhPC9jYXB0aW9uPlxyXG4gKiBsZXQgbW9ja0FjdGl2YXRlZFJvdXRlOiBNb2NrQWN0aXZhdGVkUm91dGUgPSBuZXcgTW9ja0FjdGl2YXRlZFJvdXRlKCk7XHJcbiAqIGxldCBwYXJhbU1hcFNweTogamFzbWluZS5TcHk7XHJcbiAqIGxldCBxdWVyeVBhcmFtTWFwU3B5OiBqYXNtaW5lLlNweTtcclxuICogQGV4YW1wbGUgPGNhcHRpb24+UHJvdmlkZSE8L2NhcHRpb24+XHJcbiAqIHByb3ZpZGVyczogW1xyXG4gKiAgICAgIC4uLlxyXG4gKiAgICAgIHsgcHJvdmlkZTogQWN0aXZhdGVkUm91dGUsIHVzZVZhbHVlOiBtb2NrQWN0aXZhdGVkUm91dGUgfSxcclxuICogICAgICAuLi5cclxuICogICAgXVxyXG4gKiBAZXhhbXBsZSA8Y2FwdGlvbj5TcHkhPC9jYXB0aW9uPlxyXG4gKiBwYXJhbU1hcFNweSA9IHNweU9uKG1vY2tBY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcCwgJ2dldCcpO1xyXG4gKiBxdWVyeVBhcmFtTWFwU3B5ID0gc3B5T24obW9ja0FjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAsICdnZXQnKTtcclxuICogQGV4YW1wbGUgPGNhcHRpb24+TWFuaXB1bGF0ZSE8L2NhcHRpb24+XHJcbiAqIHBhcmFtTWFwU3B5LmFuZC5yZXR1cm5WYWx1ZShcIjEyMzRcIik7XHJcbiAqIHF1ZXJ5UGFyYW1NYXBTcHkuYW5kLnJldHVyblZhbHVlKFwiNDMyMVwiKTtcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1vY2tBY3RpdmF0ZWRSb3V0ZSB7XHJcbiAgICBzbmFwc2hvdCA9IHtcclxuICAgICAgICBwYXJhbU1hcDoge1xyXG4gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uIChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBxdWVyeVBhcmFtTWFwOiB7XHJcbiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICBnZXRBbGw6IGZ1bmN0aW9uIChuYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICBoYXM6IGZ1bmN0aW9uIChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcm91dGVDb25maWc6IHt9LFxyXG4gICAgfTtcclxuICAgIHBhcmFtTWFwID0gbmV3IFN1YmplY3QoKTtcclxuICAgIHF1ZXJ5UGFyYW1NYXAgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgcm91dGVDb25maWcgPSB7fVxyXG59XHJcblxyXG4vKiogUmV0dXJuIGEgQHNlZSBSb3V0ZXJIZWxwZXIgc3B5IG9iamVjdCB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgbW9jayBpbiB0ZXN0cyAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbW9ja1JvdXRlckhlbHBlckZhY3RvcnkoKTogamFzbWluZS5TcHlPYmo8Um91dGVySGVscGVyPiB7XHJcbiAgICBjb25zdCBtb2NrUm91dGVySGVscGVyID0gU3B5RmFjdG9yeS5jcmVhdGVTcHkoUm91dGVySGVscGVyKTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuZ2V0RnVsbFJvdXRlUGFyYW1NYXAuYW5kLmNhbGxGYWtlKChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4gcm91dGUucGFyYW1NYXApO1xyXG4gICAgbW9ja1JvdXRlckhlbHBlci5nZXRGdWxsUm91dGVQYXJhbXMuYW5kLmNhbGxGYWtlKChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4gcm91dGUucGFyYW1zKTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuc2VyaWFsaXplVXJsRnJvbVJvb3QuYW5kLnJldHVyblZhbHVlKCdzZXJpYWxpemVkL3VybC9mcm9tL3Jvb3QnKTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuZ2V0TGFzdFJvdXRlRGVzY2VuZGFudC5hbmQuY2FsbEZha2UoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkgPT4gcm91dGUpO1xyXG4gICAgbW9ja1JvdXRlckhlbHBlci5leGVjdXRlV2l0aE5hdmlnYXRpb25XYXRjaGVyLmFuZC5jYWxsRmFrZShhc3luYyAoYXN5bmNGdW5jOiAoKSA9PiBQcm9taXNlPGFueT4sIGRvRnVuYzogKHJlc3VsdDogYW55KSA9PiBQcm9taXNlPHZvaWQ+LCByb3V0ZXI6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhc3luY0Z1bmMoKTtcclxuICAgICAgYXdhaXQgZG9GdW5jKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9KTtcclxuICAgIG1vY2tSb3V0ZXJIZWxwZXIuZ2V0Vmlld1VybFNlZ21lbnRzLmFuZC5yZXR1cm5WYWx1ZShbXSk7XHJcbiAgICByZXR1cm4gbW9ja1JvdXRlckhlbHBlcjtcclxuICB9XHJcbiJdfQ==
|