@sap/open.fe 1.96.0 → 1.97.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/package.json +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/.library +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/.theming +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton-dbg.js +57 -42
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +2 -2
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +4 -4
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/library.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/manifest.json +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/resources.json +4 -4
- package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/.library +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/.theming +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +59 -274
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +52 -64
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +18 -22
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +80 -4
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +42 -23
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +36 -21
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +9 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +20 -50
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +222 -102
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState-dbg.js +33 -6
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +109 -111
- package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d-dbg.js +8 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar.d.ts +0 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +2 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +4 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +10 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +9 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +67 -40
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action-dbg.js +6 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.ts +6 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +57 -18
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +51 -13
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +130 -19
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +139 -18
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID-dbg.js +9 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ID.ts +4 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +18 -7
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.ts +17 -12
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +2 -1
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter-dbg.js +27 -4
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.ts +20 -3
- package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +211 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.ts +202 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes-dbg.js +32 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveRefreshTypes.ts +36 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper-dbg.js +51 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +10 -9
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +232 -228
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +4 -4
- package/packages/sap.fe.core/src/sap/fe/core/library.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/manifest.json +10 -10
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +15 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +6 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +11 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +11 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +11 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +19 -9
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +11 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/resources.json +200 -121
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +30 -19
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper-dbg.js +80 -7
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/EntitySetHelper.ts +42 -2
- package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.md +4 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartDefault/ChartDefault.view.xml +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/viewState/manifest.json +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnAdaptation.fragment.xml +13 -10
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/CustomColumnButton.fragment.xml +7 -4
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/localService/service.cds +1 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/CommonUtils.spec.js +119 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +285 -4
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +121 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +79 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.js +147 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.ts +96 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +51 -18
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +109 -17
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/MetaModelConverter.spec.ts.snap +66 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/EntitySetHelper.cds +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/EntitySetHelperMainEntitySortableFalse.cds +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TableGetSelectionMode.cds +8 -8
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.js +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.ts +38 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.js +483 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.ts +376 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlRefreshStrategyTests.js +101 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlRefreshStrategyTests.ts +105 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlsForRefreshTests.js +103 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/ControlsForRefreshTests.ts +106 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/RefreshStrategyForIntentTests.js +118 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/RefreshStrategyForIntentTests.ts +118 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/StoreStrategyTests.js +101 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelperTestData/StoreStrategyTests.ts +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.js +118 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.js +70 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/EntitySetHelper.spec.js +89 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/EntitySetHelper.spec.ts +73 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/TemplatingExpressions.qunit.js +4 -2
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/.library +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/.theming +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +15 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +9 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil-dbg.js +30 -11
- package/packages/sap.fe.macros/src/sap/fe/macros/DelegateUtil.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +3 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.ts +3 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate-dbg.js +17 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldValueHelpDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +1 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FlexibleColumnLayoutActions.fragment.xml +6 -15
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.fragment.xml +14 -12
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +2 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +12 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +15 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +10 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/chart/ChartHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +81 -9
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +13 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +5 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkContactContent.fragment.xml +1 -7
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +5 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkForContact.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime-dbg.js +46 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime.js +6 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +17 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +26 -16
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +4 -13
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +10 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate-dbg.js +5 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +72 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +12 -11
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +93 -91
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/library.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +9 -9
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/massedit/MassEditRuntime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +3 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/MicroChartTitle.fragment.xml +21 -11
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/RadialMicroChart.fragment.xml +2 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +149 -110
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +3 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +70 -29
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +53 -36
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Utils.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +3 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +2 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.js +844 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.ts +833 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.js +495 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartHelper.spec.ts +440 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.js +469 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartUtils.spec.ts +448 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.js +94 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.ts +70 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +12 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +11 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DelegateUtil.spec.js +61 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldHelper.spec.js +46 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldHelper.spec.ts +30 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.js +13 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.ts +11 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormElement.spec.js +66 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormElement.spec.ts +35 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +48 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +56 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.js +68 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.ts +65 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartDelegate.spec.ts.snap +82 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +23 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldHelper.spec.ts.snap +47 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +52 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FormElement.spec.ts.snap +25 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +0 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +69 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableFieldLabel.spec.ts.snap +451 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldHelper.xml +68 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Table.cds +13 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/TableFieldLabel.cds +152 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +116 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +115 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/FormElement.spec.js +86 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/FormElement.spec.ts +54 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/form/__snapshots__/FormElement.spec.ts.snap +33 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.js +154 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.ts +128 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +7 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +23 -12
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +0 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormElementTemplating.qunit.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +108 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +3 -3
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -1
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +4 -4
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js.map +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +3 -3
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/resources.json +3 -3
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderALP.fragment.html +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/view/PlaceholderOVP.fragment.html +1 -1
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -1
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/.library +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/.theming +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +91 -60
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +31 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +5 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +18 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +114 -85
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +8 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState-dbg.js +23 -3
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/overrides/ViewState.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +15 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating-dbg.js +6 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +6 -4
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderDataPointTitle.fragment.xml +26 -16
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/ObjectPageHeaderForm.fragment.xml +5 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl-dbg.controller.js +63 -9
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer-dbg.controller.js +54 -32
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController-dbg.js +24 -21
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/RootContainerBaseController.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/Fcl.view.xml +2 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/view/NavContainer.view.xml +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/Table.fragment.xml +2 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +8 -9
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +23 -30
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +4 -4
- package/packages/sap.fe.templates/src/sap/fe/templates/library.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +13 -13
- package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +51 -60
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.js +95 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/HeaderFacet.spec.ts +66 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.js +134 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.ts +94 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/HeaderFacet.spec.ts.snap +61 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/ObjectPageHeaderForm.spec.ts.snap +53 -0
- package/packages/sap.fe.test/src/sap/fe/test/.library +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/.theming +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/FCLView-dbg.js +0 -6
- package/packages/sap.fe.test/src/sap/fe/test/FCLView.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/Flexibility-dbg.js +14 -3
- package/packages/sap.fe.test/src/sap/fe/test/Flexibility.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper-dbg.js +85 -8
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.ts +54 -2
- package/packages/sap.fe.test/src/sap/fe/test/ListReport-dbg.js +0 -11
- package/packages/sap.fe.test/src/sap/fe/test/ListReport.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +0 -38
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/TemplatePage-dbg.js +0 -12
- package/packages/sap.fe.test/src/sap/fe/test/TemplatePage.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +22 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +14 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +21 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI-dbg.js +9 -5
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions-dbg.js +18 -5
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions-dbg.js +25 -5
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/EditState-dbg.js +9 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/EditState.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions-dbg.js +38 -4
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions-dbg.js +33 -4
- package/packages/sap.fe.test/src/sap/fe/test/api/FormAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/TableActions-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +3 -3
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +23 -16
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +3 -3
- package/packages/sap.fe.test/src/sap/fe/test/library.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/manifest.json +3 -3
- package/packages/sap.fe.test/src/sap/fe/test/resources.json +36 -34
- package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jsmeta.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.96.json +0 -49
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.96.json +0 -189
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldRuntime.qunit.js +0 -73
- package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.96.json +0 -160
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/relnote/changes-1.96.json +0 -17
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover-dbg.js +0 -26
- package/packages/sap.fe.templates/src/sap/fe/templates/controls/OverflowToolbarButtonHover.js +0 -6
- package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.96.json +0 -153
|
@@ -19,6 +19,11 @@ import { merge } from "sap/base/util";
|
|
|
19
19
|
import * as path from "path";
|
|
20
20
|
import ConverterContext from "sap/fe/core/converters/ConverterContext";
|
|
21
21
|
import SideEffectsFactory from "sap/fe/core/services/SideEffectsServiceFactory";
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
23
|
+
const formatXml = require("xml-formatter");
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
import * as TemplateModel from "sap/fe/core/TemplateModel";
|
|
22
27
|
|
|
23
28
|
Log.setLevel(1 as any, "sap.ui.core.util.XMLPreprocessor");
|
|
24
29
|
jest.setTimeout(40000);
|
|
@@ -216,11 +221,18 @@ export const getTemplatingResult = async function(
|
|
|
216
221
|
const xmlDoc = parser.parseFromString(templatedXml, "text/xml");
|
|
217
222
|
// To ensure our macro can use #setBindingContext we ensure there is a pre existing JSONModel for converterContext
|
|
218
223
|
// if not already passed to teh templating
|
|
224
|
+
|
|
225
|
+
const oMetaModel = await getMetaModel(sMetadataUrl);
|
|
219
226
|
if (!mModels.hasOwnProperty("converterContext")) {
|
|
220
|
-
mModels = Object.assign(mModels, { "converterContext": new
|
|
227
|
+
mModels = Object.assign(mModels, { "converterContext": new TemplateModel({}, oMetaModel) });
|
|
221
228
|
}
|
|
222
229
|
|
|
223
|
-
|
|
230
|
+
Object.keys(mModels).forEach(function(sModelName) {
|
|
231
|
+
if (mModels[sModelName] && mModels[sModelName].isTemplateModel) {
|
|
232
|
+
mModels[sModelName] = new TemplateModel(mModels[sModelName].data, oMetaModel);
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
|
|
224
236
|
const oPreprocessorSettings: any = {
|
|
225
237
|
models: Object.assign(
|
|
226
238
|
{
|
|
@@ -257,3 +269,43 @@ export const getTemplatedXML = async function(
|
|
|
257
269
|
const templatedXML = await getTemplatingResult(xmlInput, sMetadataUrl, mBindingContexts, mModels);
|
|
258
270
|
return serializeXML(templatedXML);
|
|
259
271
|
};
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Process the requested XML fragment with the provided data.
|
|
275
|
+
*
|
|
276
|
+
* @param {string} name Fully qualified name of the fragment to be tested.
|
|
277
|
+
* @param {object} testData Test data consisting
|
|
278
|
+
* @returns Tempalted fragment as string
|
|
279
|
+
*/
|
|
280
|
+
export async function processFragment(name: string, testData: { [model: string]: object }): Promise<string> {
|
|
281
|
+
const inputXml = `<root><core:Fragment fragmentName="sap.fe.test" type="XML" xmlns:core="sap.ui.core" /></root>`;
|
|
282
|
+
const parser = new window.DOMParser();
|
|
283
|
+
const inputDoc = parser.parseFromString(inputXml, "text/xml");
|
|
284
|
+
|
|
285
|
+
// build model and bindings for given test data
|
|
286
|
+
const settings = {
|
|
287
|
+
models: {} as { [name: string]: JSONModel<object> },
|
|
288
|
+
bindingContexts: {} as { [name: string]: object }
|
|
289
|
+
};
|
|
290
|
+
for (const model in testData) {
|
|
291
|
+
const jsonModel = new JSONModel<object>();
|
|
292
|
+
jsonModel.setData(testData[model]);
|
|
293
|
+
settings.models[model] = jsonModel;
|
|
294
|
+
settings.bindingContexts[model] = settings.models[model].createBindingContext("/");
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
// execute the pre-processor
|
|
298
|
+
const resultDoc = await XMLPreprocessor.process(inputDoc.firstElementChild, { name }, settings);
|
|
299
|
+
|
|
300
|
+
// exclude nested fragments from test snapshots
|
|
301
|
+
const fragments = resultDoc.getElementsByTagName("core:Fragment");
|
|
302
|
+
if (fragments?.length > 0) {
|
|
303
|
+
for (const fragment of fragments) {
|
|
304
|
+
fragment.innerHTML = "";
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
return formatXml(resultDoc.innerHTML, {
|
|
309
|
+
filter: (node: any) => node.type !== "Comment"
|
|
310
|
+
});
|
|
311
|
+
}
|
|
@@ -528,17 +528,6 @@ sap.ui.define(
|
|
|
528
528
|
.description("Seeing a value list of condition operators with " + numItems + " items.")
|
|
529
529
|
.execute();
|
|
530
530
|
},
|
|
531
|
-
iCheckValueForFieldInCreateDialog: function(sFieldId, sValue, bIsRequired) {
|
|
532
|
-
return FieldBuilder.create(this)
|
|
533
|
-
.isDialogElement()
|
|
534
|
-
.hasId(sFieldId)
|
|
535
|
-
.hasValue(sValue)
|
|
536
|
-
.hasProperties({ required: !!bIsRequired })
|
|
537
|
-
.description(
|
|
538
|
-
Utils.formatMessage("Seeing Create dialog parameter '{0}' with value '{1}'", sFieldId, sValue)
|
|
539
|
-
)
|
|
540
|
-
.execute();
|
|
541
|
-
},
|
|
542
531
|
iSeeKPI: function(sTitle, oProperties) {
|
|
543
532
|
var sDescription = "Seeing KPI '" + sTitle + "'";
|
|
544
533
|
if (oProperties) {
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
(c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
|
|
5
5
|
*/
|
|
6
|
-
sap.ui.define(["sap/fe/test/Utils","./TemplatePage","sap/ui/test/Opa5","sap/ui/test/OpaBuilder","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MacroFieldBuilder","sap/fe/test/builder/VMBuilder","sap/fe/test/builder/OverflowToolbarBuilder","sap/fe/test/builder/KPIBuilder","sap/fe/test/api/FooterActionsBase","sap/fe/test/api/FooterAssertionsBase","sap/fe/test/api/HeaderActionsLR","sap/fe/test/api/HeaderAssertionsLR","sap/fe/test/api/KPICardAssertions"],function(U,T,O,a,F,b,V,c,K,d,e,H,f,g){"use strict";function h(I){return"fe::table::"+I+"::LineItem";}function i(E){return"fe::Chart::"+E+"::Chart";}function _(o,p){return F.create(o).hasId(p);}function L(p,A){var s=p.appId,C=p.componentId,j=p.contextPath,E=j?j.substring(1).replace("/","::"):p.entitySet,k=s+"::"+C,S="fe::table::"+E+"::LineItem",l="fe::Chart::"+E+"::Chart",m="fe::FilterBar::"+E,n=m+"::FilterFieldValueHelp::",r=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core"),I="fe::TabMultipleMode",P="fe::ListReport",A=Array.isArray(arguments[1])?arguments[1]:Array.prototype.slice.call(arguments,1);return T.apply(T,[k,{actions:{onTable:function(t){var o;if(t){o=!U.isOfType(t,String)?h(t.property):t;}else{o=S;}return this._onTable({id:o});},onChart:function(v){var o;if(v){o=!U.isOfType(v,String)?i(v.property):v;}else{o=l;}return this._onChart({id:o});},onFilterBar:function(){return this._onFilterBar({id:m});},onHeader:function(){return new H(_(this,P),{id:P});},iCollapseExpandPageHeader:function(o){return this._iCollapseExpandPageHeader(o);},iExecuteActionOnDialog:function(t){return a.create(this).hasType("sap.m.Button").hasProperties({text:t}).isDialogElement().doPress().description("Pressing dialog button '"+t+"'").execute();},iClickLinkWithText:function(t){return a.create(this).hasType("sap.m.Link").hasProperties({text:t}).doPress().description("Navigating via link '"+t+"'").execute();},iOpenIconTabWithTitle:function(N){return a.create(this).hasId(I).has(a.Matchers.aggregation("items",a.Matchers.properties({text:N}))).doPress().description("Selecting Icon Tab "+N).execute();},iSaveVariant:function(v,o,q){var t=U.parseArguments([String,Boolean,Boolean],arguments),u=V.create(this).hasId("fe::PageVariantManagement");if(t[0]){u.doSaveAs(v,o,q).description(U.formatMessage("Saving variant for '{0}' as '{1}' with default='{2}' and applyAutomatically='{3}'","Page Variant",v,!!o,!!q));}else{u.doSave().description(U.formatMessage("Updating current variant for '{0}'","Page Variant"));}return u.execute();},iSelectVariant:function(v){return V.create(this).hasId("fe::PageVariantManagement").doSelectVariant(v).description(U.formatMessage("Selecting variant '{1}' from '{0}'","Page Variant",v)).execute();},iOpenKPICard:function(t){return K.create(this).clickKPITag(t).description("Opening card for KPI '"+t+"'").execute();}},assertions:{onTable:function(t){if(!t){t={id:S};}else{var o=!U.isOfType(t,String)?t.property:t;t={id:h(o)};}return this._onTable(t);},onChart:function(v){var o;if(v){o=!U.isOfType(v,String)?i(v.property):v;}else{o=l;}return this._onChart({id:o});},onFilterBar:function(){return this._onFilterBar({id:m});},onHeader:function(){return new f(_(this,P),{id:P});},onKPICard:function(){return new g(K.create(this));},iSeeTheMessageToast:function(t){return this._iSeeTheMessageToast(t);},iSeeFilterFieldsInFilterBar:function(N,o){if(o){return a.create(this).hasId(m).check(function(q){return(q.getAggregation("layout").isA("sap.fe.core.controls.filterbar.VisualFilterContainer")&&q.getAggregation("layout").getFilterFields().length===N);}).description("Seeing filter bar with "+N+" filter fields").execute();}return a.create(this).hasId(m).hasAggregationLength("filterItems",N).description("Seeing filter bar with "+N+" filter fields").execute();},iSeeTableCellWithActions:function(o,q,B){return a.create(this).hasType("sap.m.ColumnListItem").has(a.Matchers.bindingPath(o)).has(function(t){var u=t.getCells()[q];if(u.isA("sap.fe.macros.MacroAPI")){u=u.getContent();}return u.getMetadata().getElementName()==="sap.m.Button"&&u.getText()===B;}).description("Inline Action is present in the table cell with the Text "+B).execute();},iSeeLinkWithText:function(t){return a.create(this).hasType("sap.m.Link").hasProperties({text:t}).description("Seeing link with text '"+t+"'").execute();},iSeeQuickViewMoreLinksButton:function(){return a.create(this).isDialogElement(true).hasType("sap.m.Button").has(a.Matchers.resourceBundle("text","sap.ui.mdc","info.POPOVER_DEFINE_LINKS")).description("The 'More Links' button found").execute();},iSeeFlpLink:function(D){return a.create(this).hasType("sap.ui.mdc.link.PanelListItem").isDialogElement(true).hasProperties({text:D}).description("FLP link with text '"+D+"' is present").execute();},iSeeHeaderPinnableToggle:function(v){var o=v?"visible":"hidden";return a.create(this).hasType("sap.f.DynamicPageHeader").hasProperties({pinnable:v}).description("The Page Header Pinnable Toggle is "+o).execute();},iSeeContactPopoverWithAvatarImage:function(o){return a.create(this).hasType("sap.ui.mdc.link.Panel").check(function(q){var t=q.some(function(u){return u.src===o;});return t===false;},true).description("Seeing Contact Card with Avatar Image in ListReport").execute();},iSeeLabelWithText:function(t){return a.create(this).hasType("sap.m.Label").hasProperties({text:t}).description("Not Seeing label with text '"+t+"'").execute();},iSeeQuickViewTitleWithText:function(t){return a.create(this).hasType("sap.ui.mdc.link.Panel").check(function(o){var q=o.some(function(u){return u.text===t;});return q===false;},true).description("Seeing QuickView with Title in ListReport").execute();},iSeeSummaryOfAppliedFilters:function(){var o;a.create(this).hasId(m).mustBeVisible(false).do(function(q){o=q.getAssignedFiltersText().filtersText;}).execute();return a.create(this).hasType("sap.f.DynamicPageTitle").has(function(D){return D.getSnappedContent()[0].getText()===o;}).description("The correct text on the collapsed filterbar is displayed").execute();},iSeeDeleteConfirmation:function(){return this._iSeeTheMessageToast(r.getText("C_TRANSACTION_HELPER_OBJECT_PAGE_DELETE_TOAST_SINGULAR"));},iSeePageTitle:function(t){return a.create(this).hasType("sap.f.DynamicPageTitle").hasAggregationProperties("heading",{text:t}).description("Seeing title '"+t+"'").execute();},iSeeVariantTitle:function(t){return a.create(this).hasType("sap.m.Title").hasId("fe::PageVariantManagement-text").hasProperties({text:t}).description("Seeing variant title '"+t+"'").execute();},iSeeControlVMFilterBarTitle:function(t){return a.create(this).hasType("sap.m.Title").hasId(m+"::VariantManagement-text").hasProperties({text:t}).description("Seeing variant title '"+t+"'").execute();},iSeeControlVMTableTitle:function(t,o){var q=o?h(o):S;return a.create(this).hasType("sap.m.Title").hasId(q+"::VM-text").hasProperties({text:t}).description("Seeing variant title '"+t+"'").execute();},iSeeVariantModified:function(o,q){var t;if(q){t=m+"::VariantManagement-modified";}else{t="fe::PageVariantManagement-modified";}o=o===undefined?true:o;if(o){return a.create(this).hasType("sap.m.Label").hasId(t).hasProperties({text:"*"}).description("Seeing variant state as 'modified'").execute();}else{return a.create(this).hasType("sap.m.Label").check(function(u){return!u.some(function(v){return v.getId()===t;});},true).description("Seeing variant state as 'not modified'").execute();}},iSeePageVM:function(o){return F.create(this).hasId("fe::PageVariantManagement").hasState(o).description(U.formatMessage("Seeing page VM with state '{0}'",o)).execute();},iSeeControlVMFilterBar:function(){return a.create(this).hasId(m+"::VariantManagement").description("Seeing control VM - FilterBar").execute();},iSeeDraftIndicator:function(){return a.create(this).hasType("sap.m.Link").hasProperties({text:r.getText("C_DRAFT_POPOVER_ADMIN_DATA_DRAFTINFO_DRAFT_OBJECT")}).description("Draft indicator is visible").execute();},iSeeDraftIndicatorLocked:function(u){var t=r.getText("C_DRAFT_POPOVER_ADMIN_DATA_DRAFTINFO_LOCKED_OBJECT_WITH_OWNER_INFO",[u]);return a.create(this).hasType("sap.m.Link").hasProperties({text:t}).description("Draft indicator is visible and displays '"+t+"'").execute();},iSeeIconTabWithProperties:function(o){return(a.create(this).hasId(I).has(a.Matchers.aggregationMatcher("items",a.Matchers.properties(o))).description(U.formatMessage("Seeing Icon Tab with properties '{0}'",o)).execute());},iSeeNumOfOperators:function(o,q){return a.create(this).hasId(n+o+"-DCP").doOnChildren(a.create(this).hasAggregationLength("items",q)).description("Seeing a value list of condition operators with "+q+" items.").execute();},
|
|
6
|
+
sap.ui.define(["sap/fe/test/Utils","./TemplatePage","sap/ui/test/Opa5","sap/ui/test/OpaBuilder","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MacroFieldBuilder","sap/fe/test/builder/VMBuilder","sap/fe/test/builder/OverflowToolbarBuilder","sap/fe/test/builder/KPIBuilder","sap/fe/test/api/FooterActionsBase","sap/fe/test/api/FooterAssertionsBase","sap/fe/test/api/HeaderActionsLR","sap/fe/test/api/HeaderAssertionsLR","sap/fe/test/api/KPICardAssertions"],function(U,T,O,a,F,b,V,c,K,d,e,H,f,g){"use strict";function h(I){return"fe::table::"+I+"::LineItem";}function i(E){return"fe::Chart::"+E+"::Chart";}function _(o,p){return F.create(o).hasId(p);}function L(p,A){var s=p.appId,C=p.componentId,j=p.contextPath,E=j?j.substring(1).replace("/","::"):p.entitySet,k=s+"::"+C,S="fe::table::"+E+"::LineItem",l="fe::Chart::"+E+"::Chart",m="fe::FilterBar::"+E,n=m+"::FilterFieldValueHelp::",r=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core"),I="fe::TabMultipleMode",P="fe::ListReport",A=Array.isArray(arguments[1])?arguments[1]:Array.prototype.slice.call(arguments,1);return T.apply(T,[k,{actions:{onTable:function(t){var o;if(t){o=!U.isOfType(t,String)?h(t.property):t;}else{o=S;}return this._onTable({id:o});},onChart:function(v){var o;if(v){o=!U.isOfType(v,String)?i(v.property):v;}else{o=l;}return this._onChart({id:o});},onFilterBar:function(){return this._onFilterBar({id:m});},onHeader:function(){return new H(_(this,P),{id:P});},iCollapseExpandPageHeader:function(o){return this._iCollapseExpandPageHeader(o);},iExecuteActionOnDialog:function(t){return a.create(this).hasType("sap.m.Button").hasProperties({text:t}).isDialogElement().doPress().description("Pressing dialog button '"+t+"'").execute();},iClickLinkWithText:function(t){return a.create(this).hasType("sap.m.Link").hasProperties({text:t}).doPress().description("Navigating via link '"+t+"'").execute();},iOpenIconTabWithTitle:function(N){return a.create(this).hasId(I).has(a.Matchers.aggregation("items",a.Matchers.properties({text:N}))).doPress().description("Selecting Icon Tab "+N).execute();},iSaveVariant:function(v,o,q){var t=U.parseArguments([String,Boolean,Boolean],arguments),u=V.create(this).hasId("fe::PageVariantManagement");if(t[0]){u.doSaveAs(v,o,q).description(U.formatMessage("Saving variant for '{0}' as '{1}' with default='{2}' and applyAutomatically='{3}'","Page Variant",v,!!o,!!q));}else{u.doSave().description(U.formatMessage("Updating current variant for '{0}'","Page Variant"));}return u.execute();},iSelectVariant:function(v){return V.create(this).hasId("fe::PageVariantManagement").doSelectVariant(v).description(U.formatMessage("Selecting variant '{1}' from '{0}'","Page Variant",v)).execute();},iOpenKPICard:function(t){return K.create(this).clickKPITag(t).description("Opening card for KPI '"+t+"'").execute();}},assertions:{onTable:function(t){if(!t){t={id:S};}else{var o=!U.isOfType(t,String)?t.property:t;t={id:h(o)};}return this._onTable(t);},onChart:function(v){var o;if(v){o=!U.isOfType(v,String)?i(v.property):v;}else{o=l;}return this._onChart({id:o});},onFilterBar:function(){return this._onFilterBar({id:m});},onHeader:function(){return new f(_(this,P),{id:P});},onKPICard:function(){return new g(K.create(this));},iSeeTheMessageToast:function(t){return this._iSeeTheMessageToast(t);},iSeeFilterFieldsInFilterBar:function(N,o){if(o){return a.create(this).hasId(m).check(function(q){return(q.getAggregation("layout").isA("sap.fe.core.controls.filterbar.VisualFilterContainer")&&q.getAggregation("layout").getFilterFields().length===N);}).description("Seeing filter bar with "+N+" filter fields").execute();}return a.create(this).hasId(m).hasAggregationLength("filterItems",N).description("Seeing filter bar with "+N+" filter fields").execute();},iSeeTableCellWithActions:function(o,q,B){return a.create(this).hasType("sap.m.ColumnListItem").has(a.Matchers.bindingPath(o)).has(function(t){var u=t.getCells()[q];if(u.isA("sap.fe.macros.MacroAPI")){u=u.getContent();}return u.getMetadata().getElementName()==="sap.m.Button"&&u.getText()===B;}).description("Inline Action is present in the table cell with the Text "+B).execute();},iSeeLinkWithText:function(t){return a.create(this).hasType("sap.m.Link").hasProperties({text:t}).description("Seeing link with text '"+t+"'").execute();},iSeeQuickViewMoreLinksButton:function(){return a.create(this).isDialogElement(true).hasType("sap.m.Button").has(a.Matchers.resourceBundle("text","sap.ui.mdc","info.POPOVER_DEFINE_LINKS")).description("The 'More Links' button found").execute();},iSeeFlpLink:function(D){return a.create(this).hasType("sap.ui.mdc.link.PanelListItem").isDialogElement(true).hasProperties({text:D}).description("FLP link with text '"+D+"' is present").execute();},iSeeHeaderPinnableToggle:function(v){var o=v?"visible":"hidden";return a.create(this).hasType("sap.f.DynamicPageHeader").hasProperties({pinnable:v}).description("The Page Header Pinnable Toggle is "+o).execute();},iSeeContactPopoverWithAvatarImage:function(o){return a.create(this).hasType("sap.ui.mdc.link.Panel").check(function(q){var t=q.some(function(u){return u.src===o;});return t===false;},true).description("Seeing Contact Card with Avatar Image in ListReport").execute();},iSeeLabelWithText:function(t){return a.create(this).hasType("sap.m.Label").hasProperties({text:t}).description("Not Seeing label with text '"+t+"'").execute();},iSeeQuickViewTitleWithText:function(t){return a.create(this).hasType("sap.ui.mdc.link.Panel").check(function(o){var q=o.some(function(u){return u.text===t;});return q===false;},true).description("Seeing QuickView with Title in ListReport").execute();},iSeeSummaryOfAppliedFilters:function(){var o;a.create(this).hasId(m).mustBeVisible(false).do(function(q){o=q.getAssignedFiltersText().filtersText;}).execute();return a.create(this).hasType("sap.f.DynamicPageTitle").has(function(D){return D.getSnappedContent()[0].getText()===o;}).description("The correct text on the collapsed filterbar is displayed").execute();},iSeeDeleteConfirmation:function(){return this._iSeeTheMessageToast(r.getText("C_TRANSACTION_HELPER_OBJECT_PAGE_DELETE_TOAST_SINGULAR"));},iSeePageTitle:function(t){return a.create(this).hasType("sap.f.DynamicPageTitle").hasAggregationProperties("heading",{text:t}).description("Seeing title '"+t+"'").execute();},iSeeVariantTitle:function(t){return a.create(this).hasType("sap.m.Title").hasId("fe::PageVariantManagement-text").hasProperties({text:t}).description("Seeing variant title '"+t+"'").execute();},iSeeControlVMFilterBarTitle:function(t){return a.create(this).hasType("sap.m.Title").hasId(m+"::VariantManagement-text").hasProperties({text:t}).description("Seeing variant title '"+t+"'").execute();},iSeeControlVMTableTitle:function(t,o){var q=o?h(o):S;return a.create(this).hasType("sap.m.Title").hasId(q+"::VM-text").hasProperties({text:t}).description("Seeing variant title '"+t+"'").execute();},iSeeVariantModified:function(o,q){var t;if(q){t=m+"::VariantManagement-modified";}else{t="fe::PageVariantManagement-modified";}o=o===undefined?true:o;if(o){return a.create(this).hasType("sap.m.Label").hasId(t).hasProperties({text:"*"}).description("Seeing variant state as 'modified'").execute();}else{return a.create(this).hasType("sap.m.Label").check(function(u){return!u.some(function(v){return v.getId()===t;});},true).description("Seeing variant state as 'not modified'").execute();}},iSeePageVM:function(o){return F.create(this).hasId("fe::PageVariantManagement").hasState(o).description(U.formatMessage("Seeing page VM with state '{0}'",o)).execute();},iSeeControlVMFilterBar:function(){return a.create(this).hasId(m+"::VariantManagement").description("Seeing control VM - FilterBar").execute();},iSeeDraftIndicator:function(){return a.create(this).hasType("sap.m.Link").hasProperties({text:r.getText("C_DRAFT_POPOVER_ADMIN_DATA_DRAFTINFO_DRAFT_OBJECT")}).description("Draft indicator is visible").execute();},iSeeDraftIndicatorLocked:function(u){var t=r.getText("C_DRAFT_POPOVER_ADMIN_DATA_DRAFTINFO_LOCKED_OBJECT_WITH_OWNER_INFO",[u]);return a.create(this).hasType("sap.m.Link").hasProperties({text:t}).description("Draft indicator is visible and displays '"+t+"'").execute();},iSeeIconTabWithProperties:function(o){return(a.create(this).hasId(I).has(a.Matchers.aggregationMatcher("items",a.Matchers.properties(o))).description(U.formatMessage("Seeing Icon Tab with properties '{0}'",o)).execute());},iSeeNumOfOperators:function(o,q){return a.create(this).hasId(n+o+"-DCP").doOnChildren(a.create(this).hasAggregationLength("items",q)).description("Seeing a value list of condition operators with "+q+" items.").execute();},iSeeKPI:function(t,o){var D="Seeing KPI '"+t+"'";if(o){D+=" with properties "+JSON.stringify(o);}return K.create(this).checkKPITag(t,o).description(D).execute();},iSeeKPICard:function(){return K.create(this).checkKPICard().description("Seeing KPI Card").execute();}}}].concat(A));}return L;});
|
|
@@ -409,16 +409,6 @@ sap.ui.define(
|
|
|
409
409
|
.description("Comfirmed VHD opened in dialog")
|
|
410
410
|
.execute();
|
|
411
411
|
},
|
|
412
|
-
iEnterValueForFieldInCreateDialog: function(sFieldId, sValue) {
|
|
413
|
-
return OpaBuilder.create(this)
|
|
414
|
-
.isDialogElement()
|
|
415
|
-
.hasId(sFieldId)
|
|
416
|
-
.doEnterText(sValue)
|
|
417
|
-
.description(
|
|
418
|
-
"Entering Text in the field '" + sFieldId + "'in the create dialog with value '" + sValue + "'"
|
|
419
|
-
)
|
|
420
|
-
.execute();
|
|
421
|
-
},
|
|
422
412
|
iClickOnMessageButton: function() {
|
|
423
413
|
return OpaBuilder.create(this)
|
|
424
414
|
|
|
@@ -796,21 +786,6 @@ sap.ui.define(
|
|
|
796
786
|
.description("Seeing variant title '" + sTitle + "'")
|
|
797
787
|
.execute();
|
|
798
788
|
},
|
|
799
|
-
iCheckValueOfFieldInCreateDialog: function(sFieldId, sValue, sAdditionalValue, bIsRequired) {
|
|
800
|
-
return FieldBuilder.create(this)
|
|
801
|
-
.isDialogElement()
|
|
802
|
-
.hasId(sFieldId)
|
|
803
|
-
.hasValue(sValue, sAdditionalValue)
|
|
804
|
-
.hasProperties({ required: !!bIsRequired })
|
|
805
|
-
.description(
|
|
806
|
-
Utils.formatMessage(
|
|
807
|
-
"Seeing field '{0}' with value '{1}'",
|
|
808
|
-
sFieldId,
|
|
809
|
-
[].concat(sValue, sAdditionalValue || [])
|
|
810
|
-
)
|
|
811
|
-
)
|
|
812
|
-
.execute();
|
|
813
|
-
},
|
|
814
789
|
iSeeMessageView: function() {
|
|
815
790
|
return OpaBuilder.create(this)
|
|
816
791
|
.hasType("sap.m.MessageView")
|
|
@@ -851,19 +826,6 @@ sap.ui.define(
|
|
|
851
826
|
.description("MessageItem is correctly displayed")
|
|
852
827
|
.execute();
|
|
853
828
|
},
|
|
854
|
-
|
|
855
|
-
iCheckValueForFieldInCreateDialog: function(sFieldId, sValue, bIsRequired) {
|
|
856
|
-
return FieldBuilder.create(this)
|
|
857
|
-
.isDialogElement()
|
|
858
|
-
.hasId(sFieldId)
|
|
859
|
-
.hasValue(sValue)
|
|
860
|
-
.hasProperties({ required: !!bIsRequired })
|
|
861
|
-
.description(
|
|
862
|
-
Utils.formatMessage("Seeing Create dialog parameter '{0}' with value '{1}'", sFieldId, sValue)
|
|
863
|
-
)
|
|
864
|
-
.execute();
|
|
865
|
-
},
|
|
866
|
-
|
|
867
829
|
iClickBackOnMessageView: function() {
|
|
868
830
|
return OpaBuilder.create(this)
|
|
869
831
|
.hasType("sap.m.MessageView")
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
(c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
|
|
5
5
|
*/
|
|
6
|
-
sap.ui.define(["sap/base/util/merge","./TemplatePage","sap/ui/test/OpaBuilder","sap/ui/test/Opa5","sap/fe/test/Utils","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MacroFieldBuilder","sap/fe/test/builder/OverflowToolbarBuilder","sap/fe/test/api/FooterActionsOP","sap/fe/test/api/FooterAssertionsOP","sap/fe/test/api/HeaderActions","sap/fe/test/api/HeaderAssertions","sap/fe/test/api/FormActions","sap/fe/test/api/FormAssertions","sap/fe/test/api/APIHelper"],function(m,T,O,a,U,F,b,c,d,e,H,f,g,h,A){"use strict";function i(N){return"fe::table::"+N.split("/").join("::")+"::LineItem";}function j(E){return"fe::Chart::"+E+"::Chart";}function _(v,q){return c.create(v).hasId(q.id);}function k(v,q){return F.create(v).hasId(q.id);}function l(v,q){var r=F.create(v);if(U.isOfType(q,String)){r.hasType("sap.uxap.ObjectPageSubSection");r.hasProperties({title:q});}else if(q.fieldGroupId){r.hasId(q.fieldGroupId);if(q.fullSubSectionId){r.has(O.Matchers.ancestor(q.fullSubSectionId,false));}}else{r.hasId(q.id);}return r;}function n(s,q){var M,r;if(!U.isOfType(s,String)){if(typeof s.section==="string"&&!s.subSection){r=s.section==="EditableHeaderSection"?"fe::"+s.section+"-anchor":q+"::"+s.section+"-anchor";M=O.Matchers.children(F.Matchers.id(new RegExp(U.formatMessage("{0}$",r))));}else{throw new Error("not supported section and subsection parameters for creating a control id: "+s.section+"/"+s.subSection);}}else{M=O.Matchers.children(F.Matchers.states({controlType:"sap.m.Button",text:s}));}return M;}function o(M,s){if(!M){throw new Error("vMenuAction parameter missing");}var q=s+"::"+M+"-anchor-unifiedmenu";return F.create().hasType("sap.ui.unified.MenuItem").hasId(new RegExp(U.formatMessage("{0}$",q))).doPress().description(U.formatMessage("Executing action '{0}' from currently open action menu",M));}function p(P,q){var s=P.appId,C=P.componentId,V=s+"::"+C,r=V+"--fe::ObjectPage",t="fe::HeaderFacet",u="fe::ObjectPage-OPHeaderContent",v="fe::FooterBar",w="fe::FacetSection",x="fe::FacetSubSection",y="fe::Form",z="fe::FormContainer",B="fe::HeaderFacet::FormContainer",D=V+"--fe::Breadcrumbs",E="fe::ObjectPage-anchBar",G="fe::Paginator",I="EditableHeaderForm::EditableHeaderTitle",J={DISPLAY:"Display",EDITABLE:"Editable"},R=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core"),K=Array.prototype.slice.call(arguments,1);return T.apply(T,[V,{actions:{onTable:function(L){if(!U.isOfType(L,String)){L={id:i(L.property)};}return this._onTable(L);},onChart:function(L){var M;if(L){M=!U.isOfType(L,String)?j(L.property):L;}return this._onChart({id:M});},onFooter:function(){return new d(_(this,{id:v}),{id:v});},onHeader:function(){return new H(k(this,{id:r}),{id:r,headerId:t,headerContentId:u,viewId:V,paginatorId:G,breadCrumbId:D});},onForm:function(L){if(!U.isOfType(L,String)){if(L.section){L.id=x+"::"+L.section;L.fullSubSectionId=V+"--"+L.id;}if(L.fieldGroup){if(L.isHeaderFacet){L.fieldGroupId=B+"::"+L.fieldGroup;}else{L.fieldGroupId=z+"::"+L.fieldGroup;}}}return new g(l(this,L),L);},iCollapseExpandPageHeader:function(L){return this._iCollapseExpandPageHeader(L);},iClickQuickViewMoreLinksButton:function(){return O.create(this).hasType("sap.m.Button").has(O.Matchers.resourceBundle("text","sap.ui.mdc","info.POPOVER_DEFINE_LINKS")).doPress().description("Pressing 'More Links' button").execute();},iClickLinkWithText:function(L){return O.create(this).hasType("sap.m.Link").hasProperties({text:L}).doPress().description("Navigating via link '"+L+"'").execute();},iCheckLinksCount:function(L){return O.create(this).hasType("sap.ui.mdc.link.PanelListItem").check(function(M){if(M.length===L+1){return true;}else{return false;}},true).description("Seeing QuickView Card with "+L+" target applications in ObjectPage").execute();},iEnableLink:function(L){return O.create(this).hasType("sap.m.ColumnListItem").hasAggregationProperties("cells",{text:L}).isDialogElement().doPress("selectMulti").description("The CheckBox for link "+L+" is selected").execute();},iPressKeyboardShortcutOnSection:function(S,L){return this._iPressKeyboardShortcut(undefined,S,L,"sap.uxap.ObjectPageSection");},iGoToSection:function(S){var L=O.create(this).hasId(E);if(U.isOfType(S,Object)&&typeof S.section==="string"&&typeof S.subSection==="string"){var M={section:S.section};return L.has(n(M,w)).doOnChildren(O.create(this).hasType("sap.m.Button").has(O.Matchers.childrenMatcher(O.create(this).hasType("sap.ui.core.Icon"),true)).doPress()).success(function(){return o(S.subSection,x).execute();}).description("Selecting section "+S.section).execute();}else{return L.has(n(S,w)).doPress().description("Selecting section "+(S.section||S)).execute();}},iOpenSectionWithTitle:function(N){return this.iGoToSection(N);},iEnterValueForFieldInEditableHeader:function(L){return b.create(this).hasId(V+"--fe::"+I).doEnterText(L).description("Entering '"+L+" in field ").execute();},iOpenVHDInDialog:function(L){return O.create(this).isDialogElement().hasId(L+"-inner-vhi").doPress().description("Opening value help for '"+L+"' from within a dialog").execute();},iConfirmVHDInDialog:function(L){return O.create(this).isDialogElement().hasId(L+"-ok").doPress().description("Comfirmed VHD opened in dialog").execute();},iEnterValueForFieldInCreateDialog:function(L,M){return O.create(this).isDialogElement().hasId(L).doEnterText(M).description("Entering Text in the field '"+L+"'in the create dialog with value '"+M+"'").execute();},iClickOnMessageButton:function(){return O.create(this).hasType("sap.fe.common.MessageButton").doPress().description("Clicked on Message Button").execute();},iCheckMessageButtonTooltip:function(L){return O.create(this).hasType("sap.fe.common.MessageButton").check(function(M){return M[0].getTooltip()===L;},true).description("Checking tooltip of MessageButton").execute();},iClickOnMessage:function(M){return O.create(this).hasType("sap.m.MessageListItem").hasProperties({title:M.MessageText,groupAnnouncement:M.GroupLabel}).isDialogElement(true).description("MessageItem with correct text and group label").doOnChildren(O.create(this).hasType("sap.m.Link").hasProperties({text:M.MessageText}).doPress().description("Click on the message")).execute();}},assertions:{onTable:function(L){if(!U.isOfType(L,String)){L={id:i(L.property)};}return this._onTable(L);},onChart:function(L){var M;if(L){M=!U.isOfType(L,String)?j(L.property):L;}return this._onChart({id:M});},onFooter:function(){return new e(_(this,{id:v}),{id:v});},onHeader:function(){return new f(k(this,{id:r}),{id:r,headerId:t,headerContentId:u,viewId:V,paginatorId:G,breadCrumbId:D});},onForm:function(L){if(!U.isOfType(L,String)){if(L.section){L.id=x+"::"+L.section;L.fullSubSectionId=V+"--"+L.id;}if(L.fieldGroup){L.fieldGroupId=z+"::"+L.fieldGroup;}}return new h(l(this,L),L);},iSeeLinkWithText:function(L){return O.create(this).hasType("sap.m.Link").hasProperties({text:L}).description("Seeing link with text '"+L+"'").execute();},iSeeTextWithText:function(L){return O.create(this).hasType("sap.m.Text").hasProperties({text:L}).description("Seeing Text with text '"+L+"'").execute();},iSeeTitleWithText:function(L){return O.create(this).hasType("sap.m.Title").hasProperties({text:L}).description("Seeing Title with text '"+L+"'").execute();},iSeeContactDetailsPopover:function(L){return(O.create(this).hasType("sap.ui.mdc.link.Panel").description("Contact card with title '"+L+"' is present").execute());},iSeeQuickViewPopover:function(){return O.create(this).hasType("sap.ui.mdc.link.Panel").description("Seeing Quick View Details in ObjectPage").execute();},iSeeContactPopoverWithAvatarImage:function(L){return O.create(this).hasType("sap.ui.mdc.link.Panel").check(function(M){var N=M.some(function(Q){return Q.src===L;});return N===false;},true).description("Seeing Contact Card with Avatar Image in ObjectPage").execute();},iSeeQuickViewMoreLinksButton:function(){return O.create(this).isDialogElement(true).hasType("sap.m.Button").has(O.Matchers.resourceBundle("text","sap.ui.mdc","info.POPOVER_DEFINE_LINKS")).description("The 'More Links' button found").execute();},iSeeObjectPageInDisplayMode:function(){return this._iSeeObjectPageInMode(J.DISPLAY);},iSeeObjectPageInEditMode:function(){return this._iSeeObjectPageInMode(J.EDITABLE);},_iSeeObjectPageInMode:function(M){return O.create(this).hasId(V).viewId(null).has(function(L){return L.getModel("ui").getProperty("/editMode")===M;}).description("Object Page is in mode '"+M+"'").execute();},iSeeSectionWithTitle:function(L){return O.create(this).hasType("sap.uxap.ObjectPageSection").hasProperties({title:L}).description("Seeing section with title '"+L+"'").execute();},iSeeSubSectionWithTitle:function(L){return O.create(this).hasType("sap.uxap.ObjectPageSubSection").hasProperties({title:L}).description("Seeing sub-section with title '"+L+"'").execute();},iSeeSectionButtonWithTitle:function(L,S){return F.create(this).hasId(E).has(O.Matchers.children(F.Matchers.states(m({},{controlType:"sap.m.Button",text:L},S)))).description(U.formatMessage("Seeing section button with title '{0}' and state='{1}'",L,S)).execute();},iSeeFlpLink:function(L){return O.create(this).hasType("sap.ui.mdc.link.PanelListItem").isDialogElement(true).hasProperties({text:L}).description("FLP link with text '"+L+"' is present").execute();},iSeeSimpleFormWithLabel:function(L){return O.create(this).hasType("sap.m.Label").isDialogElement(true).hasProperties({text:L}).description("SimpleForm has label '"+L+"' is present").execute();},iSeeSimpleFormWithText:function(L){return O.create(this).hasType("sap.ui.layout.form.SimpleForm").isDialogElement(true).doOnChildren(O.create(this).hasType("sap.m.Text").hasProperties({text:L})).description("SimpleForm has text '"+L+"' is present").execute();},iSeeSimpleFormWithLink:function(L){return O.create(this).hasType("sap.ui.layout.form.SimpleForm").isDialogElement(true).doOnChildren(O.create(this).hasType("sap.m.Link").hasProperties({text:L})).description("SimpleForm has link '"+L+"' is present").execute();},iSeeSimpleFormWithTitle:function(L){return O.create(this).hasType("sap.ui.core.Title").isDialogElement(true).hasProperties({text:L}).description("SimpleForm has label '"+L+"' is present").execute();},iSeeSelectLinksDialog:function(){return O.create(this).hasType("sap.m.Title").isDialogElement(true).has(O.Matchers.resourceBundle("text","sap.ui.mdc","info.SELECTION_DIALOG_ALIGNEDTITLE")).description("Seeing dialog open").execute();},iDoNotSeeFlpLink:function(L){return O.create(this).hasType("sap.m.Link").isDialogElement(true).check(function(M){var N=M.some(function(Q){return Q.getText()===L;});return N===false;},true).description("FLP link with text '"+L+"' is not found").execute();},iSeeTitleLink:function(L,M){return O.create(this).hasType("sap.m.Link").isDialogElement(true).hasProperties({text:L,href:M}).description("QuickView Title link with text '"+L+"' is found").execute();},iSeeQuickViewTitleWithText:function(L){return O.create(this).hasType("sap.ui.mdc.link.Panel").check(function(M){var N=M.some(function(Q){return Q.text===L;});return N===false;},true).description("Seeing QuickView with Title in ListReport").execute();},iSeeQuickViewFieldWithText:function(L){return O.create(this).hasType("sap.fe.core.controls.FieldWrapper").check(function(M){var N=M.some(function(Q){return Q.text===L;});return N===false;},true).description("Seeing QuickView Form with Text in ListReport").execute();},iSeeCreateConfirmation:function(){return this._iSeeTheMessageToast(R.getText("C_TRANSACTION_HELPER_OBJECT_CREATED"));},iSeeSaveConfirmation:function(){return this._iSeeTheMessageToast(R.getText("C_TRANSACTION_HELPER_OBJECT_SAVED"));},iSeeDeleteConfirmation:function(){return this._iSeeTheMessageToast(R.getText("C_TRANSACTION_HELPER_OBJECT_PAGE_DELETE_TOAST_SINGULAR"));},iSeeConfirmMessageBoxWithTitle:function(L){return O.create(this).hasType("sap.m.Dialog").isDialogElement(true).hasProperties({title:L}).description("Seeing Message dialog open").execute();},iSeeMoreFormContent:function(S){return O.create(this).hasId(y+"::"+S+"::MoreContent").description("Seeing More Form Content in "+S).execute();},iDoNotSeeMoreFormContent:function(S){return O.create(this).hasType("sap.ui.layout.form.Form").check(function(L){var M=L.some(function(N){return N.getId().includes(S+"::MoreContent");});return M===false;}).description("Not Seeing More Form Content in "+S).execute();},iSeeControlVMTableTitle:function(L,N){return O.create(this).hasType("sap.m.Title").hasId(i(N)+"::VM-text").hasProperties({text:L}).description("Seeing variant title '"+L+"'").execute();},iCheckValueOfFieldInCreateDialog:function(L,M,N,Q){return b.create(this).isDialogElement().hasId(L).hasValue(M,N).hasProperties({required:!!Q}).description(U.formatMessage("Seeing field '{0}' with value '{1}'",L,[].concat(M,N||[]))).execute();},iSeeMessageView:function(){return O.create(this).hasType("sap.m.MessageView").isDialogElement(true).description("MessageView is visible").execute();},iCheckMessageItemsOrder:function(L){return O.create(this).hasType("sap.m.MessageView").check(function(M){var N=M[0].getItems();return(N[0].getGroupName()===L[0].GroupLabel&&N[1].getGroupName()===L[1].GroupLabel&&N[0].getTitle()===L[0].MessageText&&N[1].getTitle()===L[1].MessageText);},true).isDialogElement(true).description("MessageItems are correctly ordered").execute();},iCheckMessageItemProperties:function(L,M){return O.create(this).hasType("sap.m.MessageView").check(function(N){var Q=N[0].getItems();return(Q[M].getGroupName()===L.GroupLabel&&Q[M].getTitle()===L.MessageText&&Q[M].getSubtitle()===L.SubTitle&&Q[M].getActiveTitle()===L.ActiveTitle);},true).isDialogElement(true).description("MessageItem is correctly displayed").execute();},iCheckValueForFieldInCreateDialog:function(L,M,N){return b.create(this).isDialogElement().hasId(L).hasValue(M).hasProperties({required:!!N}).description(U.formatMessage("Seeing Create dialog parameter '{0}' with value '{1}'",L,M)).execute();},iClickBackOnMessageView:function(){return O.create(this).hasType("sap.m.MessageView").isDialogElement(true).doOnChildren(O.create(this).hasType("sap.m.Button").hasProperties({icon:"sap-icon://nav-back"}).doPress().description("Click on the message view back")).execute();},iCheckVisibilityOfButtonWithText:function(L,M){return O.create(this).hasType("sap.m.Button").mustBeVisible(M).hasProperties({text:L,visible:M}).description("Button '"+L+"' is "+(M?"visible":"NOT visible")).execute();},iCheckFieldVisibilityInMassEditDialog:function(L,M){return O.create(this).isDialogElement().hasType("sap.m.ComboBox").check(function(N){var Q=N.some(function(S){return S.getId()===L;});return Q===M;}).description("Checking visibility of field in mass edit dialog").execute();}}}].concat(K));}return p;});
|
|
6
|
+
sap.ui.define(["sap/base/util/merge","./TemplatePage","sap/ui/test/OpaBuilder","sap/ui/test/Opa5","sap/fe/test/Utils","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MacroFieldBuilder","sap/fe/test/builder/OverflowToolbarBuilder","sap/fe/test/api/FooterActionsOP","sap/fe/test/api/FooterAssertionsOP","sap/fe/test/api/HeaderActions","sap/fe/test/api/HeaderAssertions","sap/fe/test/api/FormActions","sap/fe/test/api/FormAssertions","sap/fe/test/api/APIHelper"],function(m,T,O,a,U,F,b,c,d,e,H,f,g,h,A){"use strict";function i(N){return"fe::table::"+N.split("/").join("::")+"::LineItem";}function j(E){return"fe::Chart::"+E+"::Chart";}function _(v,q){return c.create(v).hasId(q.id);}function k(v,q){return F.create(v).hasId(q.id);}function l(v,q){var r=F.create(v);if(U.isOfType(q,String)){r.hasType("sap.uxap.ObjectPageSubSection");r.hasProperties({title:q});}else if(q.fieldGroupId){r.hasId(q.fieldGroupId);if(q.fullSubSectionId){r.has(O.Matchers.ancestor(q.fullSubSectionId,false));}}else{r.hasId(q.id);}return r;}function n(s,q){var M,r;if(!U.isOfType(s,String)){if(typeof s.section==="string"&&!s.subSection){r=s.section==="EditableHeaderSection"?"fe::"+s.section+"-anchor":q+"::"+s.section+"-anchor";M=O.Matchers.children(F.Matchers.id(new RegExp(U.formatMessage("{0}$",r))));}else{throw new Error("not supported section and subsection parameters for creating a control id: "+s.section+"/"+s.subSection);}}else{M=O.Matchers.children(F.Matchers.states({controlType:"sap.m.Button",text:s}));}return M;}function o(M,s){if(!M){throw new Error("vMenuAction parameter missing");}var q=s+"::"+M+"-anchor-unifiedmenu";return F.create().hasType("sap.ui.unified.MenuItem").hasId(new RegExp(U.formatMessage("{0}$",q))).doPress().description(U.formatMessage("Executing action '{0}' from currently open action menu",M));}function p(P,q){var s=P.appId,C=P.componentId,V=s+"::"+C,r=V+"--fe::ObjectPage",t="fe::HeaderFacet",u="fe::ObjectPage-OPHeaderContent",v="fe::FooterBar",w="fe::FacetSection",x="fe::FacetSubSection",y="fe::Form",z="fe::FormContainer",B="fe::HeaderFacet::FormContainer",D=V+"--fe::Breadcrumbs",E="fe::ObjectPage-anchBar",G="fe::Paginator",I="EditableHeaderForm::EditableHeaderTitle",J={DISPLAY:"Display",EDITABLE:"Editable"},R=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core"),K=Array.prototype.slice.call(arguments,1);return T.apply(T,[V,{actions:{onTable:function(L){if(!U.isOfType(L,String)){L={id:i(L.property)};}return this._onTable(L);},onChart:function(L){var M;if(L){M=!U.isOfType(L,String)?j(L.property):L;}return this._onChart({id:M});},onFooter:function(){return new d(_(this,{id:v}),{id:v});},onHeader:function(){return new H(k(this,{id:r}),{id:r,headerId:t,headerContentId:u,viewId:V,paginatorId:G,breadCrumbId:D});},onForm:function(L){if(!U.isOfType(L,String)){if(L.section){L.id=x+"::"+L.section;L.fullSubSectionId=V+"--"+L.id;}if(L.fieldGroup){if(L.isHeaderFacet){L.fieldGroupId=B+"::"+L.fieldGroup;}else{L.fieldGroupId=z+"::"+L.fieldGroup;}}}return new g(l(this,L),L);},iCollapseExpandPageHeader:function(L){return this._iCollapseExpandPageHeader(L);},iClickQuickViewMoreLinksButton:function(){return O.create(this).hasType("sap.m.Button").has(O.Matchers.resourceBundle("text","sap.ui.mdc","info.POPOVER_DEFINE_LINKS")).doPress().description("Pressing 'More Links' button").execute();},iClickLinkWithText:function(L){return O.create(this).hasType("sap.m.Link").hasProperties({text:L}).doPress().description("Navigating via link '"+L+"'").execute();},iCheckLinksCount:function(L){return O.create(this).hasType("sap.ui.mdc.link.PanelListItem").check(function(M){if(M.length===L+1){return true;}else{return false;}},true).description("Seeing QuickView Card with "+L+" target applications in ObjectPage").execute();},iEnableLink:function(L){return O.create(this).hasType("sap.m.ColumnListItem").hasAggregationProperties("cells",{text:L}).isDialogElement().doPress("selectMulti").description("The CheckBox for link "+L+" is selected").execute();},iPressKeyboardShortcutOnSection:function(S,L){return this._iPressKeyboardShortcut(undefined,S,L,"sap.uxap.ObjectPageSection");},iGoToSection:function(S){var L=O.create(this).hasId(E);if(U.isOfType(S,Object)&&typeof S.section==="string"&&typeof S.subSection==="string"){var M={section:S.section};return L.has(n(M,w)).doOnChildren(O.create(this).hasType("sap.m.Button").has(O.Matchers.childrenMatcher(O.create(this).hasType("sap.ui.core.Icon"),true)).doPress()).success(function(){return o(S.subSection,x).execute();}).description("Selecting section "+S.section).execute();}else{return L.has(n(S,w)).doPress().description("Selecting section "+(S.section||S)).execute();}},iOpenSectionWithTitle:function(N){return this.iGoToSection(N);},iEnterValueForFieldInEditableHeader:function(L){return b.create(this).hasId(V+"--fe::"+I).doEnterText(L).description("Entering '"+L+" in field ").execute();},iOpenVHDInDialog:function(L){return O.create(this).isDialogElement().hasId(L+"-inner-vhi").doPress().description("Opening value help for '"+L+"' from within a dialog").execute();},iConfirmVHDInDialog:function(L){return O.create(this).isDialogElement().hasId(L+"-ok").doPress().description("Comfirmed VHD opened in dialog").execute();},iClickOnMessageButton:function(){return O.create(this).hasType("sap.fe.common.MessageButton").doPress().description("Clicked on Message Button").execute();},iCheckMessageButtonTooltip:function(L){return O.create(this).hasType("sap.fe.common.MessageButton").check(function(M){return M[0].getTooltip()===L;},true).description("Checking tooltip of MessageButton").execute();},iClickOnMessage:function(M){return O.create(this).hasType("sap.m.MessageListItem").hasProperties({title:M.MessageText,groupAnnouncement:M.GroupLabel}).isDialogElement(true).description("MessageItem with correct text and group label").doOnChildren(O.create(this).hasType("sap.m.Link").hasProperties({text:M.MessageText}).doPress().description("Click on the message")).execute();}},assertions:{onTable:function(L){if(!U.isOfType(L,String)){L={id:i(L.property)};}return this._onTable(L);},onChart:function(L){var M;if(L){M=!U.isOfType(L,String)?j(L.property):L;}return this._onChart({id:M});},onFooter:function(){return new e(_(this,{id:v}),{id:v});},onHeader:function(){return new f(k(this,{id:r}),{id:r,headerId:t,headerContentId:u,viewId:V,paginatorId:G,breadCrumbId:D});},onForm:function(L){if(!U.isOfType(L,String)){if(L.section){L.id=x+"::"+L.section;L.fullSubSectionId=V+"--"+L.id;}if(L.fieldGroup){L.fieldGroupId=z+"::"+L.fieldGroup;}}return new h(l(this,L),L);},iSeeLinkWithText:function(L){return O.create(this).hasType("sap.m.Link").hasProperties({text:L}).description("Seeing link with text '"+L+"'").execute();},iSeeTextWithText:function(L){return O.create(this).hasType("sap.m.Text").hasProperties({text:L}).description("Seeing Text with text '"+L+"'").execute();},iSeeTitleWithText:function(L){return O.create(this).hasType("sap.m.Title").hasProperties({text:L}).description("Seeing Title with text '"+L+"'").execute();},iSeeContactDetailsPopover:function(L){return(O.create(this).hasType("sap.ui.mdc.link.Panel").description("Contact card with title '"+L+"' is present").execute());},iSeeQuickViewPopover:function(){return O.create(this).hasType("sap.ui.mdc.link.Panel").description("Seeing Quick View Details in ObjectPage").execute();},iSeeContactPopoverWithAvatarImage:function(L){return O.create(this).hasType("sap.ui.mdc.link.Panel").check(function(M){var N=M.some(function(Q){return Q.src===L;});return N===false;},true).description("Seeing Contact Card with Avatar Image in ObjectPage").execute();},iSeeQuickViewMoreLinksButton:function(){return O.create(this).isDialogElement(true).hasType("sap.m.Button").has(O.Matchers.resourceBundle("text","sap.ui.mdc","info.POPOVER_DEFINE_LINKS")).description("The 'More Links' button found").execute();},iSeeObjectPageInDisplayMode:function(){return this._iSeeObjectPageInMode(J.DISPLAY);},iSeeObjectPageInEditMode:function(){return this._iSeeObjectPageInMode(J.EDITABLE);},_iSeeObjectPageInMode:function(M){return O.create(this).hasId(V).viewId(null).has(function(L){return L.getModel("ui").getProperty("/editMode")===M;}).description("Object Page is in mode '"+M+"'").execute();},iSeeSectionWithTitle:function(L){return O.create(this).hasType("sap.uxap.ObjectPageSection").hasProperties({title:L}).description("Seeing section with title '"+L+"'").execute();},iSeeSubSectionWithTitle:function(L){return O.create(this).hasType("sap.uxap.ObjectPageSubSection").hasProperties({title:L}).description("Seeing sub-section with title '"+L+"'").execute();},iSeeSectionButtonWithTitle:function(L,S){return F.create(this).hasId(E).has(O.Matchers.children(F.Matchers.states(m({},{controlType:"sap.m.Button",text:L},S)))).description(U.formatMessage("Seeing section button with title '{0}' and state='{1}'",L,S)).execute();},iSeeFlpLink:function(L){return O.create(this).hasType("sap.ui.mdc.link.PanelListItem").isDialogElement(true).hasProperties({text:L}).description("FLP link with text '"+L+"' is present").execute();},iSeeSimpleFormWithLabel:function(L){return O.create(this).hasType("sap.m.Label").isDialogElement(true).hasProperties({text:L}).description("SimpleForm has label '"+L+"' is present").execute();},iSeeSimpleFormWithText:function(L){return O.create(this).hasType("sap.ui.layout.form.SimpleForm").isDialogElement(true).doOnChildren(O.create(this).hasType("sap.m.Text").hasProperties({text:L})).description("SimpleForm has text '"+L+"' is present").execute();},iSeeSimpleFormWithLink:function(L){return O.create(this).hasType("sap.ui.layout.form.SimpleForm").isDialogElement(true).doOnChildren(O.create(this).hasType("sap.m.Link").hasProperties({text:L})).description("SimpleForm has link '"+L+"' is present").execute();},iSeeSimpleFormWithTitle:function(L){return O.create(this).hasType("sap.ui.core.Title").isDialogElement(true).hasProperties({text:L}).description("SimpleForm has label '"+L+"' is present").execute();},iSeeSelectLinksDialog:function(){return O.create(this).hasType("sap.m.Title").isDialogElement(true).has(O.Matchers.resourceBundle("text","sap.ui.mdc","info.SELECTION_DIALOG_ALIGNEDTITLE")).description("Seeing dialog open").execute();},iDoNotSeeFlpLink:function(L){return O.create(this).hasType("sap.m.Link").isDialogElement(true).check(function(M){var N=M.some(function(Q){return Q.getText()===L;});return N===false;},true).description("FLP link with text '"+L+"' is not found").execute();},iSeeTitleLink:function(L,M){return O.create(this).hasType("sap.m.Link").isDialogElement(true).hasProperties({text:L,href:M}).description("QuickView Title link with text '"+L+"' is found").execute();},iSeeQuickViewTitleWithText:function(L){return O.create(this).hasType("sap.ui.mdc.link.Panel").check(function(M){var N=M.some(function(Q){return Q.text===L;});return N===false;},true).description("Seeing QuickView with Title in ListReport").execute();},iSeeQuickViewFieldWithText:function(L){return O.create(this).hasType("sap.fe.core.controls.FieldWrapper").check(function(M){var N=M.some(function(Q){return Q.text===L;});return N===false;},true).description("Seeing QuickView Form with Text in ListReport").execute();},iSeeCreateConfirmation:function(){return this._iSeeTheMessageToast(R.getText("C_TRANSACTION_HELPER_OBJECT_CREATED"));},iSeeSaveConfirmation:function(){return this._iSeeTheMessageToast(R.getText("C_TRANSACTION_HELPER_OBJECT_SAVED"));},iSeeDeleteConfirmation:function(){return this._iSeeTheMessageToast(R.getText("C_TRANSACTION_HELPER_OBJECT_PAGE_DELETE_TOAST_SINGULAR"));},iSeeConfirmMessageBoxWithTitle:function(L){return O.create(this).hasType("sap.m.Dialog").isDialogElement(true).hasProperties({title:L}).description("Seeing Message dialog open").execute();},iSeeMoreFormContent:function(S){return O.create(this).hasId(y+"::"+S+"::MoreContent").description("Seeing More Form Content in "+S).execute();},iDoNotSeeMoreFormContent:function(S){return O.create(this).hasType("sap.ui.layout.form.Form").check(function(L){var M=L.some(function(N){return N.getId().includes(S+"::MoreContent");});return M===false;}).description("Not Seeing More Form Content in "+S).execute();},iSeeControlVMTableTitle:function(L,N){return O.create(this).hasType("sap.m.Title").hasId(i(N)+"::VM-text").hasProperties({text:L}).description("Seeing variant title '"+L+"'").execute();},iSeeMessageView:function(){return O.create(this).hasType("sap.m.MessageView").isDialogElement(true).description("MessageView is visible").execute();},iCheckMessageItemsOrder:function(L){return O.create(this).hasType("sap.m.MessageView").check(function(M){var N=M[0].getItems();return(N[0].getGroupName()===L[0].GroupLabel&&N[1].getGroupName()===L[1].GroupLabel&&N[0].getTitle()===L[0].MessageText&&N[1].getTitle()===L[1].MessageText);},true).isDialogElement(true).description("MessageItems are correctly ordered").execute();},iCheckMessageItemProperties:function(L,M){return O.create(this).hasType("sap.m.MessageView").check(function(N){var Q=N[0].getItems();return(Q[M].getGroupName()===L.GroupLabel&&Q[M].getTitle()===L.MessageText&&Q[M].getSubtitle()===L.SubTitle&&Q[M].getActiveTitle()===L.ActiveTitle);},true).isDialogElement(true).description("MessageItem is correctly displayed").execute();},iClickBackOnMessageView:function(){return O.create(this).hasType("sap.m.MessageView").isDialogElement(true).doOnChildren(O.create(this).hasType("sap.m.Button").hasProperties({icon:"sap-icon://nav-back"}).doPress().description("Click on the message view back")).execute();},iCheckVisibilityOfButtonWithText:function(L,M){return O.create(this).hasType("sap.m.Button").mustBeVisible(M).hasProperties({text:L,visible:M}).description("Button '"+L+"' is "+(M?"visible":"NOT visible")).execute();},iCheckFieldVisibilityInMassEditDialog:function(L,M){return O.create(this).isDialogElement().hasType("sap.m.ComboBox").check(function(N){var Q=N.some(function(S){return S.getId()===L;});return Q===M;}).description("Checking visibility of field in mass edit dialog").execute();}}}].concat(K));}return p;});
|
|
@@ -447,18 +447,6 @@ sap.ui.define(
|
|
|
447
447
|
)
|
|
448
448
|
.execute();
|
|
449
449
|
},
|
|
450
|
-
iSeeActionParameterContent: function(sFieldName, sContent) {
|
|
451
|
-
var sFieldId = "APD_::" + sFieldName + "-inner",
|
|
452
|
-
oBuilder = OpaBuilder.create(this)
|
|
453
|
-
.hasId(sFieldId)
|
|
454
|
-
.isDialogElement()
|
|
455
|
-
.description("Seeing Action parameter '" + sFieldName + "' with content '" + sContent + "'");
|
|
456
|
-
|
|
457
|
-
if (sContent) {
|
|
458
|
-
oBuilder.hasProperties({ value: sContent });
|
|
459
|
-
}
|
|
460
|
-
return oBuilder.execute();
|
|
461
|
-
},
|
|
462
450
|
iSeePageHeaderButton: function(bCollapse) {
|
|
463
451
|
return OpaBuilder.create(this)
|
|
464
452
|
.hasType("sap.m.Button")
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
(c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
|
|
5
5
|
*/
|
|
6
|
-
sap.ui.define(["sap/ui/test/OpaBuilder","sap/ui/test/Opa5","sap/ui/core/util/ShortcutHelper","sap/fe/test/Utils","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MdcFieldBuilder","sap/fe/test/builder/MacroFieldBuilder","sap/fe/test/builder/MdcTableBuilder","sap/fe/test/builder/DialogBuilder","sap/fe/test/api/DialogType","sap/fe/test/api/DialogActions","sap/fe/test/api/DialogAssertions","sap/fe/test/api/DialogMessageActions","sap/fe/test/api/DialogMessageAssertions","sap/fe/test/api/DialogValueHelpActions","sap/fe/test/api/DialogValueHelpAssertions","sap/fe/test/api/DialogCreateActions","sap/fe/test/api/DialogCreateAssertions","sap/fe/test/api/TableAssertions","sap/fe/test/api/TableActions","sap/fe/test/api/ChartAssertions","sap/fe/test/api/ChartActions","sap/fe/test/builder/MdcFilterBarBuilder","sap/fe/test/api/FilterBarAssertions","sap/fe/test/api/FilterBarActions","sap/base/util/deepEqual","sap/ushell/resources"],function(O,a,S,U,F,b,M,T,D,c,d,e,f,g,h,i,j,k,l,m,C,n,o,p,q,r,s){"use strict";function _(x,y){var z=T.create(x);if(U.isOfType(y,String)){z.hasProperties({header:y});}else{z.hasId(y.id);}return z;}function t(x,y){return o.create(x).hasId(y.id);}function u(x,y,A){if(U.isOfType(y,String,true)){y={type:c.Confirmation,title:y};}var z=D.create(x);switch(y.type){case c.ValueHelp:if(y.property){z.has(F.Matchers.id(RegExp(U.formatMessage("::FieldValueHelp::{0}-dialog$",y.property.replaceAll("/","::")))));}return A?new h(z,y):new i(z,y);case c.Error:z.hasProperties({icon:"sap-icon://error",title:"Error"});return A?new d(z,y):new e(z,y);case c.Message:return A?new f(z,y):new g(z,y);case c.Create:return A?new j(z,y):new k(z,y);default:return A?new d(z,y):new e(z,y);}}function v(){var x={};Object.keys(c).forEach(function(y){x["on"+y+"Dialog"]=function(){return this.onDialog({type:y});};});return x;}function w(V,A){var x=U.isOfType(V,String)?V:V.viewId,y=Array.prototype.slice.call(arguments,1);return U.mergeObjects.apply(U,[{viewId:x,actions:U.mergeObjects({_onTable:function(z){return new m(_(this,z),z);},_onChart:function(z){return new n(F,z);},_onFilterBar:function(z){return new q(t(this,z),z);},onDialog:function(z){return u(this,z,true);},iOpenVHOnActionDialog:function(z){var B="APD_::"+z+"-inner-vhi";return O.create(this).hasId(B).isDialogElement().doPress().description("Opening value help for '"+z+"'").execute();},_iPressKeyboardShortcut:function(I,z,P,B){return O.create(this).hasId(I).hasProperties(P?P:{}).hasType(B).do(function(E){var N=S.parseShortcut(z);N.type="keydown";E.$().trigger(N);}).description("Execute keyboard shortcut "+z).execute();},_iCollapseExpandPageHeader:function(z){var E=O.Matchers.resourceBundle("tooltip","sap.f","COLLAPSE_HEADER_BUTTON_TOOLTIP"),B=O.Matchers.resourceBundle("tooltip","sap.f","EXPAND_HEADER_BUTTON_TOOLTIP");return O.create(this).hasType("sap.m.Button").has(O.Matchers.some(E,B)).doConditional(z?E:B,O.Actions.press()).description(U.formatMessage("{0} the current Page Header",z?"Collapsing":"Expanding")).execute();}},v()),assertions:U.mergeObjects({_onTable:function(z){return new l(_(this,z),z);},_onChart:function(z){return new C(F,z);},_onFilterBar:function(z){return new p(t(this,z),z);},onDialog:function(z){return u(this,z,false);},iSeeThisPage:function(){return O.create(this).hasId(x).do(function(z){var B=z.getParent().oContainer;var E=B;do{E=E.getParent();}while(!E.isA("sap.ui.core.mvc.XMLView"));this.oPlaceholder=E.getController().oPlaceholder;}.bind(this)).viewId(null).viewName(null).description(U.formatMessage("Seeing the page '{0}'",x)).execute();},iResetPlaceholderStatistics:function(){return O.create(this).do(function(){this.oPlaceholder.resetPlaceholderDebugStats();}.bind(this)).description("Placeholder reset statistics").execute();},iCheckPlaceholderStatistics:function(P){var z={pageReady:"iPageReadyEventTimestamp",heroesBatchReceived:"iHeroesBatchReceivedEventTimestamp"};return O.create(this).check(function(){var B=this.oPlaceholder.getPlaceholderDebugStats();var L=z[P];if(B.iHidePlaceholderTimestamp-B[L]<10){return true;}else{return false;}}.bind(this)).description("Placeholder statistics are correct").execute();},iSeeFilterDefinedOnActionDialogValueHelp:function(z,B,E,G){return O.create(this).hasId(z+"::"+B+"::FilterBar::FilterField::"+E+"-inner").isDialogElement().hasAggregationProperties("tokens",{text:G}).description("Seeing filter for '"+E+"' set to '"+G+"'").execute();},_iSeeTheMessageToast:function(z){return F.createMessageToastBuilder(z).execute(this);},_iSeeButtonWithText:function(z,B){return F.create(this).hasType("sap.m.Button").hasProperties({text:z}).hasState(B).checkNumberOfMatches(1).description(U.formatMessage("Seeing Button with text '{0}'"+(B?" with state: '{1}'":""),z,B)).execute();},
|
|
6
|
+
sap.ui.define(["sap/ui/test/OpaBuilder","sap/ui/test/Opa5","sap/ui/core/util/ShortcutHelper","sap/fe/test/Utils","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MdcFieldBuilder","sap/fe/test/builder/MacroFieldBuilder","sap/fe/test/builder/MdcTableBuilder","sap/fe/test/builder/DialogBuilder","sap/fe/test/api/DialogType","sap/fe/test/api/DialogActions","sap/fe/test/api/DialogAssertions","sap/fe/test/api/DialogMessageActions","sap/fe/test/api/DialogMessageAssertions","sap/fe/test/api/DialogValueHelpActions","sap/fe/test/api/DialogValueHelpAssertions","sap/fe/test/api/DialogCreateActions","sap/fe/test/api/DialogCreateAssertions","sap/fe/test/api/TableAssertions","sap/fe/test/api/TableActions","sap/fe/test/api/ChartAssertions","sap/fe/test/api/ChartActions","sap/fe/test/builder/MdcFilterBarBuilder","sap/fe/test/api/FilterBarAssertions","sap/fe/test/api/FilterBarActions","sap/base/util/deepEqual","sap/ushell/resources"],function(O,a,S,U,F,b,M,T,D,c,d,e,f,g,h,i,j,k,l,m,C,n,o,p,q,r,s){"use strict";function _(x,y){var z=T.create(x);if(U.isOfType(y,String)){z.hasProperties({header:y});}else{z.hasId(y.id);}return z;}function t(x,y){return o.create(x).hasId(y.id);}function u(x,y,A){if(U.isOfType(y,String,true)){y={type:c.Confirmation,title:y};}var z=D.create(x);switch(y.type){case c.ValueHelp:if(y.property){z.has(F.Matchers.id(RegExp(U.formatMessage("::FieldValueHelp::{0}-dialog$",y.property.replaceAll("/","::")))));}return A?new h(z,y):new i(z,y);case c.Error:z.hasProperties({icon:"sap-icon://error",title:"Error"});return A?new d(z,y):new e(z,y);case c.Message:return A?new f(z,y):new g(z,y);case c.Create:return A?new j(z,y):new k(z,y);default:return A?new d(z,y):new e(z,y);}}function v(){var x={};Object.keys(c).forEach(function(y){x["on"+y+"Dialog"]=function(){return this.onDialog({type:y});};});return x;}function w(V,A){var x=U.isOfType(V,String)?V:V.viewId,y=Array.prototype.slice.call(arguments,1);return U.mergeObjects.apply(U,[{viewId:x,actions:U.mergeObjects({_onTable:function(z){return new m(_(this,z),z);},_onChart:function(z){return new n(F,z);},_onFilterBar:function(z){return new q(t(this,z),z);},onDialog:function(z){return u(this,z,true);},iOpenVHOnActionDialog:function(z){var B="APD_::"+z+"-inner-vhi";return O.create(this).hasId(B).isDialogElement().doPress().description("Opening value help for '"+z+"'").execute();},_iPressKeyboardShortcut:function(I,z,P,B){return O.create(this).hasId(I).hasProperties(P?P:{}).hasType(B).do(function(E){var N=S.parseShortcut(z);N.type="keydown";E.$().trigger(N);}).description("Execute keyboard shortcut "+z).execute();},_iCollapseExpandPageHeader:function(z){var E=O.Matchers.resourceBundle("tooltip","sap.f","COLLAPSE_HEADER_BUTTON_TOOLTIP"),B=O.Matchers.resourceBundle("tooltip","sap.f","EXPAND_HEADER_BUTTON_TOOLTIP");return O.create(this).hasType("sap.m.Button").has(O.Matchers.some(E,B)).doConditional(z?E:B,O.Actions.press()).description(U.formatMessage("{0} the current Page Header",z?"Collapsing":"Expanding")).execute();}},v()),assertions:U.mergeObjects({_onTable:function(z){return new l(_(this,z),z);},_onChart:function(z){return new C(F,z);},_onFilterBar:function(z){return new p(t(this,z),z);},onDialog:function(z){return u(this,z,false);},iSeeThisPage:function(){return O.create(this).hasId(x).do(function(z){var B=z.getParent().oContainer;var E=B;do{E=E.getParent();}while(!E.isA("sap.ui.core.mvc.XMLView"));this.oPlaceholder=E.getController().oPlaceholder;}.bind(this)).viewId(null).viewName(null).description(U.formatMessage("Seeing the page '{0}'",x)).execute();},iResetPlaceholderStatistics:function(){return O.create(this).do(function(){this.oPlaceholder.resetPlaceholderDebugStats();}.bind(this)).description("Placeholder reset statistics").execute();},iCheckPlaceholderStatistics:function(P){var z={pageReady:"iPageReadyEventTimestamp",heroesBatchReceived:"iHeroesBatchReceivedEventTimestamp"};return O.create(this).check(function(){var B=this.oPlaceholder.getPlaceholderDebugStats();var L=z[P];if(B.iHidePlaceholderTimestamp-B[L]<10){return true;}else{return false;}}.bind(this)).description("Placeholder statistics are correct").execute();},iSeeFilterDefinedOnActionDialogValueHelp:function(z,B,E,G){return O.create(this).hasId(z+"::"+B+"::FilterBar::FilterField::"+E+"-inner").isDialogElement().hasAggregationProperties("tokens",{text:G}).description("Seeing filter for '"+E+"' set to '"+G+"'").execute();},_iSeeTheMessageToast:function(z){return F.createMessageToastBuilder(z).execute(this);},_iSeeButtonWithText:function(z,B){return F.create(this).hasType("sap.m.Button").hasProperties({text:z}).hasState(B).checkNumberOfMatches(1).description(U.formatMessage("Seeing Button with text '{0}'"+(B?" with state: '{1}'":""),z,B)).execute();},iSeePageHeaderButton:function(z){return O.create(this).hasType("sap.m.Button").has(O.Matchers.resourceBundle("tooltip","sap.f",z?"COLLAPSE_HEADER_BUTTON_TOOLTIP":"EXPAND_HEADER_BUTTON_TOOLTIP")).description("Seeing the "+(z?"Collapse":"Expand")+" Page Header Button").execute();},iSeeTileCreationMessage:function(){return this._iSeeTheMessageToast(s.i18n.getText("tile_created_msg"));},iSeeMessageStrip:function(P){return O.create(this).hasType("sap.m.MessageStrip").hasProperties(P).description(U.formatMessage("Seeing message strip with properties='{0}'",P)).execute();}},v())}].concat(y));}return w;});
|
|
@@ -27,6 +27,11 @@ sap.ui.define([], function () {
|
|
|
27
27
|
return _this.oValues[key];
|
|
28
28
|
}));
|
|
29
29
|
|
|
30
|
+
_defineProperty(this, "setProperty", jest.fn(function (key, value) {
|
|
31
|
+
_this.oValues[key] = value;
|
|
32
|
+
return _this.oValues[key];
|
|
33
|
+
}));
|
|
34
|
+
|
|
30
35
|
_defineProperty(this, "getObject", jest.fn(function (key) {
|
|
31
36
|
return _this.oValues[key];
|
|
32
37
|
}));
|
|
@@ -39,6 +44,8 @@ sap.ui.define([], function () {
|
|
|
39
44
|
return _this.oBinding;
|
|
40
45
|
}));
|
|
41
46
|
|
|
47
|
+
_defineProperty(this, "getModel", jest.fn());
|
|
48
|
+
|
|
42
49
|
this.oValues = oValues;
|
|
43
50
|
this.oBinding = oBinding;
|
|
44
51
|
};
|
|
@@ -51,6 +58,10 @@ sap.ui.define([], function () {
|
|
|
51
58
|
_defineProperty(this, "getBindingInfo", jest.fn());
|
|
52
59
|
|
|
53
60
|
_defineProperty(this, "getBinding", jest.fn());
|
|
61
|
+
|
|
62
|
+
_defineProperty(this, "data", jest.fn());
|
|
63
|
+
|
|
64
|
+
_defineProperty(this, "getModel", jest.fn());
|
|
54
65
|
};
|
|
55
66
|
/**
|
|
56
67
|
* Mock class for OData V4 ListBinding
|
|
@@ -154,6 +165,12 @@ sap.ui.define([], function () {
|
|
|
154
165
|
return _this4.oMetaContext.getProperty(sPath);
|
|
155
166
|
}));
|
|
156
167
|
|
|
168
|
+
_defineProperty(this, "requestObject", jest.fn());
|
|
169
|
+
|
|
170
|
+
_defineProperty(this, "createBindingContext", jest.fn());
|
|
171
|
+
|
|
172
|
+
_defineProperty(this, "getMetaPath", jest.fn());
|
|
173
|
+
|
|
157
174
|
this.oMetaContext = new MockContext(oMetaData || {});
|
|
158
175
|
} // Mocked API
|
|
159
176
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -183,6 +200,10 @@ sap.ui.define([], function () {
|
|
|
183
200
|
return _this5.oMetaModel;
|
|
184
201
|
}));
|
|
185
202
|
|
|
203
|
+
_defineProperty(this, "getProperty", jest.fn());
|
|
204
|
+
|
|
205
|
+
_defineProperty(this, "setProperty", jest.fn());
|
|
206
|
+
|
|
186
207
|
this.mockListBinding = mockListBinding;
|
|
187
208
|
this.mockContextBinding = mockContextBinding;
|
|
188
209
|
} // Factories
|
|
@@ -215,4 +236,4 @@ sap.ui.define([], function () {
|
|
|
215
236
|
_exports.MockModel = MockModel;
|
|
216
237
|
return _exports;
|
|
217
238
|
}, false);
|
|
218
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlVJNU1vY2tIZWxwZXIudHMiXSwibmFtZXMiOlsiTW9ja0NvbnRleHQiLCJvVmFsdWVzIiwib0JpbmRpbmciLCJqZXN0IiwiZm4iLCJrZXkiLCJNb2NrQ29udHJvbCIsIk1vY2tMaXN0QmluZGluZyIsImFDb250ZXh0cyIsIlByb21pc2UiLCJyZXNvbHZlIiwiYU1vY2tDb250ZXh0cyIsIm1hcCIsImNvbnRleHQiLCJzQ2xhc3NOYW1lIiwiTW9ja0NvbnRleHRCaW5kaW5nIiwib0NvbnRleHQiLCJvTW9ja0NvbnRleHQiLCJNb2NrTWV0YU1vZGVsIiwib01ldGFEYXRhIiwic1BhdGgiLCIkcGF0aCIsIm9NZXRhQ29udGV4dCIsImdldFByb3BlcnR5IiwiTW9ja01vZGVsIiwibW9ja0xpc3RCaW5kaW5nIiwibW9ja0NvbnRleHRCaW5kaW5nIiwib01ldGFNb2RlbCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7QUFGQTtBQUNBO0FBQ0E7TUFJYUEsVyxHQUNaLHFCQUEyQkMsT0FBM0IsRUFBaURDLFFBQWpELEVBQWlFO0FBQUE7O0FBQUE7O0FBQUEseUNBRTVDQyxJQUFJLENBQUNDLEVBQUwsQ0FBUSxVQUFDQyxHQUFELEVBQWlCO0FBQzdDLGFBQU8sS0FBSSxDQUFDSixPQUFMLENBQWFJLEdBQWIsQ0FBUDtBQUNBLEtBRm9CLENBRjRDOztBQUFBLHVDQUs5Q0YsSUFBSSxDQUFDQyxFQUFMLENBQVEsVUFBQ0MsR0FBRCxFQUFpQjtBQUMzQyxhQUFPLEtBQUksQ0FBQ0osT0FBTCxDQUFhSSxHQUFiLENBQVA7QUFDQSxLQUZrQixDQUw4Qzs7QUFBQSxxQ0FRaERGLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFlBQU07QUFDOUIsYUFBTyxLQUFJLENBQUNILE9BQUwsQ0FBYSxPQUFiLENBQVA7QUFDQSxLQUZnQixDQVJnRDs7QUFBQSx3Q0FZN0NFLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFlBQU07QUFDakMsYUFBTyxL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T0FGb0IsQ0FwQjBGOztBQUFBLDRDQXVCekZ2QixJQUFJLENBQUNDLEVBQUwsQ0FBUSxZQUFNO0FBQ25DLGVBQVEsTUFBSSxDQUFDdUIsVUFBYjtBQUNBLE9BRnFCLENBdkJ5Rjs7QUFBQSxXQUFwRkYsZUFBb0YsR0FBcEZBLGVBQW9GO0FBQUEsV0FBekNDLGtCQUF5QyxHQUF6Q0Esa0JBQXlDO0FBQUUsSyxDQUVqSDs7Ozs7OzthQVFBLHNCQUFvQkMsVUFBcEIsRUFBK0M7QUFDOUMsYUFBS0EsVUFBTCxHQUFrQkEsVUFBbEI7QUFDQSxPLENBRUQ7QUFDQTs7OzthQVpBLDhCQUE0QkYsZUFBNUIsRUFBeUU7QUFDeEUsZUFBTyxJQUFJRCxTQUFKLENBQWNDLGVBQWQsQ0FBUDtBQUNBOzs7YUFDRCxpQ0FBK0JDLGtCQUEvQixFQUFrRjtBQUNqRixlQUFPLElBQUlGLFNBQUosQ0FBY0ksU0FBZCxFQUF5QkYsa0JBQXpCLENBQVA7QUFDQSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNb2NrIGNsYXNzIGZvciBhIFY0IENvbnRleHRcbiAqL1xuXG5pbXBvcnQgeyBDb250ZXh0LCBPRGF0YUxpc3RCaW5kaW5nLCBPRGF0YUNvbnRleHRCaW5kaW5nLCBPRGF0YU1ldGFNb2RlbCwgT0RhdGFNb2RlbCB9IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjRcIjtcblxuZXhwb3J0IGNsYXNzIE1vY2tDb250ZXh0IGltcGxlbWVudHMgUGFydGlhbDxDb250ZXh0PiB7XG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIG9WYWx1ZXM6IGFueSwgcHJpdmF0ZSBvQmluZGluZz86IGFueSkge31cblxuXHRwdWJsaWMgZ2V0UHJvcGVydHkgPSBqZXN0LmZuKChrZXk6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiB0aGlzLm9WYWx1ZXNba2V5XTtcblx0fSk7XG5cdHB1YmxpYyBnZXRPYmplY3QgPSBqZXN0LmZuKChrZXk6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiB0aGlzLm9WYWx1ZXNba2V5XTtcblx0fSk7XG5cdHB1YmxpYyBnZXRQYXRoID0gamVzdC5mbigoKSA9PiB7XG5cdFx0cmV0dXJuIHRoaXMub1ZhbHVlc1tcIiRwYXRoXCJdO1xuXHR9KTtcblxuXHRwdWJsaWMgZ2V0QmluZGluZyA9IGplc3QuZm4oKCkgPT4ge1xuXHRcdHJldHVybiB0aGlzLm9CaW5kaW5nO1xuXHR9KTtcbn1cblxuZXhwb3J0IGNsYXNzIE1vY2tDb250cm9sIHtcblx0cHVibGljIGdldEJpbmRpbmdJbmZvID0gamVzdC5mbigpO1xuXHRwdWJsaWMgZ2V0QmluZGluZyA9IGplc3QuZm4oKTtcbn1cblxuLyoqXG4gKiBNb2NrIGNsYXNzIGZvciBPRGF0YSBWNCBMaXN0QmluZGluZ1xuICovXG5leHBvcnQgY2xhc3MgTW9ja0xpc3RCaW5kaW5nIGltcGxlbWVudHMgUGFydGlhbDxPRGF0YUxpc3RCaW5kaW5nPiB7XG5cdHByaXZhdGUgYU1vY2tDb250ZXh0czogTW9ja0NvbnRleHRbXTtcblxuXHRwdWJsaWMgY29uc3RydWN0b3IoYUNvbnRleHRzPzogYW55W10pIHtcblx0XHRhQ29udGV4dHMgPSBhQ29udGV4dHMgfHwgW107XG5cblx0XHR0aGlzLmFNb2NrQ29udGV4dHMgPSBhQ29udGV4dHMubWFwKGNvbnRleHQgPT4ge1xuXHRcdFx0cmV0dXJuIG5ldyBNb2NrQ29udGV4dChjb250ZXh0LCB0aGlzKTtcblx0XHR9KTtcblx0fVxuXG5cdHB1YmxpYyBpc0Eoc0NsYXNzTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHNDbGFzc05hbWUgPT09IFwic2FwLnVpLm1vZGVsLm9kYXRhLnY0Lk9EYXRhTGlzdEJpbmRpbmdcIjtcblx0fVxuXG5cdC8vIE1vY2tlZCBBUElcblx0cHVibGljIHNldEFnZ3JlZ2F0aW9uID0gamVzdC5mbigpO1xuXHRwdWJsaWMgZmlsdGVyID0gamVzdC5mbigpO1xuXHRwdWJsaWMgc29ydCA9IGplc3QuZm4oKTtcblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdHB1YmxpYyByZXF1ZXN0Q29udGV4dHMgPSBqZXN0LmZuKCguLi5hcmdzKSA9PiB7XG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgodGhpcy5hTW9ja0NvbnRleHRzIGFzIGFueSkgYXMgQ29udGV4dFtdKTtcblx0fSk7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0cHVibGljIGdldEN1cnJlbnRDb250ZXh0cyA9IGplc3QuZm4oKC4uLmFyZ3MpID0+IHtcblx0XHRyZXR1cm4gKHRoaXMuYU1vY2tDb250ZXh0cyBhcyBhbnkpIGFzIENvbnRleHRbXTtcblx0fSk7XG59XG5cbmV4cG9ydCBjbGFzcyBNb2NrQ29udGV4dEJpbmRpbmcgaW1wbGVtZW50cyBQYXJ0aWFsPE9EYXRhQ29udGV4dEJpbmRpbmc+IHtcblx0cHJpdmF0ZSBvTW9ja0NvbnRleHQ6IE1vY2tDb250ZXh0O1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihvQ29udGV4dD86IGFueSkge1xuXHRcdHRoaXMub01vY2tDb250ZXh0ID0gbmV3IE1vY2tDb250ZXh0KG9Db250ZXh0IHx8IHt9LCB0aGlzKTtcblx0fVxuXG5cdHB1YmxpYyBpc0Eoc0NsYXNzTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHNDbGFzc05hbWUgPT09IFwic2FwLnVpLm1vZGVsLm9kYXRhLnY0Lk9EYXRhQ29udGV4dEJpbmRpbmdcIjtcblx0fVxuXHRwdWJsaWMgZ2V0SW50ZXJuYWxNb2NrQ29udGV4dCgpOiBNb2NrQ29udGV4dCB7XG5cdFx0cmV0dXJuIHRoaXMub01vY2tDb250ZXh0O1xuXHR9XG5cblx0Ly8gTW9ja2VkIEFQSVxuXHRwdWJsaWMgZ2V0Qm91bmRDb250ZXh0ID0gamVzdC5mbigoKSA9PiB7XG5cdFx0cmV0dXJuICh0aGlzLm9Nb2NrQ29udGV4dCBhcyBhbnkpIGFzIENvbnRleHQ7XG5cdH0pO1xuXHRwdWJsaWMgYXR0YWNoRXZlbnRPbmNlID0gamVzdC5mbigpO1xufVxuXG4vKipcbiAqIE1vY2sgY2xhc3MgZm9yIE9EYXRhIFY0IE1ldGFNb2RlbFxuICovXG5leHBvcnQgY2xhc3MgTW9ja01ldGFNb2RlbCBpbXBsZW1lbnRzIFBhcnRpYWw8T0RhdGFNZXRhTW9kZWw+IHtcblx0cHJpdmF0ZSBvTWV0YUNvbnRleHQ6IE1vY2tDb250ZXh0O1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihvTWV0YURhdGE/OiBhbnkpIHtcblx0XHR0aGlzLm9NZXRhQ29udGV4dCA9IG5ldyBNb2NrQ29udGV4dChvTWV0YURhdGEgfHwge30pO1xuXHR9XG5cblx0Ly8gTW9ja2VkIEFQSVxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdHB1YmxpYyBnZXRNZXRhQ29udGV4dCA9IGplc3QuZm4oKHNQYXRoOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gKG5ldyBNb2NrQ29udGV4dCh7ICRwYXRoOiBzUGF0aCB9KSBhcyBhbnkpIGFzIENvbnRleHQ7XG5cdH0pO1xuXHRwdWJsaWMgZ2V0T2JqZWN0ID0gamVzdC5mbigoc1BhdGg6IHN0cmluZykgPT4ge1xuXHRcdHJldHVybiB0aGlzLm9NZXRhQ29udGV4dC5nZXRQcm9wZXJ0eShzUGF0aCk7XG5cdH0pO1xufVxuXG4vKipcbiAqIE1vY2sgY2xhc3MgZm9yIE9EYXRhIFY0IE1vZGVsXG4gKi9cblxuZXhwb3J0IGNsYXNzIE1vY2tNb2RlbCBpbXBsZW1lbnRzIFBhcnRpYWw8T0RhdGFNb2RlbD4ge1xuXHRwcml2YXRlIG9NZXRhTW9kZWw/OiBNb2NrTWV0YU1vZGVsO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vY2tMaXN0QmluZGluZz86IE1vY2tMaXN0QmluZGluZywgcHJpdmF0ZSBtb2NrQ29udGV4dEJpbmRpbmc/OiBNb2NrQ29udGV4dEJpbmRpbmcpIHt9XG5cblx0Ly8gRmFjdG9yaWVzXG5cdHN0YXRpYyBtb2RlbEZyb21MaXN0QmluZGluZyhtb2NrTGlzdEJpbmRpbmc6IE1vY2tMaXN0QmluZGluZyk6IE1vY2tNb2RlbCB7XG5cdFx0cmV0dXJuIG5ldyBNb2NrTW9kZWwobW9ja0xpc3RCaW5kaW5nKTtcblx0fVxuXHRzdGF0aWMgbW9kZWxGcm9tQ29udGV4dEJpbmRpbmcobW9ja0NvbnRleHRCaW5kaW5nOiBNb2NrQ29udGV4dEJpbmRpbmcpOiBNb2NrTW9kZWwge1xuXHRcdHJldHVybiBuZXcgTW9ja01vZGVsKHVuZGVmaW5lZCwgbW9ja0NvbnRleHRCaW5kaW5nKTtcblx0fVxuXG5cdHB1YmxpYyBzZXRNZXRhTW9kZWwob01ldGFNb2RlbDogTW9ja01ldGFNb2RlbCkge1xuXHRcdHRoaXMub01ldGFNb2RlbCA9IG9NZXRhTW9kZWw7XG5cdH1cblxuXHQvLyBNb2NrZWQgQVBJXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0cHVibGljIGJpbmRMaXN0ID0gamVzdC5mbigoLi4uYXJncykgPT4ge1xuXHRcdHJldHVybiAodGhpcy5tb2NrTGlzdEJpbmRpbmcgYXMgYW55KSBhcyBPRGF0YUxpc3RCaW5kaW5nO1xuXHR9KTtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRwdWJsaWMgYmluZENvbnRleHQgPSBqZXN0LmZuKCguLi5hcmdzKSA9PiB7XG5cdFx0cmV0dXJuICh0aGlzLm1vY2tDb250ZXh0QmluZGluZyBhcyBhbnkpIGFzIE9EYXRhQ29udGV4dEJpbmRpbmc7XG5cdH0pO1xuXHRwdWJsaWMgZ2V0TWV0YU1vZGVsID0gamVzdC5mbigoKSA9PiB7XG5cdFx0cmV0dXJuICh0aGlzLm9NZXRhTW9kZWwgYXMgYW55KSBhcyBPRGF0YU1ldGFNb2RlbDtcblx0fSk7XG59XG4iXX0=
|
|
239
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlVJNU1vY2tIZWxwZXIudHMiXSwibmFtZXMiOlsiTW9ja0NvbnRleHQiLCJvVmFsdWVzIiwib0JpbmRpbmciLCJqZXN0IiwiZm4iLCJrZXkiLCJ2YWx1ZSIsIk1vY2tDb250cm9sIiwiTW9ja0xpc3RCaW5kaW5nIiwiYUNvbnRleHRzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJhTW9ja0NvbnRleHRzIiwibWFwIiwiY29udGV4dCIsInNDbGFzc05hbWUiLCJNb2NrQ29udGV4dEJpbmRpbmciLCJvQ29udGV4dCIsIm9Nb2NrQ29udGV4dCIsIk1vY2tNZXRhTW9kZWwiLCJvTWV0YURhdGEiLCJzUGF0aCIsIiRwYXRoIiwib01ldGFDb250ZXh0IiwiZ2V0UHJvcGVydHkiLCJNb2NrTW9kZWwiLCJtb2NrTGlzdEJpbmRpbmciLCJtb2NrQ29udGV4dEJpbmRpbmciLCJvTWV0YU1vZGVsIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7OztBQUZBO0FBQ0E7QUFDQTtNQUlhQSxXLEdBQ1oscUJBQTJCQyxPQUEzQixFQUFpREMsUUFBakQsRUFBaUU7QUFBQTs7QUFBQTs7QUFBQSx5Q0FFNUNDLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFVBQUNDLEdBQUQsRUFBaUI7QUFDN0MsYUFBTyxLQUFJLENBQUNKLE9BQUwsQ0FBYUksR0FBYixDQUFQO0FBQ0EsS0FGb0IsQ0FGNEM7O0FBQUEseUNBSzVDRixJQUFJLENBQUNDLEVBQUwsQ0FBUSxVQUFDQyxHQUFELEVBQWNDLEtBQWQsRUFBNkI7QUFDekQsTUFBQSxLQUFJLENBQUNMLE9BQUwsQ0FBYUksR0FBYixJQUFvQkMsS0FBcEI7QUFDQSxhQUFPLEtBQUksQ0FBQ0wsT0FBTCxDQUFhSSxHQUFiLENBQVA7QUFDQSxLQUhvQixDQUw0Qzs7QUFBQSx1Q0FVOUNGLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFVBQUNDLEdBQUQsRUFBaUI7QUFDM0MsYUFBTyxLQUFJLENBQUNKLE9BQUwsQ0FB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dCI6WyIvKipcbiAqIE1vY2sgY2xhc3MgZm9yIGEgVjQgQ29udGV4dFxuICovXG5cbmltcG9ydCB7IENvbnRleHQsIE9EYXRhTGlzdEJpbmRpbmcsIE9EYXRhQ29udGV4dEJpbmRpbmcsIE9EYXRhTWV0YU1vZGVsLCBPRGF0YU1vZGVsIH0gZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NFwiO1xuXG5leHBvcnQgY2xhc3MgTW9ja0NvbnRleHQgaW1wbGVtZW50cyBQYXJ0aWFsPENvbnRleHQ+IHtcblx0cHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgb1ZhbHVlczogYW55LCBwcml2YXRlIG9CaW5kaW5nPzogYW55KSB7fVxuXG5cdHB1YmxpYyBnZXRQcm9wZXJ0eSA9IGplc3QuZm4oKGtleTogc3RyaW5nKSA9PiB7XG5cdFx0cmV0dXJuIHRoaXMub1ZhbHVlc1trZXldO1xuXHR9KTtcblx0cHVibGljIHNldFByb3BlcnR5ID0gamVzdC5mbigoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpID0+IHtcblx0XHR0aGlzLm9WYWx1ZXNba2V5XSA9IHZhbHVlO1xuXHRcdHJldHVybiB0aGlzLm9WYWx1ZXNba2V5XTtcblx0fSk7XG5cblx0cHVibGljIGdldE9iamVjdCA9IGplc3QuZm4oKGtleTogc3RyaW5nKSA9PiB7XG5cdFx0cmV0dXJuIHRoaXMub1ZhbHVlc1trZXldO1xuXHR9KTtcblx0cHVibGljIGdldFBhdGggPSBqZXN0LmZuKCgpID0+IHtcblx0XHRyZXR1cm4gdGhpcy5vVmFsdWVzW1wiJHBhdGhcIl07XG5cdH0pO1xuXG5cdHB1YmxpYyBnZXRCaW5kaW5nID0gamVzdC5mbigoKSA9PiB7XG5cdFx0cmV0dXJuIHRoaXMub0JpbmRpbmc7XG5cdH0pO1xuXHRwdWJsaWMgZ2V0TW9kZWwgPSBqZXN0LmZuKCk7XG59XG5cbmV4cG9ydCBjbGFzcyBNb2NrQ29udHJvbCB7XG5cdHB1YmxpYyBnZXRCaW5kaW5nSW5mbyA9IGplc3QuZm4oKTtcblx0cHVibGljIGdldEJpbmRpbmcgPSBqZXN0LmZuKCk7XG5cdHB1YmxpYyBkYXRhID0gamVzdC5mbigpO1xuXHRwdWJsaWMgZ2V0TW9kZWwgPSBqZXN0LmZuKCk7XG59XG5cbi8qKlxuICogTW9jayBjbGFzcyBmb3IgT0RhdGEgVjQgTGlzdEJpbmRpbmdcbiAqL1xuZXhwb3J0IGNsYXNzIE1vY2tMaXN0QmluZGluZyBpbXBsZW1lbnRzIFBhcnRpYWw8T0RhdGFMaXN0QmluZGluZz4ge1xuXHRwcml2YXRlIGFNb2NrQ29udGV4dHM6IE1vY2tDb250ZXh0W107XG5cblx0cHVibGljIGNvbnN0cnVjdG9yKGFDb250ZXh0cz86IGFueVtdKSB7XG5cdFx0YUNvbnRleHRzID0gYUNvbnRleHRzIHx8IFtdO1xuXG5cdFx0dGhpcy5hTW9ja0NvbnRleHRzID0gYUNvbnRleHRzLm1hcChjb250ZXh0ID0+IHtcblx0XHRcdHJldHVybiBuZXcgTW9ja0NvbnRleHQoY29udGV4dCwgdGhpcyk7XG5cdFx0fSk7XG5cdH1cblxuXHRwdWJsaWMgaXNBKHNDbGFzc05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBzQ2xhc3NOYW1lID09PSBcInNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YUxpc3RCaW5kaW5nXCI7XG5cdH1cblxuXHQvLyBNb2NrZWQgQVBJXG5cdHB1YmxpYyBzZXRBZ2dyZWdhdGlvbiA9IGplc3QuZm4oKTtcblx0cHVibGljIGZpbHRlciA9IGplc3QuZm4oKTtcblx0cHVibGljIHNvcnQgPSBqZXN0LmZuKCk7XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRwdWJsaWMgcmVxdWVzdENvbnRleHRzID0gamVzdC5mbigoLi4uYXJncykgPT4ge1xuXHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKHRoaXMuYU1vY2tDb250ZXh0cyBhcyBhbnkpIGFzIENvbnRleHRbXSk7XG5cdH0pO1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdHB1YmxpYyBnZXRDdXJyZW50Q29udGV4dHMgPSBqZXN0LmZuKCguLi5hcmdzKSA9PiB7XG5cdFx0cmV0dXJuICh0aGlzLmFNb2NrQ29udGV4dHMgYXMgYW55KSBhcyBDb250ZXh0W107XG5cdH0pO1xufVxuXG5leHBvcnQgY2xhc3MgTW9ja0NvbnRleHRCaW5kaW5nIGltcGxlbWVudHMgUGFydGlhbDxPRGF0YUNvbnRleHRCaW5kaW5nPiB7XG5cdHByaXZhdGUgb01vY2tDb250ZXh0OiBNb2NrQ29udGV4dDtcblxuXHRwdWJsaWMgY29uc3RydWN0b3Iob0NvbnRleHQ/OiBhbnkpIHtcblx0XHR0aGlzLm9Nb2NrQ29udGV4dCA9IG5ldyBNb2NrQ29udGV4dChvQ29udGV4dCB8fCB7fSwgdGhpcyk7XG5cdH1cblxuXHRwdWJsaWMgaXNBKHNDbGFzc05hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBzQ2xhc3NOYW1lID09PSBcInNhcC51aS5tb2RlbC5vZGF0YS52NC5PRGF0YUNvbnRleHRCaW5kaW5nXCI7XG5cdH1cblx0cHVibGljIGdldEludGVybmFsTW9ja0NvbnRleHQoKTogTW9ja0NvbnRleHQge1xuXHRcdHJldHVybiB0aGlzLm9Nb2NrQ29udGV4dDtcblx0fVxuXG5cdC8vIE1vY2tlZCBBUElcblx0cHVibGljIGdldEJvdW5kQ29udGV4dCA9IGplc3QuZm4oKCkgPT4ge1xuXHRcdHJldHVybiAodGhpcy5vTW9ja0NvbnRleHQgYXMgYW55KSBhcyBDb250ZXh0O1xuXHR9KTtcblx0cHVibGljIGF0dGFjaEV2ZW50T25jZSA9IGplc3QuZm4oKTtcbn1cblxuLyoqXG4gKiBNb2NrIGNsYXNzIGZvciBPRGF0YSBWNCBNZXRhTW9kZWxcbiAqL1xuZXhwb3J0IGNsYXNzIE1vY2tNZXRhTW9kZWwgaW1wbGVtZW50cyBQYXJ0aWFsPE9EYXRhTWV0YU1vZGVsPiB7XG5cdHByaXZhdGUgb01ldGFDb250ZXh0OiBNb2NrQ29udGV4dDtcblxuXHRwdWJsaWMgY29uc3RydWN0b3Iob01ldGFEYXRhPzogYW55KSB7XG5cdFx0dGhpcy5vTWV0YUNvbnRleHQgPSBuZXcgTW9ja0NvbnRleHQob01ldGFEYXRhIHx8IHt9KTtcblx0fVxuXG5cdC8vIE1vY2tlZCBBUElcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRwdWJsaWMgZ2V0TWV0YUNvbnRleHQgPSBqZXN0LmZuKChzUGF0aDogc3RyaW5nKSA9PiB7XG5cdFx0cmV0dXJuIChuZXcgTW9ja0NvbnRleHQoeyAkcGF0aDogc1BhdGggfSkgYXMgYW55KSBhcyBDb250ZXh0O1xuXHR9KTtcblx0cHVibGljIGdldE9iamVjdCA9IGplc3QuZm4oKHNQYXRoOiBzdHJpbmcpID0+IHtcblx0XHRyZXR1cm4gdGhpcy5vTWV0YUNvbnRleHQuZ2V0UHJvcGVydHkoc1BhdGgpO1xuXHR9KTtcblx0cHVibGljIHJlcXVlc3RPYmplY3QgPSBqZXN0LmZuKCk7XG5cdHB1YmxpYyBjcmVhdGVCaW5kaW5nQ29udGV4dCA9IGplc3QuZm4oKTtcblx0cHVibGljIGdldE1ldGFQYXRoID0gamVzdC5mbigpO1xufVxuXG4vKipcbiAqIE1vY2sgY2xhc3MgZm9yIE9EYXRhIFY0IE1vZGVsXG4gKi9cblxuZXhwb3J0IGNsYXNzIE1vY2tNb2RlbCBpbXBsZW1lbnRzIFBhcnRpYWw8T0RhdGFNb2RlbD4ge1xuXHRwcml2YXRlIG9NZXRhTW9kZWw/OiBNb2NrTWV0YU1vZGVsO1xuXG5cdHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vY2tMaXN0QmluZGluZz86IE1vY2tMaXN0QmluZGluZywgcHJpdmF0ZSBtb2NrQ29udGV4dEJpbmRpbmc/OiBNb2NrQ29udGV4dEJpbmRpbmcpIHt9XG5cblx0Ly8gRmFjdG9yaWVzXG5cdHN0YXRpYyBtb2RlbEZyb21MaXN0QmluZGluZyhtb2NrTGlzdEJpbmRpbmc6IE1vY2tMaXN0QmluZGluZyk6IE1vY2tNb2RlbCB7XG5cdFx0cmV0dXJuIG5ldyBNb2NrTW9kZWwobW9ja0xpc3RCaW5kaW5nKTtcblx0fVxuXHRzdGF0aWMgbW9kZWxGcm9tQ29udGV4dEJpbmRpbmcobW9ja0NvbnRleHRCaW5kaW5nOiBNb2NrQ29udGV4dEJpbmRpbmcpOiBNb2NrTW9kZWwge1xuXHRcdHJldHVybiBuZXcgTW9ja01vZGVsKHVuZGVmaW5lZCwgbW9ja0NvbnRleHRCaW5kaW5nKTtcblx0fVxuXG5cdHB1YmxpYyBzZXRNZXRhTW9kZWwob01ldGFNb2RlbDogTW9ja01ldGFNb2RlbCkge1xuXHRcdHRoaXMub01ldGFNb2RlbCA9IG9NZXRhTW9kZWw7XG5cdH1cblxuXHQvLyBNb2NrZWQgQVBJXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0cHVibGljIGJpbmRMaXN0ID0gamVzdC5mbigoLi4uYXJncykgPT4ge1xuXHRcdHJldHVybiAodGhpcy5tb2NrTGlzdEJpbmRpbmcgYXMgYW55KSBhcyBPRGF0YUxpc3RCaW5kaW5nO1xuXHR9KTtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHRwdWJsaWMgYmluZENvbnRleHQgPSBqZXN0LmZuKCguLi5hcmdzKSA9PiB7XG5cdFx0cmV0dXJuICh0aGlzLm1vY2tDb250ZXh0QmluZGluZyBhcyBhbnkpIGFzIE9EYXRhQ29udGV4dEJpbmRpbmc7XG5cdH0pO1xuXHRwdWJsaWMgZ2V0TWV0YU1vZGVsID0gamVzdC5mbigoKSA9PiB7XG5cdFx0cmV0dXJuICh0aGlzLm9NZXRhTW9kZWwgYXMgYW55KSBhcyBPRGF0YU1ldGFNb2RlbDtcblx0fSk7XG5cblx0cHVibGljIGdldFByb3BlcnR5ID0gamVzdC5mbigpO1xuXHRwdWJsaWMgc2V0UHJvcGVydHkgPSBqZXN0LmZuKCk7XG59XG4iXX0=
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define([],function(){"use strict";var _={};function a(t,p){for(var i=0;i<p.length;i++){var k=p[i];k.enumerable=k.enumerable||false;k.configurable=true;if("value"in k)k.writable=true;Object.defineProperty(t,k.key,k);}}function b(C,p,s){if(p)a(C.prototype,p);if(s)a(C,s);return C;}function c(i,C){if(!(i instanceof C)){throw new TypeError("Cannot call a class as a function");}}function d(o,k,v){if(k in o){Object.defineProperty(o,k,{value:v,enumerable:true,configurable:true,writable:true});}else{o[k]=v;}return o;}var M=function M(v,B){var i=this;c(this,M);d(this,"getProperty",jest.fn(function(k){return i.oValues[k];}));d(this,"getObject",jest.fn(function(k){return i.oValues[k];}));d(this,"getPath",jest.fn(function(){return i.oValues["$path"];}));d(this,"getBinding",jest.fn(function(){return i.oBinding;}));this.oValues=v;this.oBinding=B;};_.MockContext=M;var e=function e(){c(this,e);d(this,"getBindingInfo",jest.fn());d(this,"getBinding",jest.fn());};_.MockControl=e;var f=function(){function f(C){var i=this;c(this,f);d(this,"setAggregation",jest.fn());d(this,"filter",jest.fn());d(this,"sort",jest.fn());d(this,"requestContexts",jest.fn(function(){return Promise.resolve(i.aMockContexts);}));d(this,"getCurrentContexts",jest.fn(function(){return i.aMockContexts;}));C=C||[];this.aMockContexts=C.map(function(k){return new M(k,i);});}_.MockListBinding=f;b(f,[{key:"isA",value:function i(C){return C==="sap.ui.model.odata.v4.ODataListBinding";}}]);return f;}();_.MockListBinding=f;var g=function(){function g(C){var i=this;c(this,g);d(this,"getBoundContext",jest.fn(function(){return i.oMockContext;}));d(this,"attachEventOnce",jest.fn());this.oMockContext=new M(C||{},this);}_.MockContextBinding=g;b(g,[{key:"isA",value:function i(C){return C==="sap.ui.model.odata.v4.ODataContextBinding";}},{key:"getInternalMockContext",value:function i(){return this.oMockContext;}}]);return g;}();_.MockContextBinding=g;var h=function h(m){var i=this;c(this,h);d(this,"getMetaContext",jest.fn(function(p){return new M({$path:p});}));d(this,"getObject",jest.fn(function(p){return i.oMetaContext.getProperty(p);}));this.oMetaContext=new M(m||{});};_.MockMetaModel=h;var j=function(){function j(m,i){var k=this;c(this,j);d(this,"bindList",jest.fn(function(){return k.mockListBinding;}));d(this,"bindContext",jest.fn(function(){return k.mockContextBinding;}));d(this,"getMetaModel",jest.fn(function(){return k.oMetaModel;}));this.mockListBinding=m;this.mockContextBinding=i;}_.MockModel=j;b(j,[{key:"setMetaModel",value:function s(m){this.oMetaModel=m;}}],[{key:"modelFromListBinding",value:function i(m){return new j(m);}},{key:"modelFromContextBinding",value:function i(m){return new j(undefined,m);}}]);return j;}();_.MockModel=j;return _;},false);
|
|
5
|
+
sap.ui.define([],function(){"use strict";var _={};function a(t,p){for(var i=0;i<p.length;i++){var k=p[i];k.enumerable=k.enumerable||false;k.configurable=true;if("value"in k)k.writable=true;Object.defineProperty(t,k.key,k);}}function b(C,p,s){if(p)a(C.prototype,p);if(s)a(C,s);return C;}function c(i,C){if(!(i instanceof C)){throw new TypeError("Cannot call a class as a function");}}function d(o,k,v){if(k in o){Object.defineProperty(o,k,{value:v,enumerable:true,configurable:true,writable:true});}else{o[k]=v;}return o;}var M=function M(v,B){var i=this;c(this,M);d(this,"getProperty",jest.fn(function(k){return i.oValues[k];}));d(this,"setProperty",jest.fn(function(k,l){i.oValues[k]=l;return i.oValues[k];}));d(this,"getObject",jest.fn(function(k){return i.oValues[k];}));d(this,"getPath",jest.fn(function(){return i.oValues["$path"];}));d(this,"getBinding",jest.fn(function(){return i.oBinding;}));d(this,"getModel",jest.fn());this.oValues=v;this.oBinding=B;};_.MockContext=M;var e=function e(){c(this,e);d(this,"getBindingInfo",jest.fn());d(this,"getBinding",jest.fn());d(this,"data",jest.fn());d(this,"getModel",jest.fn());};_.MockControl=e;var f=function(){function f(C){var i=this;c(this,f);d(this,"setAggregation",jest.fn());d(this,"filter",jest.fn());d(this,"sort",jest.fn());d(this,"requestContexts",jest.fn(function(){return Promise.resolve(i.aMockContexts);}));d(this,"getCurrentContexts",jest.fn(function(){return i.aMockContexts;}));C=C||[];this.aMockContexts=C.map(function(k){return new M(k,i);});}_.MockListBinding=f;b(f,[{key:"isA",value:function i(C){return C==="sap.ui.model.odata.v4.ODataListBinding";}}]);return f;}();_.MockListBinding=f;var g=function(){function g(C){var i=this;c(this,g);d(this,"getBoundContext",jest.fn(function(){return i.oMockContext;}));d(this,"attachEventOnce",jest.fn());this.oMockContext=new M(C||{},this);}_.MockContextBinding=g;b(g,[{key:"isA",value:function i(C){return C==="sap.ui.model.odata.v4.ODataContextBinding";}},{key:"getInternalMockContext",value:function i(){return this.oMockContext;}}]);return g;}();_.MockContextBinding=g;var h=function h(m){var i=this;c(this,h);d(this,"getMetaContext",jest.fn(function(p){return new M({$path:p});}));d(this,"getObject",jest.fn(function(p){return i.oMetaContext.getProperty(p);}));d(this,"requestObject",jest.fn());d(this,"createBindingContext",jest.fn());d(this,"getMetaPath",jest.fn());this.oMetaContext=new M(m||{});};_.MockMetaModel=h;var j=function(){function j(m,i){var k=this;c(this,j);d(this,"bindList",jest.fn(function(){return k.mockListBinding;}));d(this,"bindContext",jest.fn(function(){return k.mockContextBinding;}));d(this,"getMetaModel",jest.fn(function(){return k.oMetaModel;}));d(this,"getProperty",jest.fn());d(this,"setProperty",jest.fn());this.mockListBinding=m;this.mockContextBinding=i;}_.MockModel=j;b(j,[{key:"setMetaModel",value:function s(m){this.oMetaModel=m;}}],[{key:"modelFromListBinding",value:function i(m){return new j(m);}},{key:"modelFromContextBinding",value:function i(m){return new j(undefined,m);}}]);return j;}();_.MockModel=j;return _;},false);
|
|
@@ -10,6 +10,11 @@ export class MockContext implements Partial<Context> {
|
|
|
10
10
|
public getProperty = jest.fn((key: string) => {
|
|
11
11
|
return this.oValues[key];
|
|
12
12
|
});
|
|
13
|
+
public setProperty = jest.fn((key: string, value: any) => {
|
|
14
|
+
this.oValues[key] = value;
|
|
15
|
+
return this.oValues[key];
|
|
16
|
+
});
|
|
17
|
+
|
|
13
18
|
public getObject = jest.fn((key: string) => {
|
|
14
19
|
return this.oValues[key];
|
|
15
20
|
});
|
|
@@ -20,11 +25,14 @@ export class MockContext implements Partial<Context> {
|
|
|
20
25
|
public getBinding = jest.fn(() => {
|
|
21
26
|
return this.oBinding;
|
|
22
27
|
});
|
|
28
|
+
public getModel = jest.fn();
|
|
23
29
|
}
|
|
24
30
|
|
|
25
31
|
export class MockControl {
|
|
26
32
|
public getBindingInfo = jest.fn();
|
|
27
33
|
public getBinding = jest.fn();
|
|
34
|
+
public data = jest.fn();
|
|
35
|
+
public getModel = jest.fn();
|
|
28
36
|
}
|
|
29
37
|
|
|
30
38
|
/**
|
|
@@ -99,6 +107,9 @@ export class MockMetaModel implements Partial<ODataMetaModel> {
|
|
|
99
107
|
public getObject = jest.fn((sPath: string) => {
|
|
100
108
|
return this.oMetaContext.getProperty(sPath);
|
|
101
109
|
});
|
|
110
|
+
public requestObject = jest.fn();
|
|
111
|
+
public createBindingContext = jest.fn();
|
|
112
|
+
public getMetaPath = jest.fn();
|
|
102
113
|
}
|
|
103
114
|
|
|
104
115
|
/**
|
|
@@ -134,4 +145,7 @@ export class MockModel implements Partial<ODataModel> {
|
|
|
134
145
|
public getMetaModel = jest.fn(() => {
|
|
135
146
|
return (this.oMetaModel as any) as ODataMetaModel;
|
|
136
147
|
});
|
|
148
|
+
|
|
149
|
+
public getProperty = jest.fn();
|
|
150
|
+
public setProperty = jest.fn();
|
|
137
151
|
}
|
|
@@ -79,6 +79,27 @@ sap.ui.define(
|
|
|
79
79
|
* @public
|
|
80
80
|
*/
|
|
81
81
|
|
|
82
|
+
/**
|
|
83
|
+
* An dialog field identifier
|
|
84
|
+
*
|
|
85
|
+
* @typedef {object} DialogFieldIdentifier
|
|
86
|
+
* @property {string} property The name of the field
|
|
87
|
+
* In case of an action parameter dialog, this is the fieldname only
|
|
88
|
+
* <code><pre>
|
|
89
|
+
* {
|
|
90
|
+
* property: <fieldname>
|
|
91
|
+
* }
|
|
92
|
+
* </pre></code>
|
|
93
|
+
* In case of a create dialog, the concatenation of the entity and fieldname has to be provided
|
|
94
|
+
* <code><pre>
|
|
95
|
+
* {
|
|
96
|
+
* property: <entity>::<fieldname>
|
|
97
|
+
* }
|
|
98
|
+
* </pre></code>
|
|
99
|
+
* @name sap.fe.test.api.DialogFieldIdentifier
|
|
100
|
+
* @public
|
|
101
|
+
*/
|
|
102
|
+
|
|
82
103
|
function _findParentChainFunction(oResult, sChainKeyword) {
|
|
83
104
|
var oAnd = oResult.and;
|
|
84
105
|
if (sChainKeyword in oAnd) {
|
|
@@ -35,19 +35,23 @@ sap.ui.define(
|
|
|
35
35
|
DialogAPI.prototype.constructor = DialogAPI;
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
* Creates a matcher for fields within action dialogs.
|
|
38
|
+
* Creates a matcher for fields within create and action dialogs.
|
|
39
39
|
*
|
|
40
40
|
* @param {sap.fe.test.api.FieldIdentifier | string} vFieldIdentifier Identifier to be used for the matcher
|
|
41
|
+
* @param {object} oDialogIdentifier Identifier for the dialog (create/action)
|
|
41
42
|
*
|
|
42
43
|
* @returns {object} A matcher
|
|
43
44
|
*
|
|
44
45
|
* @private
|
|
45
46
|
*/
|
|
46
|
-
DialogAPI.prototype._createFieldMatcher = function(vFieldIdentifier) {
|
|
47
|
+
DialogAPI.prototype._createFieldMatcher = function(vFieldIdentifier, oDialogIdentifier) {
|
|
47
48
|
var vMatcher, sFieldId;
|
|
48
49
|
if (!Utils.isOfType(vFieldIdentifier, String)) {
|
|
49
50
|
if (typeof vFieldIdentifier.property === "string") {
|
|
50
|
-
sFieldId =
|
|
51
|
+
sFieldId =
|
|
52
|
+
oDialogIdentifier && oDialogIdentifier.type === "Create"
|
|
53
|
+
? "CreateDialog::" + vFieldIdentifier.property.replaceAll("/", "::")
|
|
54
|
+
: "APD_::" + vFieldIdentifier.property.replaceAll("/", "::");
|
|
51
55
|
} else {
|
|
52
56
|
throw new Error(
|
|
53
57
|
"The 'property' parameter for creating a control ID for a field in an action dialog is not supported: " +
|
|
@@ -62,12 +66,12 @@ sap.ui.define(
|
|
|
62
66
|
return vMatcher;
|
|
63
67
|
};
|
|
64
68
|
|
|
65
|
-
DialogAPI.prototype._createFieldBuilder = function(vFieldIdentifier) {
|
|
69
|
+
DialogAPI.prototype._createFieldBuilder = function(vFieldIdentifier, oDialogIdentifier) {
|
|
66
70
|
var oMdcFieldBuilder = new MdcFieldBuilder(this.getOpaInstance());
|
|
67
71
|
return oMdcFieldBuilder
|
|
68
72
|
.isDialogElement()
|
|
69
73
|
.hasType("sap.ui.mdc.Field")
|
|
70
|
-
.has(this._createFieldMatcher(vFieldIdentifier));
|
|
74
|
+
.has(this._createFieldMatcher(vFieldIdentifier, oDialogIdentifier));
|
|
71
75
|
};
|
|
72
76
|
|
|
73
77
|
DialogAPI.prototype._getConfirmButtonMatcher = function() {
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
(c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
|
|
5
5
|
*/
|
|
6
|
-
sap.ui.define(["./BaseAPI","sap/fe/test/Utils","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MdcFieldBuilder","sap/fe/test/builder/DialogBuilder"],function(B,U,F,M,D){"use strict";var a=function(d,v,c){if(!U.isOfType(d,D)){throw new Error("oDialogBuilder parameter must be a DialogBuilder instance");}this._iConfirmButtonIndex=c||0;return B.call(this,d,v);};a.prototype=Object.create(B.prototype);a.prototype.constructor=a;a.prototype._createFieldMatcher=function(f){var m,s;if(!U.isOfType(f,String)){if(typeof f.property==="string"){s="APD_::"+f.property.replaceAll("/","::");}else{throw new Error("The 'property' parameter for creating a control ID for a field in an action dialog is not supported: "+f.property);}m=F.Matchers.id(new RegExp(U.formatMessage("{0}",s)));}else{}return m;};a.prototype._createFieldBuilder=function(f){var m=new M(this.getOpaInstance());return m.isDialogElement().hasType("sap.ui.mdc.Field").has(this._createFieldMatcher(f));};a.prototype._getConfirmButtonMatcher=function(){var c=this._iConfirmButtonIndex;return function(b){var d=b.getParent().getButtons();return d.indexOf(b)===Math.min(d.length-1,c);};};a.prototype._getCancelButtonMatcher=function(){var c=this._iConfirmButtonIndex;return function(b){var d=b.getParent().getButtons();return d.indexOf(b)===Math.min(d.length-1,c+1);};};return a;});
|
|
6
|
+
sap.ui.define(["./BaseAPI","sap/fe/test/Utils","sap/fe/test/builder/FEBuilder","sap/fe/test/builder/MdcFieldBuilder","sap/fe/test/builder/DialogBuilder"],function(B,U,F,M,D){"use strict";var a=function(d,v,c){if(!U.isOfType(d,D)){throw new Error("oDialogBuilder parameter must be a DialogBuilder instance");}this._iConfirmButtonIndex=c||0;return B.call(this,d,v);};a.prototype=Object.create(B.prototype);a.prototype.constructor=a;a.prototype._createFieldMatcher=function(f,d){var m,s;if(!U.isOfType(f,String)){if(typeof f.property==="string"){s=d&&d.type==="Create"?"CreateDialog::"+f.property.replaceAll("/","::"):"APD_::"+f.property.replaceAll("/","::");}else{throw new Error("The 'property' parameter for creating a control ID for a field in an action dialog is not supported: "+f.property);}m=F.Matchers.id(new RegExp(U.formatMessage("{0}",s)));}else{}return m;};a.prototype._createFieldBuilder=function(f,d){var m=new M(this.getOpaInstance());return m.isDialogElement().hasType("sap.ui.mdc.Field").has(this._createFieldMatcher(f,d));};a.prototype._getConfirmButtonMatcher=function(){var c=this._iConfirmButtonIndex;return function(b){var d=b.getParent().getButtons();return d.indexOf(b)===Math.min(d.length-1,c);};};a.prototype._getCancelButtonMatcher=function(){var c=this._iConfirmButtonIndex;return function(b){var d=b.getParent().getButtons();return d.indexOf(b)===Math.min(d.length-1,c+1);};};return a;});
|