@sap_oss/wdio-qmate-service 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +3 -0
- package/.eslintrc.yml +33 -0
- package/.reuse/dep5 +29 -0
- package/LICENSE +201 -0
- package/LICENSES/Apache-2.0.txt +73 -0
- package/README.md +20 -0
- package/docs/contact.md +10 -0
- package/docs/doc.md +5188 -0
- package/docs/gettingStarted/selectors.md +168 -0
- package/docs/gettingStarted/setup.md +8 -0
- package/docs/index.md +14 -0
- package/docs/style/custom.css +24 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +171 -0
- package/lib/index.js.map +1 -0
- package/lib/reuse/authenticator/authConfig.d.ts +54 -0
- package/lib/reuse/authenticator/authConfig.js +55 -0
- package/lib/reuse/authenticator/authConfig.js.map +1 -0
- package/lib/reuse/authenticator/authHandler.d.ts +6 -0
- package/lib/reuse/authenticator/authHandler.js +37 -0
- package/lib/reuse/authenticator/authHandler.js.map +1 -0
- package/lib/reuse/authenticator/basicUrlAuthenticator.d.ts +2 -0
- package/lib/reuse/authenticator/basicUrlAuthenticator.js +36 -0
- package/lib/reuse/authenticator/basicUrlAuthenticator.js.map +1 -0
- package/lib/reuse/authenticator/customAuthenticator.d.ts +2 -0
- package/lib/reuse/authenticator/customAuthenticator.js +60 -0
- package/lib/reuse/authenticator/customAuthenticator.js.map +1 -0
- package/lib/reuse/authenticator/formAuthenticator.d.ts +2 -0
- package/lib/reuse/authenticator/formAuthenticator.js +57 -0
- package/lib/reuse/authenticator/formAuthenticator.js.map +1 -0
- package/lib/reuse/authenticator/plainAuthenticator.d.ts +2 -0
- package/lib/reuse/authenticator/plainAuthenticator.js +20 -0
- package/lib/reuse/authenticator/plainAuthenticator.js.map +1 -0
- package/lib/reuse/data/authenticators.json +16 -0
- package/lib/reuse/helper/clientsideUI5scripts.d.ts +1 -0
- package/lib/reuse/helper/clientsideUI5scripts.js +388 -0
- package/lib/reuse/helper/clientsideUI5scripts.js.map +1 -0
- package/lib/reuse/helper/jsDocGen.d.ts +1 -0
- package/lib/reuse/helper/jsDocGen.js +45 -0
- package/lib/reuse/helper/jsDocGen.js.map +1 -0
- package/lib/reuse/index.d.ts +5 -0
- package/lib/reuse/index.js +89 -0
- package/lib/reuse/index.js.map +1 -0
- package/lib/reuse/modules/common/Common.d.ts +12 -0
- package/lib/reuse/modules/common/Common.js +21 -0
- package/lib/reuse/modules/common/Common.js.map +1 -0
- package/lib/reuse/modules/common/assertion.d.ts +65 -0
- package/lib/reuse/modules/common/assertion.js +91 -0
- package/lib/reuse/modules/common/assertion.js.map +1 -0
- package/lib/reuse/modules/common/constants/date.constants.d.ts +8 -0
- package/lib/reuse/modules/common/constants/date.constants.js +13 -0
- package/lib/reuse/modules/common/constants/date.constants.js.map +1 -0
- package/lib/reuse/modules/common/constants/userInteraction.constants.d.ts +9 -0
- package/lib/reuse/modules/common/constants/userInteraction.constants.js +14 -0
- package/lib/reuse/modules/common/constants/userInteraction.constants.js.map +1 -0
- package/lib/reuse/modules/common/date.d.ts +84 -0
- package/lib/reuse/modules/common/date.js +164 -0
- package/lib/reuse/modules/common/date.js.map +1 -0
- package/lib/reuse/modules/common/navigation.d.ts +26 -0
- package/lib/reuse/modules/common/navigation.js +56 -0
- package/lib/reuse/modules/common/navigation.js.map +1 -0
- package/lib/reuse/modules/common/types/date.types.d.ts +2 -0
- package/lib/reuse/modules/common/types/date.types.js +3 -0
- package/lib/reuse/modules/common/types/date.types.js.map +1 -0
- package/lib/reuse/modules/common/userInteraction.d.ts +104 -0
- package/lib/reuse/modules/common/userInteraction.js +199 -0
- package/lib/reuse/modules/common/userInteraction.js.map +1 -0
- package/lib/reuse/modules/nonUi5/NonUi5.d.ts +12 -0
- package/lib/reuse/modules/nonUi5/NonUi5.js +21 -0
- package/lib/reuse/modules/nonUi5/NonUi5.js.map +1 -0
- package/lib/reuse/modules/nonUi5/assertion.d.ts +62 -0
- package/lib/reuse/modules/nonUi5/assertion.js +127 -0
- package/lib/reuse/modules/nonUi5/assertion.js.map +1 -0
- package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.d.ts +6 -0
- package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.js +11 -0
- package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.js.map +1 -0
- package/lib/reuse/modules/nonUi5/element.d.ts +286 -0
- package/lib/reuse/modules/nonUi5/element.js +639 -0
- package/lib/reuse/modules/nonUi5/element.js.map +1 -0
- package/lib/reuse/modules/nonUi5/navigation.d.ts +17 -0
- package/lib/reuse/modules/nonUi5/navigation.js +44 -0
- package/lib/reuse/modules/nonUi5/navigation.js.map +1 -0
- package/lib/reuse/modules/nonUi5/userInteraction.d.ts +170 -0
- package/lib/reuse/modules/nonUi5/userInteraction.js +415 -0
- package/lib/reuse/modules/nonUi5/userInteraction.js.map +1 -0
- package/lib/reuse/modules/service/Service.d.ts +8 -0
- package/lib/reuse/modules/service/Service.js +17 -0
- package/lib/reuse/modules/service/Service.js.map +1 -0
- package/lib/reuse/modules/service/odata.d.ts +177 -0
- package/lib/reuse/modules/service/odata.js +347 -0
- package/lib/reuse/modules/service/odata.js.map +1 -0
- package/lib/reuse/modules/service/rest.d.ts +66 -0
- package/lib/reuse/modules/service/rest.js +168 -0
- package/lib/reuse/modules/service/rest.js.map +1 -0
- package/lib/reuse/modules/service/soap.d.ts +0 -0
- package/lib/reuse/modules/service/soap.js +2 -0
- package/lib/reuse/modules/service/soap.js.map +1 -0
- package/lib/reuse/modules/ui5/Ui5.d.ts +34 -0
- package/lib/reuse/modules/ui5/Ui5.js +41 -0
- package/lib/reuse/modules/ui5/Ui5.js.map +1 -0
- package/lib/reuse/modules/ui5/assertion.d.ts +183 -0
- package/lib/reuse/modules/ui5/assertion.js +493 -0
- package/lib/reuse/modules/ui5/assertion.js.map +1 -0
- package/lib/reuse/modules/ui5/confirmationDialog.d.ts +86 -0
- package/lib/reuse/modules/ui5/confirmationDialog.js +145 -0
- package/lib/reuse/modules/ui5/confirmationDialog.js.map +1 -0
- package/lib/reuse/modules/ui5/constants/mockserver.constants.d.ts +4 -0
- package/lib/reuse/modules/ui5/constants/mockserver.constants.js +9 -0
- package/lib/reuse/modules/ui5/constants/mockserver.constants.js.map +1 -0
- package/lib/reuse/modules/ui5/control.d.ts +84 -0
- package/lib/reuse/modules/ui5/control.js +132 -0
- package/lib/reuse/modules/ui5/control.js.map +1 -0
- package/lib/reuse/modules/ui5/date.d.ts +48 -0
- package/lib/reuse/modules/ui5/date.js +153 -0
- package/lib/reuse/modules/ui5/date.js.map +1 -0
- package/lib/reuse/modules/ui5/element.d.ts +160 -0
- package/lib/reuse/modules/ui5/element.js +349 -0
- package/lib/reuse/modules/ui5/element.js.map +1 -0
- package/lib/reuse/modules/ui5/errorDialog.d.ts +39 -0
- package/lib/reuse/modules/ui5/errorDialog.js +65 -0
- package/lib/reuse/modules/ui5/errorDialog.js.map +1 -0
- package/lib/reuse/modules/ui5/footerBar.d.ts +153 -0
- package/lib/reuse/modules/ui5/footerBar.js +240 -0
- package/lib/reuse/modules/ui5/footerBar.js.map +1 -0
- package/lib/reuse/modules/ui5/mockserver.d.ts +154 -0
- package/lib/reuse/modules/ui5/mockserver.js +665 -0
- package/lib/reuse/modules/ui5/mockserver.js.map +1 -0
- package/lib/reuse/modules/ui5/navigation.d.ts +103 -0
- package/lib/reuse/modules/ui5/navigation.js +275 -0
- package/lib/reuse/modules/ui5/navigation.js.map +1 -0
- package/lib/reuse/modules/ui5/navigationBar.d.ts +48 -0
- package/lib/reuse/modules/ui5/navigationBar.js +141 -0
- package/lib/reuse/modules/ui5/navigationBar.js.map +1 -0
- package/lib/reuse/modules/ui5/qunit.d.ts +17 -0
- package/lib/reuse/modules/ui5/qunit.js +52 -0
- package/lib/reuse/modules/ui5/qunit.js.map +1 -0
- package/lib/reuse/modules/ui5/session.d.ts +117 -0
- package/lib/reuse/modules/ui5/session.js +374 -0
- package/lib/reuse/modules/ui5/session.js.map +1 -0
- package/lib/reuse/modules/ui5/table.d.ts +61 -0
- package/lib/reuse/modules/ui5/table.js +188 -0
- package/lib/reuse/modules/ui5/table.js.map +1 -0
- package/lib/reuse/modules/ui5/types/mockserver.types.d.ts +2 -0
- package/lib/reuse/modules/ui5/types/mockserver.types.js +3 -0
- package/lib/reuse/modules/ui5/types/mockserver.types.js.map +1 -0
- package/lib/reuse/modules/ui5/userInteraction.d.ts +304 -0
- package/lib/reuse/modules/ui5/userInteraction.js +690 -0
- package/lib/reuse/modules/ui5/userInteraction.js.map +1 -0
- package/lib/reuse/modules/util/Util.d.ts +22 -0
- package/lib/reuse/modules/util/Util.js +27 -0
- package/lib/reuse/modules/util/Util.js.map +1 -0
- package/lib/reuse/modules/util/browser.d.ts +167 -0
- package/lib/reuse/modules/util/browser.js +367 -0
- package/lib/reuse/modules/util/browser.js.map +1 -0
- package/lib/reuse/modules/util/console.d.ts +56 -0
- package/lib/reuse/modules/util/console.js +152 -0
- package/lib/reuse/modules/util/console.js.map +1 -0
- package/lib/reuse/modules/util/constants/formatter.constants.d.ts +11 -0
- package/lib/reuse/modules/util/constants/formatter.constants.js +16 -0
- package/lib/reuse/modules/util/constants/formatter.constants.js.map +1 -0
- package/lib/reuse/modules/util/data.d.ts +36 -0
- package/lib/reuse/modules/util/data.js +87 -0
- package/lib/reuse/modules/util/data.js.map +1 -0
- package/lib/reuse/modules/util/file.d.ts +55 -0
- package/lib/reuse/modules/util/file.js +159 -0
- package/lib/reuse/modules/util/file.js.map +1 -0
- package/lib/reuse/modules/util/formatter.d.ts +90 -0
- package/lib/reuse/modules/util/formatter.js +210 -0
- package/lib/reuse/modules/util/formatter.js.map +1 -0
- package/lib/reuse/modules/util/function.d.ts +48 -0
- package/lib/reuse/modules/util/function.js +161 -0
- package/lib/reuse/modules/util/function.js.map +1 -0
- package/lib/reuse/modules/util/system.d.ts +17 -0
- package/lib/reuse/modules/util/system.js +58 -0
- package/lib/reuse/modules/util/system.js.map +1 -0
- package/lib/reuse/modules/util/types/formatter.types.d.ts +2 -0
- package/lib/reuse/modules/util/types/formatter.types.js +3 -0
- package/lib/reuse/modules/util/types/formatter.types.js.map +1 -0
- package/lib/scripts/clientsideUI5scripts.d.ts +1 -0
- package/lib/scripts/clientsideUI5scripts.js +315 -0
- package/lib/scripts/clientsideUI5scripts.js.map +1 -0
- package/lib/scripts/dataExchange/dataExchange.d.ts +1 -0
- package/lib/scripts/dataExchange/dataExchange.js +224 -0
- package/lib/scripts/dataExchange/dataExchange.js.map +1 -0
- package/lib/scripts/dataExchange/dataExchangeUtil.d.ts +63 -0
- package/lib/scripts/dataExchange/dataExchangeUtil.js +211 -0
- package/lib/scripts/dataExchange/dataExchangeUtil.js.map +1 -0
- package/lib/scripts/hooks/after.d.ts +8 -0
- package/lib/scripts/hooks/after.js +30 -0
- package/lib/scripts/hooks/after.js.map +1 -0
- package/lib/scripts/hooks/before.d.ts +8 -0
- package/lib/scripts/hooks/before.js +38 -0
- package/lib/scripts/hooks/before.js.map +1 -0
- package/lib/scripts/hooks/beforeSession.d.ts +8 -0
- package/lib/scripts/hooks/beforeSession.js +37 -0
- package/lib/scripts/hooks/beforeSession.js.map +1 -0
- package/lib/scripts/hooks/onComplete.d.ts +9 -0
- package/lib/scripts/hooks/onComplete.js +31 -0
- package/lib/scripts/hooks/onComplete.js.map +1 -0
- package/lib/scripts/hooks/onPrepare.d.ts +6 -0
- package/lib/scripts/hooks/onPrepare.js +36 -0
- package/lib/scripts/hooks/onPrepare.js.map +1 -0
- package/lib/scripts/hooks/utils/addLocatorCommands.d.ts +2 -0
- package/lib/scripts/hooks/utils/addLocatorCommands.js +193 -0
- package/lib/scripts/hooks/utils/addLocatorCommands.js.map +1 -0
- package/lib/scripts/hooks/utils/browserLog.d.ts +2 -0
- package/lib/scripts/hooks/utils/browserLog.js +39 -0
- package/lib/scripts/hooks/utils/browserLog.js.map +1 -0
- package/lib/scripts/hooks/utils/dataExchangeCommands.d.ts +9 -0
- package/lib/scripts/hooks/utils/dataExchangeCommands.js +46 -0
- package/lib/scripts/hooks/utils/dataExchangeCommands.js.map +1 -0
- package/lib/scripts/hooks/utils/decryption.d.ts +13 -0
- package/lib/scripts/hooks/utils/decryption.js +90 -0
- package/lib/scripts/hooks/utils/decryption.js.map +1 -0
- package/lib/scripts/hooks/utils/lib.d.ts +4 -0
- package/lib/scripts/hooks/utils/lib.js +330 -0
- package/lib/scripts/hooks/utils/lib.js.map +1 -0
- package/lib/scripts/hooks/utils/locatorCommands.d.ts +10 -0
- package/lib/scripts/hooks/utils/locatorCommands.js +216 -0
- package/lib/scripts/hooks/utils/locatorCommands.js.map +1 -0
- package/lib/scripts/locators/qmateLocator.d.ts +1 -0
- package/lib/scripts/locators/qmateLocator.js +1384 -0
- package/lib/scripts/locators/qmateLocator.js.map +1 -0
- package/lib/scripts/locators/uiveri5Locator.d.ts +1 -0
- package/lib/scripts/locators/uiveri5Locator.js +21 -0
- package/lib/scripts/locators/uiveri5Locator.js.map +1 -0
- package/mkdocs.yml +53 -0
- package/package.json +152 -0
- package/test/.eslintrc.yml +6 -0
- package/test/authenticator/package.json +13 -0
- package/test/authenticator/staticLogin/configCustom.js +22 -0
- package/test/authenticator/staticLogin/configCustomViaConfig.js +20 -0
- package/test/authenticator/staticLogin/configFiori.js +19 -0
- package/test/authenticator/staticLogin/configPlain.js +17 -0
- package/test/authenticator/staticLogin/configSapCloud.js +18 -0
- package/test/authenticator/staticLogin/html/custom.html +10 -0
- package/test/authenticator/staticLogin/html/fiori.html +10 -0
- package/test/authenticator/staticLogin/html/home.html +7 -0
- package/test/authenticator/staticLogin/html/sapCloud.html +10 -0
- package/test/authenticator/staticLogin/specs/custom.spec.js +6 -0
- package/test/authenticator/staticLogin/specs/customViaConfig.spec.js +10 -0
- package/test/authenticator/staticLogin/specs/fiori.spec.js +6 -0
- package/test/authenticator/staticLogin/specs/plain.spec.js +64 -0
- package/test/authenticator/staticLogin/specs/sapCloud.spec.js +6 -0
- package/test/authenticator/staticLogin/staticServerConfig.js +20 -0
- package/test/authenticator/systemLogin/configCustom.js +26 -0
- package/test/authenticator/systemLogin/configFiori.js +24 -0
- package/test/authenticator/systemLogin/configPlain.js +22 -0
- package/test/authenticator/systemLogin/configSapCloud.js +24 -0
- package/test/authenticator/systemLogin/specs/custom.spec.js +13 -0
- package/test/authenticator/systemLogin/specs/fiori.spec.js +12 -0
- package/test/authenticator/systemLogin/specs/plain.spec.js +21 -0
- package/test/authenticator/systemLogin/specs/sapCloud.spec.js +13 -0
- package/test/core/README.md +17 -0
- package/test/core/dataExchange/config.export.js +56 -0
- package/test/core/dataExchange/config.import.js +47 -0
- package/test/core/dataExchange/config.js +52 -0
- package/test/core/dataExchange/config.parallel.group.js +61 -0
- package/test/core/dataExchange/config.parallel.js +58 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/dummy1.txt +0 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/Limit-Purchase-Order.json +29 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/ServicePurchaseOrder.2Items.json +67 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchaseRequisition_HI.json +31 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/LimitPurchaseOrder.json +29 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderItems.json +58 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderWithScheduline.json +27 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServiceAndMaterialPurchaseOrder.json +65 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder.json +39 -0
- package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder2Items.json +67 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/data.json +5 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/dummy1.txt +0 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/dummy2.txt +0 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/empty.json +0 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/purchaseRequisition.json +31 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/supplierInvoice.json +17 -0
- package/test/core/dataExchange/data/my/folder/data/qs9/webUser.json +6 -0
- package/test/core/dataExchange/data/ui/moreDataFolder/anotherUser.json +6 -0
- package/test/core/dataExchange/data/ui/user.json +6 -0
- package/test/core/dataExchange/data/ui/webUser.json +6 -0
- package/test/core/dataExchange/specs/export.fast.spec.js +48 -0
- package/test/core/dataExchange/specs/export.slow.spec.js +50 -0
- package/test/core/dataExchange/specs/export.spec.js +103 -0
- package/test/core/dataExchange/specs/import.spec.js +144 -0
- package/test/core/dataExchange/specs/importExport.spec.js +196 -0
- package/test/core/dataExchange/utils.js +160 -0
- package/test/core/functional/README.md +30 -0
- package/test/core/functional/chaining/chaining.test.js +137 -0
- package/test/core/functional/chaining/test.conf.js +31 -0
- package/test/core/functional/locators/ancestorProperties.test.js +99 -0
- package/test/core/functional/locators/childProperties.test.js +40 -0
- package/test/core/functional/locators/descendantProperties.test.js +107 -0
- package/test/core/functional/locators/domProperties.test.js +60 -0
- package/test/core/functional/locators/elementProperties.test.js +114 -0
- package/test/core/functional/locators/mixedProperties.test.js +170 -0
- package/test/core/functional/locators/parentProperties.test.js +47 -0
- package/test/core/functional/locators/siblingProperties.test.js +120 -0
- package/test/core/functional/locators/test.locator.conf.js +38 -0
- package/test/core/functional/locators/utils.js +6 -0
- package/test/core/functional/nativeBrowser/runInBrowser.test.js +111 -0
- package/test/core/functional/nativeBrowser/test.conf.js +31 -0
- package/test/core/functional/nonUi5/basic.test.js +10 -0
- package/test/core/functional/nonUi5/getWithDomElement.test.js +51 -0
- package/test/core/functional/nonUi5/getWithDomElements.test.js +141 -0
- package/test/core/functional/nonUi5/test.conf.js +32 -0
- package/test/core/functional/ui5Properties/getAggregations.test.js +102 -0
- package/test/core/functional/ui5Properties/getAssociations.test.js +24 -0
- package/test/core/functional/ui5Properties/getBindingInfos.test.js +71 -0
- package/test/core/functional/ui5Properties/getProperties.test.js +226 -0
- package/test/core/functional/ui5Properties/test.conf.js +16 -0
- package/test/core/functional/uiveri5/sample.test.js +61 -0
- package/test/core/functional/uiveri5/test.conf.js +31 -0
- package/test/core/package-lock.json +0 -0
- package/test/core/package.json +12 -0
- package/test/core/testIntegration/config.js +17 -0
- package/test/core/testIntegration/configMultiCombo.js +17 -0
- package/test/core/testIntegration/configTable.js +18 -0
- package/test/core/testIntegration/filters1.spec.js +1849 -0
- package/test/core/testIntegration/multicombobox.spec.js +134 -0
- package/test/core/testIntegration/table.spec.js +80 -0
- package/test/helper/configurations/base.conf.js +43 -0
- package/test/helper/configurations/chrome.conf.js +47 -0
- package/test/helper/configurations/chrome.headless.conf.js +45 -0
- package/test/helper/configurations/sauce.labs.conf.js +37 -0
- package/test/helper/configurations/sauce.labs.tunnel.conf.js +39 -0
- package/test/helper/sleeper.js +19 -0
- package/test/helper/utils.js +15 -0
- package/test/helper/website/buttons.html +85 -0
- package/test/helper/website/checkBox.html +83 -0
- package/test/helper/website/dragAndDropFailing.html +83 -0
- package/test/helper/website/dragAndDropWdioExample.html +41 -0
- package/test/helper/website/dropdown.html +78 -0
- package/test/helper/website/forms.html +82 -0
- package/test/helper/website/hiddenAndVisible.html +60 -0
- package/test/helper/website/main.css +36 -0
- package/test/helper/website/scrollPage.html +261 -0
- package/test/helper/website/style.css +52 -0
- package/test/helper/website/tables.html +140 -0
- package/test/helper/website/waitForElements.html +73 -0
- package/test/reuse/common/assertion/expectDefined.spec.js +11 -0
- package/test/reuse/common/assertion/expectEqual.spec.js +52 -0
- package/test/reuse/common/assertion/expectFalse.spec.js +9 -0
- package/test/reuse/common/assertion/expectTrue.spec.js +9 -0
- package/test/reuse/common/assertion/expectUndefined.spec.js +11 -0
- package/test/reuse/common/assertion/expectUnequal.spec.js +25 -0
- package/test/reuse/common/assertion/expectUrlToBe.spec.js +27 -0
- package/test/reuse/common/assertion/test.assertion.conf.js +59 -0
- package/test/reuse/common/date/calculate.spec.js +163 -0
- package/test/reuse/common/date/getNextMonth.spec.js +105 -0
- package/test/reuse/common/date/getNextYear.spec.js +72 -0
- package/test/reuse/common/date/getPreviousMonth.spec.js +71 -0
- package/test/reuse/common/date/getPreviousYear.spec.js +72 -0
- package/test/reuse/common/date/getSpecific.spec.js +63 -0
- package/test/reuse/common/date/getToday.spec.js +78 -0
- package/test/reuse/common/date/getTomorrow.spec.js +72 -0
- package/test/reuse/common/date/test.date.conf.js +19 -0
- package/test/reuse/common/date/utils.js +6 -0
- package/test/reuse/common/navigation/navigateToUrl.spec.js +28 -0
- package/test/reuse/common/navigation/navigateToUrlAndRetry.spec.js +27 -0
- package/test/reuse/common/navigation/test.navigation.conf.js +25 -0
- package/test/reuse/common/userInteraction/clearAndFillActive.spec.js +100 -0
- package/test/reuse/common/userInteraction/clearAndFillActiveAndRetry.spec.js +106 -0
- package/test/reuse/common/userInteraction/fillActive.spec.js +230 -0
- package/test/reuse/common/userInteraction/fillActiveAndRetry.spec.js +172 -0
- package/test/reuse/common/userInteraction/pressKey.spec.js +105 -0
- package/test/reuse/common/userInteraction/test.userInteraction.conf.js +53 -0
- package/test/reuse/nonUi5/assertion/expectAttributeToBe.spec.js +45 -0
- package/test/reuse/nonUi5/assertion/expectAttributeToContain.spec.js +43 -0
- package/test/reuse/nonUi5/assertion/expectToBeNotVisible.spec.js +37 -0
- package/test/reuse/nonUi5/assertion/expectToBeVisible.spec.js +63 -0
- package/test/reuse/nonUi5/assertion/expectValueToBe.spec.js +25 -0
- package/test/reuse/nonUi5/assertion/test.assertion.conf.js +60 -0
- package/test/reuse/nonUi5/assertion/test.assertion.sauceLabs.conf.js +64 -0
- package/test/reuse/nonUi5/element/getAllDisplayed.spec.js +39 -0
- package/test/reuse/nonUi5/element/getAttributeValue.spec.js +58 -0
- package/test/reuse/nonUi5/element/getByChild.spec.js +70 -0
- package/test/reuse/nonUi5/element/getByClass.spec.js +64 -0
- package/test/reuse/nonUi5/element/getByCss.spec.js +65 -0
- package/test/reuse/nonUi5/element/getByCssContainingText.spec.js +83 -0
- package/test/reuse/nonUi5/element/getById.spec.js +35 -0
- package/test/reuse/nonUi5/element/getByName.spec.js +30 -0
- package/test/reuse/nonUi5/element/getByParent.spec.js +71 -0
- package/test/reuse/nonUi5/element/getByXPath.spec.js +30 -0
- package/test/reuse/nonUi5/element/getValue.spec.js +51 -0
- package/test/reuse/nonUi5/element/highlight.spec.js +18 -0
- package/test/reuse/nonUi5/element/isPresent.spec.js +39 -0
- package/test/reuse/nonUi5/element/isPresentByCss.spec.js +73 -0
- package/test/reuse/nonUi5/element/isPresentByXPath.spec.js +31 -0
- package/test/reuse/nonUi5/element/setInnerHTML.spec.js +23 -0
- package/test/reuse/nonUi5/element/test.element.conf.js +55 -0
- package/test/reuse/nonUi5/element/test.element.sauceLabs.conf.js +58 -0
- package/test/reuse/nonUi5/element/waitForAll.spec.js +24 -0
- package/test/reuse/nonUi5/element/waitToBeClickable.spec.js +24 -0
- package/test/reuse/nonUi5/element/waitToBePresent.spec.js +32 -0
- package/test/reuse/nonUi5/element/waitToBeVisible.spec.js +36 -0
- package/test/reuse/nonUi5/navigation/navigateToApplication.spec.js +13 -0
- package/test/reuse/nonUi5/navigation/test.navigation.conf.js +14 -0
- package/test/reuse/nonUi5/userInteraction/checkAttributeAndValue.spec.js +135 -0
- package/test/reuse/nonUi5/userInteraction/clear.spec.js +43 -0
- package/test/reuse/nonUi5/userInteraction/clearAndFill.spec.js +51 -0
- package/test/reuse/nonUi5/userInteraction/clearAndFillAndRetry.spec.js +58 -0
- package/test/reuse/nonUi5/userInteraction/clearAndRetry.spec.js +43 -0
- package/test/reuse/nonUi5/userInteraction/click.spec.js +60 -0
- package/test/reuse/nonUi5/userInteraction/clickAndRetry.spec.js +60 -0
- package/test/reuse/nonUi5/userInteraction/clickElementInSvg.spec.js +24 -0
- package/test/reuse/nonUi5/userInteraction/doubleClick.spec.js +22 -0
- package/test/reuse/nonUi5/userInteraction/dragAndDrop.spec.js +40 -0
- package/test/reuse/nonUi5/userInteraction/fill.spec.js +37 -0
- package/test/reuse/nonUi5/userInteraction/fillAndRetry.spec.js +39 -0
- package/test/reuse/nonUi5/userInteraction/mouseOverElement.spec.js +36 -0
- package/test/reuse/nonUi5/userInteraction/moveCursorAndClick.spec.js +24 -0
- package/test/reuse/nonUi5/userInteraction/rightClick.spec.js +13 -0
- package/test/reuse/nonUi5/userInteraction/scrollToElement.spec.js +35 -0
- package/test/reuse/nonUi5/userInteraction/test.userInteraction.conf.js +72 -0
- package/test/reuse/nonUi5/userInteraction/test.userInteraction.sauceLabs.conf.js +78 -0
- package/test/reuse/service/rest/db.json +8 -0
- package/test/reuse/service/rest/delete.spec.js +20 -0
- package/test/reuse/service/rest/get.spec.js +19 -0
- package/test/reuse/service/rest/init.spec.js +35 -0
- package/test/reuse/service/rest/patch.spec.js +29 -0
- package/test/reuse/service/rest/post.spec.js +37 -0
- package/test/reuse/service/rest/test.rest.conf.js +18 -0
- package/test/reuse/ui5/assertion/expectAttributeToBe.spec.js +106 -0
- package/test/reuse/ui5/assertion/expectAttributeToContain.spec.js +78 -0
- package/test/reuse/ui5/assertion/expectBindingContextPathToBe.spec.js +103 -0
- package/test/reuse/ui5/assertion/expectBindingPathToBe.spec.js +164 -0
- package/test/reuse/ui5/assertion/expectMessageToastTextToBe.spec.js +43 -0
- package/test/reuse/ui5/assertion/expectTextToBe.spec.js +39 -0
- package/test/reuse/ui5/assertion/expectToBeEnabled.spec.js +90 -0
- package/test/reuse/ui5/assertion/expectToBeNotEnabled.spec.js +62 -0
- package/test/reuse/ui5/assertion/expectToBeNotVisible.spec.js +52 -0
- package/test/reuse/ui5/assertion/expectToBeVisible.spec.js +69 -0
- package/test/reuse/ui5/assertion/expectToBeVisibleInViewport.spec.js +49 -0
- package/test/reuse/ui5/assertion/expectValidationError.spec.js +54 -0
- package/test/reuse/ui5/assertion/expectValidationSuccess.spec.js +53 -0
- package/test/reuse/ui5/assertion/expectValueToBe.spec.js +57 -0
- package/test/reuse/ui5/assertion/expectValueToBeDefined.spec.js +35 -0
- package/test/reuse/ui5/assertion/test.assertion.conf.js +28 -0
- package/test/reuse/ui5/assertion/test.assertion.sauceLab.conf.js +37 -0
- package/test/reuse/ui5/confirmationDialog/clickCancel.spec.js +88 -0
- package/test/reuse/ui5/confirmationDialog/clickCreate.spec.js +3 -0
- package/test/reuse/ui5/confirmationDialog/clickDelete.spec.js +89 -0
- package/test/reuse/ui5/confirmationDialog/clickNo.spec.js +96 -0
- package/test/reuse/ui5/confirmationDialog/clickOk.spec.js +66 -0
- package/test/reuse/ui5/confirmationDialog/clickRevokeApproval.spec.js +3 -0
- package/test/reuse/ui5/confirmationDialog/clickYes.spec.js +70 -0
- package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.conf.js +20 -0
- package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.sauceLab.conf.js +29 -0
- package/test/reuse/ui5/control/execute.spec.js +29 -0
- package/test/reuse/ui5/control/getAggregationProperty.spec.js +29 -0
- package/test/reuse/ui5/control/getAssociationProperty.spec.js +1 -0
- package/test/reuse/ui5/control/getBindingContextPathProperty.spec.js +30 -0
- package/test/reuse/ui5/control/getProperty.spec.js +30 -0
- package/test/reuse/ui5/control/getPropertyBinding.spec.js +30 -0
- package/test/reuse/ui5/control/test.control.conf.js +19 -0
- package/test/reuse/ui5/control/test.control.sauceLab.conf.js +30 -0
- package/test/reuse/ui5/date/fillRange.spec.js +53 -0
- package/test/reuse/ui5/date/pick.spec.js +136 -0
- package/test/reuse/ui5/date/pickRange.spec.js +143 -0
- package/test/reuse/ui5/date/test.date.conf.js +14 -0
- package/test/reuse/ui5/date/test.date.sauceLab.conf.js +26 -0
- package/test/reuse/ui5/element/getAllDisplayed.spec.js +71 -0
- package/test/reuse/ui5/element/getBindingValue.spec.js +78 -0
- package/test/reuse/ui5/element/getByChild.spec.js +124 -0
- package/test/reuse/ui5/element/getByParent.spec.js +134 -0
- package/test/reuse/ui5/element/getByText.spec.js +67 -0
- package/test/reuse/ui5/element/getDisplayed.spec.js +82 -0
- package/test/reuse/ui5/element/getId.spec.js +72 -0
- package/test/reuse/ui5/element/getPropertyValue.spec.js +91 -0
- package/test/reuse/ui5/element/highlight.spec.js +46 -0
- package/test/reuse/ui5/element/isVisible.spec.js +68 -0
- package/test/reuse/ui5/element/test.element.conf.js +22 -0
- package/test/reuse/ui5/element/test.element.sauceLab.conf.js +33 -0
- package/test/reuse/ui5/errorDialog/clickClose.spec.js +31 -0
- package/test/reuse/ui5/errorDialog/expectToBeVisible.spec.js +30 -0
- package/test/reuse/ui5/errorDialog/test.errorDialog.conf.js +13 -0
- package/test/reuse/ui5/errorDialog/test.errorDialog.sauceLab.conf.js +26 -0
- package/test/reuse/ui5/formatter/addRemoveLeadingZeros.spec.js +18 -0
- package/test/reuse/ui5/formatter/extractNumberFromString.spec.js +34 -0
- package/test/reuse/ui5/formatter/formatDate.spec.js +103 -0
- package/test/reuse/ui5/formatter/test.formatter.conf.js +14 -0
- package/test/reuse/ui5/formatter/test.formatter.sauceLab.conf.js +24 -0
- package/test/reuse/ui5/mockserver_qunit/Component.js +23 -0
- package/test/reuse/ui5/mockserver_qunit/LICENSE.txt +957 -0
- package/test/reuse/ui5/mockserver_qunit/NOTICE.txt +1 -0
- package/test/reuse/ui5/mockserver_qunit/controller/App.controller.js +37 -0
- package/test/reuse/ui5/mockserver_qunit/controller/BaseController.js +30 -0
- package/test/reuse/ui5/mockserver_qunit/controller/Home.controller.js +27 -0
- package/test/reuse/ui5/mockserver_qunit/controller/NotFound.controller.js +34 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/Employee.controller.js +64 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/EmployeeList.controller.js +22 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/Resume.controller.js +83 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverview.controller.js +11 -0
- package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverviewContent.controller.js +192 -0
- package/test/reuse/ui5/mockserver_qunit/i18n/i18n.properties +42 -0
- package/test/reuse/ui5/mockserver_qunit/index.html +21 -0
- package/test/reuse/ui5/mockserver_qunit/initMockServer.js +16 -0
- package/test/reuse/ui5/mockserver_qunit/localService/metadata.xml +61 -0
- package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Employees.json +155 -0
- package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Resumes.json +65 -0
- package/test/reuse/ui5/mockserver_qunit/localService/mockserver.js +146 -0
- package/test/reuse/ui5/mockserver_qunit/localService/mockserverLoadAllData.js +75 -0
- package/test/reuse/ui5/mockserver_qunit/manifest.json +169 -0
- package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServer.html +63 -0
- package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServerAllData.html +68 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/config.js +92 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/qunitExecution/specs/runQUnitTests.spec.js +14 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/data/setup.json +11 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/specs/testDisplayNotFound.spec.js +71 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Employees.json +204 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Resumes.json +114 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/setup.json +11 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/testShowEmployeeList.json +1 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/specs/testShowEmployeeList.spec.js +118 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/constants.js +25 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockDataMapper.js +23 -0
- package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockHelper.js +222 -0
- package/test/reuse/ui5/mockserver_qunit/test/unit/allTests.js +6 -0
- package/test/reuse/ui5/mockserver_qunit/test/unit/unitTests.qunit.html +38 -0
- package/test/reuse/ui5/mockserver_qunit/test/unit/utils/Conversions.js +13 -0
- package/test/reuse/ui5/mockserver_qunit/view/App.view.xml +9 -0
- package/test/reuse/ui5/mockserver_qunit/view/Home.view.xml +12 -0
- package/test/reuse/ui5/mockserver_qunit/view/NotFound.view.xml +11 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/Employee.view.xml +52 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/EmployeeList.view.xml +24 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/Resume.view.xml +35 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeHobbies.view.xml +3 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeNotes.view.xml +3 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeProjects.view.xml +3 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverview.view.xml +13 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverviewContent.view.xml +43 -0
- package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverviewTop.view.xml +3 -0
- package/test/reuse/ui5/navigation/closePopups.spec.js +16 -0
- package/test/reuse/ui5/navigation/expectUnsupportedNavigationPopup.spec.js +81 -0
- package/test/reuse/ui5/navigation/navigateToApplication.spec.js +148 -0
- package/test/reuse/ui5/navigation/navigateToApplicationAndRetry.spec.js +153 -0
- package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParams.spec.js +63 -0
- package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParamsAndRetry.spec.js +64 -0
- package/test/reuse/ui5/navigation/navigateToSystemAndApplication.spec.js +45 -0
- package/test/reuse/ui5/navigation/navigateToSystemAndApplicationAndRetry.spec.js +43 -0
- package/test/reuse/ui5/navigation/test.navigation.conf.js +17 -0
- package/test/reuse/ui5/navigation/test.navigation.sauceLab.conf.js +33 -0
- package/test/reuse/ui5/navigation/test.navigation.static.conf.js +34 -0
- package/test/reuse/ui5/navigation/test.navigation.static.sauceLab.conf.js +41 -0
- package/test/reuse/ui5/navigation/website/main.css +36 -0
- package/test/reuse/ui5/navigation/website/main.html +50 -0
- package/test/reuse/ui5/navigationBar/clickBack.spec.js +38 -0
- package/test/reuse/ui5/navigationBar/clickUserIcon.spec.js +36 -0
- package/test/reuse/ui5/navigationBar/expectPageTitle.spec.js +22 -0
- package/test/reuse/ui5/navigationBar/expectShellHeader.spec.js +22 -0
- package/test/reuse/ui5/navigationBar/test.navigationBar.conf.js +17 -0
- package/test/reuse/ui5/navigationBar/test.navigationBar.sauceLab.conf.js +28 -0
- package/test/reuse/ui5/session/login.spec.js +78 -0
- package/test/reuse/ui5/session/loginFiori.spec.js +52 -0
- package/test/reuse/ui5/session/loginSapCloud.spec.js +51 -0
- package/test/reuse/ui5/session/logout.spec.js +48 -0
- package/test/reuse/ui5/session/switchUser.spec.js +48 -0
- package/test/reuse/ui5/session/test.session.conf.js +20 -0
- package/test/reuse/ui5/session/test.session.sauceLab.conf.js +29 -0
- package/test/reuse/ui5/table/clickSettingsButton.spec.js +58 -0
- package/test/reuse/ui5/table/sortColumnAscending.spec.js +84 -0
- package/test/reuse/ui5/table/sortColumnDescending.spec.js +84 -0
- package/test/reuse/ui5/table/test.table.conf.js +14 -0
- package/test/reuse/ui5/table/test.table.sauceLab.conf.js +25 -0
- package/test/reuse/ui5/table/test.table.sauceLab.tunnel.conf.js +25 -0
- package/test/reuse/ui5/userInteraction/clear.spec.js +75 -0
- package/test/reuse/ui5/userInteraction/clearAndFill.spec.js +157 -0
- package/test/reuse/ui5/userInteraction/clearAndFillAndRetry.spec.js +132 -0
- package/test/reuse/ui5/userInteraction/clearAndFillSmartFieldInput.spec.js +73 -0
- package/test/reuse/ui5/userInteraction/clearAndRetry.spec.js +57 -0
- package/test/reuse/ui5/userInteraction/click.spec.js +73 -0
- package/test/reuse/ui5/userInteraction/clickAndRetry.spec.js +52 -0
- package/test/reuse/ui5/userInteraction/clickSelectArrow.spec.js +87 -0
- package/test/reuse/ui5/userInteraction/clickSelectArrowAndRetry.spec.js +147 -0
- package/test/reuse/ui5/userInteraction/clickTab.spec.js +59 -0
- package/test/reuse/ui5/userInteraction/doubleClick.spec.js +73 -0
- package/test/reuse/ui5/userInteraction/dragAndDrop.spec.js +34 -0
- package/test/reuse/ui5/userInteraction/fill.spec.js +114 -0
- package/test/reuse/ui5/userInteraction/fillAndRetry.spec.js +120 -0
- package/test/reuse/ui5/userInteraction/mouseOverElement.spec.js +55 -0
- package/test/reuse/ui5/userInteraction/openF4Help.spec.js +56 -0
- package/test/reuse/ui5/userInteraction/rightClick.spec.js +72 -0
- package/test/reuse/ui5/userInteraction/scrollToElement.spec.js +89 -0
- package/test/reuse/ui5/userInteraction/searchFor.spec.js +155 -0
- package/test/reuse/ui5/userInteraction/selectBox.spec.js +128 -0
- package/test/reuse/ui5/userInteraction/selectCombobox.spec.js +115 -0
- package/test/reuse/ui5/userInteraction/selectMultiComboBox.spec.js +155 -0
- package/test/reuse/ui5/userInteraction/test.userInteraction.conf.js +35 -0
- package/test/reuse/ui5/userInteraction/test.userInteraction.sauceLab.conf.js +46 -0
- package/test/reuse/util/browser/back.spec.js +32 -0
- package/test/reuse/util/browser/clearBrowser.spec.js +35 -0
- package/test/reuse/util/browser/executeScript.spec.js +49 -0
- package/test/reuse/util/browser/getBaseUrl.spec.js +13 -0
- package/test/reuse/util/browser/getBrowserName.spec.js +18 -0
- package/test/reuse/util/browser/getCurrentUrl.spec.js +34 -0
- package/test/reuse/util/browser/getCurrentWindow.spec.js +42 -0
- package/test/reuse/util/browser/getUI5Version.spec.js +31 -0
- package/test/reuse/util/browser/logCurrentUrl.spec.js +23 -0
- package/test/reuse/util/browser/refresh.spec.js +52 -0
- package/test/reuse/util/browser/setBaseUrl.spec.js +13 -0
- package/test/reuse/util/browser/switchToDefaultContent.spec.js +34 -0
- package/test/reuse/util/browser/switchToIframe.spec.js +29 -0
- package/test/reuse/util/browser/switchToNewWindow.spec.js +142 -0
- package/test/reuse/util/browser/switchToWindow.spec.js +57 -0
- package/test/reuse/util/browser/test.browser.conf.js +27 -0
- package/test/reuse/util/data/data/test.json +3 -0
- package/test/reuse/util/data/data/test.secure.json +11 -0
- package/test/reuse/util/data/decrypt.spec.js +15 -0
- package/test/reuse/util/data/getData.spec.js +15 -0
- package/test/reuse/util/data/getSecureData.spec.js +57 -0
- package/test/reuse/util/data/test.data.conf.js +22 -0
- package/test/reuse/util/file/file.spec.js +90 -0
- package/test/reuse/util/file/pdfParser.spec.js +55 -0
- package/test/reuse/util/file/test.file.conf.js +15 -0
- package/test/reuse/util/file/testFiles/sample.pdf +198 -0
- package/test/reuse/util/file/testFiles/test.txt +5 -0
- package/test/reuse/util/file/testFiles/test2.txt +2 -0
- package/test/reuse/util/formatter/addRemoveLeadingZeros.spec.js +38 -0
- package/test/reuse/util/formatter/extractNumberFromString.spec.js +67 -0
- package/test/reuse/util/formatter/formatDate.spec.js +150 -0
- package/test/reuse/util/formatter/sliceStringAfter.spec.js +62 -0
- package/test/reuse/util/formatter/sliceStringAt.spec.js +62 -0
- package/test/reuse/util/formatter/stringifyJSON.spec.js +24 -0
- package/test/reuse/util/formatter/test.formatter.conf.js +20 -0
- package/test/reuse/util/formatter/trimString.spec.js +37 -0
- package/tsconfig.json +26 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Service = void 0;
|
|
7
|
+
const odata_1 = __importDefault(require("./odata"));
|
|
8
|
+
const rest_1 = __importDefault(require("./rest"));
|
|
9
|
+
class Service {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.odata = odata_1.default;
|
|
12
|
+
this.rest = rest_1.default;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.Service = Service;
|
|
16
|
+
exports.default = new Service();
|
|
17
|
+
//# sourceMappingURL=Service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Service.js","sourceRoot":"","sources":["../../../../src/reuse/modules/service/Service.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsC;AACtC,kDAAoC;AAEpC,MAAa,OAAO;IAApB;QACI,UAAK,GAAU,eAAK,CAAC;QACrB,SAAI,GAAS,cAAI,CAAC;IACtB,CAAC;CAAA;AAHD,0BAGC;AAED,kBAAe,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @class odata
|
|
3
|
+
* @memberof service
|
|
4
|
+
*/
|
|
5
|
+
export declare class OData {
|
|
6
|
+
readonly utilModule: any;
|
|
7
|
+
readonly urlLib: any;
|
|
8
|
+
readonly curl: any;
|
|
9
|
+
Service: any;
|
|
10
|
+
constructor();
|
|
11
|
+
/**
|
|
12
|
+
* @function init
|
|
13
|
+
* @memberOf service.odata
|
|
14
|
+
* @description Initializes The service to work with.
|
|
15
|
+
* XCSRF-Token will be automatically fetched and stored in the service instance.
|
|
16
|
+
* Cookies will also automatically assembled and stored in the service instance.
|
|
17
|
+
* @param {url} url - The base url of the service
|
|
18
|
+
* @param {username} username - The username.
|
|
19
|
+
* @param {password} password - The password of the username.
|
|
20
|
+
* @param {boolean} [loggingEnabled=false] - The boolean param to control whether user wants to see logs during build run
|
|
21
|
+
* @param {Object} [params={}] - JSON object with key-value pairs of parameter names and corresponding values
|
|
22
|
+
* by default we send {
|
|
23
|
+
* "client": "715",
|
|
24
|
+
* "documentation": ["heading", "quickinfo"],
|
|
25
|
+
* "language": "EN"
|
|
26
|
+
* }
|
|
27
|
+
* These can be overridden by sending params as JSON object with additional params as shown in example
|
|
28
|
+
* @returns {Object} The initialized service object.
|
|
29
|
+
* @example const url = "https://hbr-715.wdf.sap.corp/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV/";
|
|
30
|
+
* const params = {
|
|
31
|
+
* "saml2": "disabled",
|
|
32
|
+
* "language": "de"
|
|
33
|
+
* }
|
|
34
|
+
* srv = await service.odata.init(url, user, password, false, params);
|
|
35
|
+
*/
|
|
36
|
+
init(url: string, username: string, password: string, loggingEnabled?: boolean, params?: {}): Promise<any>;
|
|
37
|
+
/**
|
|
38
|
+
* @function get
|
|
39
|
+
* @memberOf service.odata
|
|
40
|
+
* @description makes a GET request.
|
|
41
|
+
* @param {service} service - Instance of the service
|
|
42
|
+
* @param {entitySet} entitySet - The entitySet you want to GET from.
|
|
43
|
+
* @param {keys} keys - The required keys for the GET-request.
|
|
44
|
+
* @example const url = "https://qs9-715.wdf.sap.corp/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV/";
|
|
45
|
+
* srv = await service.odata.init(url, user, password);
|
|
46
|
+
*/
|
|
47
|
+
get(srv: any, entitySet: any, options: any): Promise<any>;
|
|
48
|
+
/**
|
|
49
|
+
* @function getEntitySet
|
|
50
|
+
* @memberOf service.odata
|
|
51
|
+
* @description GET's the EntitySet collection.
|
|
52
|
+
* @param {service} service - Instance of the service
|
|
53
|
+
* @param {entitySet} entitySet - The entitySet you want to GET from.
|
|
54
|
+
* @param {String} [filterString] - The filters to be applied on get query
|
|
55
|
+
* @param {String} [selectionFields] - comma separated list of fields to be selected
|
|
56
|
+
* @param {Object} [queryParams] - JSON object of key value pairs of custom query parameters.
|
|
57
|
+
* @returns {Array} - Result set array
|
|
58
|
+
* @example const url = "https://qs9-715.wdf.sap.corp/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV/";
|
|
59
|
+
* srv = await service.odata.init(url, user, password);
|
|
60
|
+
*
|
|
61
|
+
* let filterString = "Status eq '01'";
|
|
62
|
+
* let res = await service.odata.getEntitySet(service, "A_PurchaseOrder", filterString);
|
|
63
|
+
*
|
|
64
|
+
* let select = "CentralPurchaseContract,PurchasingProcessingStatus" ;
|
|
65
|
+
* let res = await service.odata.getEntitySet(service, "A_PurchaseOrder", filterString, select);
|
|
66
|
+
*
|
|
67
|
+
* let queryParams = {
|
|
68
|
+
* "$top" : 5,
|
|
69
|
+
* "$skip" : 10,
|
|
70
|
+
* };
|
|
71
|
+
* let res = await service.odata.getEntitySet(service, "A_PurchaseOrder", filterString, select, queryParams);
|
|
72
|
+
*/
|
|
73
|
+
getEntitySet(srv: any, entitySet: any, filterString?: string, selectionFields?: string, queryParams?: any): Promise<any>;
|
|
74
|
+
/**
|
|
75
|
+
* @function isFeatureToggleActivated
|
|
76
|
+
* @memberOf service.odata
|
|
77
|
+
* @description checks if a feature toggle is switched on or off
|
|
78
|
+
* @param {service} service - Instance of the service
|
|
79
|
+
* @param {featureName} featureName - The name of the feature you want know the status of.
|
|
80
|
+
* @example const url = browser.params.systemUrl + "/sap/opu/odata/SAP/CA_FM_FEATURE_TOGGLE_STATUS_SRV/";
|
|
81
|
+
* service = await service.odata.init(url, user, password);
|
|
82
|
+
* let isFeatureActive = await service.odata.isFeatureToggleActivated(service, "MM_PUR_PO_BATCHES_IN_MANAGE_PO");
|
|
83
|
+
*/
|
|
84
|
+
isFeatureToggleActivated(srv: any, featureName: string): Promise<boolean>;
|
|
85
|
+
/**
|
|
86
|
+
* @function post
|
|
87
|
+
|
|
88
|
+
* @memberOf service.odata
|
|
89
|
+
* @description makes a POST request.
|
|
90
|
+
* @param {service} service - Instance of the service
|
|
91
|
+
* @param {entitySet} entitySet - The entitySet you want to POST against.
|
|
92
|
+
* @param {payload} payload - The payload for the POST-request.
|
|
93
|
+
* @example let keys = {
|
|
94
|
+
* "PurchaseOrder": "4500007108",
|
|
95
|
+
* "DraftUUID": "00000000-0000-0000-0000-000000000000",
|
|
96
|
+
* "IsActiveEntity": "true"
|
|
97
|
+
* };
|
|
98
|
+
* let res = await service.odata.get(service, "A_PurchaseOrder", keys);
|
|
99
|
+
*/
|
|
100
|
+
post(srv: any, entitySet: any, payload: any): Promise<any>;
|
|
101
|
+
/**
|
|
102
|
+
* @function merge
|
|
103
|
+
* @memberOf service.odata
|
|
104
|
+
* @description makes a MERGE request.
|
|
105
|
+
* @param {service} service - Instance of the service
|
|
106
|
+
* @param {entitySet} entitySet - The entitySet you want to MERGE in.
|
|
107
|
+
* @param {payload} payload - The payload for the MERGE-request.
|
|
108
|
+
* @example let res = await service.odata.merge(service, "A_PurchaseOrderScheduleLine", {
|
|
109
|
+
* "PurchasingDocument": "4500007108",
|
|
110
|
+
* "PurchasingDocumentItem": "10",
|
|
111
|
+
* "ScheduleLine": "1",
|
|
112
|
+
* "ScheduleLineDeliveryDate": new Date()
|
|
113
|
+
* };
|
|
114
|
+
* let res = await service.odata.get(service, "A_PurchaseOrder", keys);
|
|
115
|
+
*/
|
|
116
|
+
merge(srv: any, entitySet: any, payload: any): Promise<any>;
|
|
117
|
+
/**
|
|
118
|
+
* @function delete
|
|
119
|
+
* @memberOf service.odata
|
|
120
|
+
* @description makes a DELETE request.
|
|
121
|
+
* @param {service} service - Instance of the service
|
|
122
|
+
* @param {entitySet} entitySet - The entitySet you want to DELETE.
|
|
123
|
+
* @param {options} options - The options for the DELETE-request.
|
|
124
|
+
* @example let options = {
|
|
125
|
+
"PurchaseOrder": "",
|
|
126
|
+
"DraftUUID": draftUUID,
|
|
127
|
+
"IsActiveEntity": false
|
|
128
|
+
};
|
|
129
|
+
await service.odata.delete(service, "C_PurchaseOrderTP", options);
|
|
130
|
+
*/
|
|
131
|
+
delete(srv: any, entitySet: any, options: any): Promise<any>;
|
|
132
|
+
/**
|
|
133
|
+
* @function callFunctionImport
|
|
134
|
+
* @memberOf service.odata
|
|
135
|
+
* @description makes a function import request on an OData service.
|
|
136
|
+
* @param {service} service - Instance of the service
|
|
137
|
+
* @param {entitySet} functionImportName - Name of Function Import
|
|
138
|
+
* @param {options} options - parameters for function import
|
|
139
|
+
* @example const options = {
|
|
140
|
+
CentralRequestForQuotation : "7500000026",
|
|
141
|
+
Supplier : "100006"
|
|
142
|
+
};
|
|
143
|
+
const res = await service.odata.callFunctionImport(service, functionImportName, options);
|
|
144
|
+
*/
|
|
145
|
+
callFunctionImport(srv: any, functionImportName: any, options: any): Promise<any>;
|
|
146
|
+
/**
|
|
147
|
+
* @function getOutputManagementPdfStream
|
|
148
|
+
* @memberOf service.odata
|
|
149
|
+
* @description returns a stream of output management pdf file.
|
|
150
|
+
* @param {outputConf} outputConf - Configuration for the output management pdf.
|
|
151
|
+
* @param {url} url - system url
|
|
152
|
+
* @param {username} - username for login
|
|
153
|
+
* @param {password} - password for login
|
|
154
|
+
* @example const outputConf = {
|
|
155
|
+
ApplObjectType: "REQUEST_FOR_QUOTATION",
|
|
156
|
+
ApplObjectId: "7000002653",
|
|
157
|
+
ItemId: "1"
|
|
158
|
+
};
|
|
159
|
+
const pdfStream = await service.odata.getOutputManagementPdfStream(outputConf, url, user, password);
|
|
160
|
+
|
|
161
|
+
*/
|
|
162
|
+
getOutputManagementPdfStream(outputConf: any, url: string, username: string, password: string): Promise<any>;
|
|
163
|
+
/**
|
|
164
|
+
* @function readPdfFromDirectUrl
|
|
165
|
+
* @memberOf service.odata
|
|
166
|
+
* @description returns a stream of pdf file which is part of attachment.
|
|
167
|
+
* @param {url} url - system url
|
|
168
|
+
* @param {username} - [OPTIONAL] username for login
|
|
169
|
+
* @param {password} - [OPTIONAL] password for login
|
|
170
|
+
* @example const url = "https://domain.com/getPdfFile";
|
|
171
|
+
const pdfStream = await service.odata.readPdfFromDirectUrl(url, "username", "Password");
|
|
172
|
+
*/
|
|
173
|
+
readPdfFromDirectUrl(url: string, username: string, password: string, isSaml?: boolean): Promise<unknown>;
|
|
174
|
+
_doRequest(url: string, username: string, password: string, isSaml: boolean): Promise<unknown>;
|
|
175
|
+
}
|
|
176
|
+
declare const _default: OData;
|
|
177
|
+
export default _default;
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.OData = void 0;
|
|
13
|
+
/**
|
|
14
|
+
* @class odata
|
|
15
|
+
* @memberof service
|
|
16
|
+
*/
|
|
17
|
+
class OData {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.utilModule = require("util");
|
|
20
|
+
this.urlLib = require("url").URL;
|
|
21
|
+
this.curl = require("curl");
|
|
22
|
+
try {
|
|
23
|
+
this.Service = require("@sap_oss/odata-library/lib/Service.js");
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
util.console.error("OData test client Service issue: Probably @sap_oss/odata-library was not installed as a npm module.");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @function init
|
|
31
|
+
* @memberOf service.odata
|
|
32
|
+
* @description Initializes The service to work with.
|
|
33
|
+
* XCSRF-Token will be automatically fetched and stored in the service instance.
|
|
34
|
+
* Cookies will also automatically assembled and stored in the service instance.
|
|
35
|
+
* @param {url} url - The base url of the service
|
|
36
|
+
* @param {username} username - The username.
|
|
37
|
+
* @param {password} password - The password of the username.
|
|
38
|
+
* @param {boolean} [loggingEnabled=false] - The boolean param to control whether user wants to see logs during build run
|
|
39
|
+
* @param {Object} [params={}] - JSON object with key-value pairs of parameter names and corresponding values
|
|
40
|
+
* by default we send {
|
|
41
|
+
* "client": "715",
|
|
42
|
+
* "documentation": ["heading", "quickinfo"],
|
|
43
|
+
* "language": "EN"
|
|
44
|
+
* }
|
|
45
|
+
* These can be overridden by sending params as JSON object with additional params as shown in example
|
|
46
|
+
* @returns {Object} The initialized service object.
|
|
47
|
+
* @example const url = "https://hbr-715.wdf.sap.corp/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV/";
|
|
48
|
+
* const params = {
|
|
49
|
+
* "saml2": "disabled",
|
|
50
|
+
* "language": "de"
|
|
51
|
+
* }
|
|
52
|
+
* srv = await service.odata.init(url, user, password, false, params);
|
|
53
|
+
*/
|
|
54
|
+
init(url, username, password, loggingEnabled = false, params = {}) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
const logger = {
|
|
57
|
+
"trace": () => { },
|
|
58
|
+
"debug": console.debug,
|
|
59
|
+
"info": console.info,
|
|
60
|
+
"warn": console.warn,
|
|
61
|
+
"error": console.error
|
|
62
|
+
};
|
|
63
|
+
const parameters = {
|
|
64
|
+
"client": "715",
|
|
65
|
+
"documentation": ["heading", "quickinfo"],
|
|
66
|
+
"language": "EN"
|
|
67
|
+
};
|
|
68
|
+
if (params) {
|
|
69
|
+
// @ts-ignore
|
|
70
|
+
Object.keys(params).forEach((key) => parameters[key] = params[key]);
|
|
71
|
+
}
|
|
72
|
+
const srv = new this.Service({
|
|
73
|
+
"logger": loggingEnabled ? logger : "",
|
|
74
|
+
"url": url,
|
|
75
|
+
"auth": {
|
|
76
|
+
"username": username,
|
|
77
|
+
"password": password
|
|
78
|
+
},
|
|
79
|
+
"parameters": parameters,
|
|
80
|
+
"strict": false // ignore non critical errors, e.g. orphaned annotations
|
|
81
|
+
});
|
|
82
|
+
yield srv.init;
|
|
83
|
+
return srv;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
;
|
|
87
|
+
/**
|
|
88
|
+
* @function get
|
|
89
|
+
* @memberOf service.odata
|
|
90
|
+
* @description makes a GET request.
|
|
91
|
+
* @param {service} service - Instance of the service
|
|
92
|
+
* @param {entitySet} entitySet - The entitySet you want to GET from.
|
|
93
|
+
* @param {keys} keys - The required keys for the GET-request.
|
|
94
|
+
* @example const url = "https://qs9-715.wdf.sap.corp/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV/";
|
|
95
|
+
* srv = await service.odata.init(url, user, password);
|
|
96
|
+
*/
|
|
97
|
+
get(srv, entitySet, options) {
|
|
98
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
return srv[entitySet].get(options);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
;
|
|
103
|
+
/**
|
|
104
|
+
* @function getEntitySet
|
|
105
|
+
* @memberOf service.odata
|
|
106
|
+
* @description GET's the EntitySet collection.
|
|
107
|
+
* @param {service} service - Instance of the service
|
|
108
|
+
* @param {entitySet} entitySet - The entitySet you want to GET from.
|
|
109
|
+
* @param {String} [filterString] - The filters to be applied on get query
|
|
110
|
+
* @param {String} [selectionFields] - comma separated list of fields to be selected
|
|
111
|
+
* @param {Object} [queryParams] - JSON object of key value pairs of custom query parameters.
|
|
112
|
+
* @returns {Array} - Result set array
|
|
113
|
+
* @example const url = "https://qs9-715.wdf.sap.corp/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV/";
|
|
114
|
+
* srv = await service.odata.init(url, user, password);
|
|
115
|
+
*
|
|
116
|
+
* let filterString = "Status eq '01'";
|
|
117
|
+
* let res = await service.odata.getEntitySet(service, "A_PurchaseOrder", filterString);
|
|
118
|
+
*
|
|
119
|
+
* let select = "CentralPurchaseContract,PurchasingProcessingStatus" ;
|
|
120
|
+
* let res = await service.odata.getEntitySet(service, "A_PurchaseOrder", filterString, select);
|
|
121
|
+
*
|
|
122
|
+
* let queryParams = {
|
|
123
|
+
* "$top" : 5,
|
|
124
|
+
* "$skip" : 10,
|
|
125
|
+
* };
|
|
126
|
+
* let res = await service.odata.getEntitySet(service, "A_PurchaseOrder", filterString, select, queryParams);
|
|
127
|
+
*/
|
|
128
|
+
getEntitySet(srv, entitySet, filterString = "", selectionFields = "", queryParams = {}) {
|
|
129
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
+
if (!srv) {
|
|
131
|
+
throw new Error("Service is not defined. Please make sure to initialize and pass the service.");
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
let entity = srv[entitySet];
|
|
135
|
+
if (filterString) {
|
|
136
|
+
entity = entity.filter(filterString);
|
|
137
|
+
}
|
|
138
|
+
if (selectionFields) {
|
|
139
|
+
entity = entity.select(selectionFields.split(","));
|
|
140
|
+
}
|
|
141
|
+
if (queryParams) {
|
|
142
|
+
Object.keys(queryParams).forEach((key) => {
|
|
143
|
+
entity = entity.queryParameter(key, queryParams[key]);
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
const res = entity.get();
|
|
147
|
+
return res;
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
;
|
|
152
|
+
/**
|
|
153
|
+
* @function isFeatureToggleActivated
|
|
154
|
+
* @memberOf service.odata
|
|
155
|
+
* @description checks if a feature toggle is switched on or off
|
|
156
|
+
* @param {service} service - Instance of the service
|
|
157
|
+
* @param {featureName} featureName - The name of the feature you want know the status of.
|
|
158
|
+
* @example const url = browser.params.systemUrl + "/sap/opu/odata/SAP/CA_FM_FEATURE_TOGGLE_STATUS_SRV/";
|
|
159
|
+
* service = await service.odata.init(url, user, password);
|
|
160
|
+
* let isFeatureActive = await service.odata.isFeatureToggleActivated(service, "MM_PUR_PO_BATCHES_IN_MANAGE_PO");
|
|
161
|
+
*/
|
|
162
|
+
isFeatureToggleActivated(srv, featureName) {
|
|
163
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
164
|
+
const res = yield this.getEntitySet(srv, "ToggleStatusSet");
|
|
165
|
+
for (const featureEntity of Object.values(res)) {
|
|
166
|
+
// @ts-ignore
|
|
167
|
+
if (featureEntity.Featureid === featureName) {
|
|
168
|
+
//feature toggle is disabled if found
|
|
169
|
+
util.console.info(`Feature Toggle "${featureName}" is disabled.`);
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
//feature toggle is enabled if NOT found
|
|
174
|
+
util.console.info(`Feature Toggle "${featureName}" is enabled.`);
|
|
175
|
+
return true;
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
;
|
|
179
|
+
/**
|
|
180
|
+
* @function post
|
|
181
|
+
|
|
182
|
+
* @memberOf service.odata
|
|
183
|
+
* @description makes a POST request.
|
|
184
|
+
* @param {service} service - Instance of the service
|
|
185
|
+
* @param {entitySet} entitySet - The entitySet you want to POST against.
|
|
186
|
+
* @param {payload} payload - The payload for the POST-request.
|
|
187
|
+
* @example let keys = {
|
|
188
|
+
* "PurchaseOrder": "4500007108",
|
|
189
|
+
* "DraftUUID": "00000000-0000-0000-0000-000000000000",
|
|
190
|
+
* "IsActiveEntity": "true"
|
|
191
|
+
* };
|
|
192
|
+
* let res = await service.odata.get(service, "A_PurchaseOrder", keys);
|
|
193
|
+
*/
|
|
194
|
+
post(srv, entitySet, payload) {
|
|
195
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
196
|
+
return srv[entitySet].post(payload);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
;
|
|
200
|
+
/**
|
|
201
|
+
* @function merge
|
|
202
|
+
* @memberOf service.odata
|
|
203
|
+
* @description makes a MERGE request.
|
|
204
|
+
* @param {service} service - Instance of the service
|
|
205
|
+
* @param {entitySet} entitySet - The entitySet you want to MERGE in.
|
|
206
|
+
* @param {payload} payload - The payload for the MERGE-request.
|
|
207
|
+
* @example let res = await service.odata.merge(service, "A_PurchaseOrderScheduleLine", {
|
|
208
|
+
* "PurchasingDocument": "4500007108",
|
|
209
|
+
* "PurchasingDocumentItem": "10",
|
|
210
|
+
* "ScheduleLine": "1",
|
|
211
|
+
* "ScheduleLineDeliveryDate": new Date()
|
|
212
|
+
* };
|
|
213
|
+
* let res = await service.odata.get(service, "A_PurchaseOrder", keys);
|
|
214
|
+
*/
|
|
215
|
+
merge(srv, entitySet, payload) {
|
|
216
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
217
|
+
const res = yield srv[entitySet].merge(payload);
|
|
218
|
+
return res;
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
;
|
|
222
|
+
/**
|
|
223
|
+
* @function delete
|
|
224
|
+
* @memberOf service.odata
|
|
225
|
+
* @description makes a DELETE request.
|
|
226
|
+
* @param {service} service - Instance of the service
|
|
227
|
+
* @param {entitySet} entitySet - The entitySet you want to DELETE.
|
|
228
|
+
* @param {options} options - The options for the DELETE-request.
|
|
229
|
+
* @example let options = {
|
|
230
|
+
"PurchaseOrder": "",
|
|
231
|
+
"DraftUUID": draftUUID,
|
|
232
|
+
"IsActiveEntity": false
|
|
233
|
+
};
|
|
234
|
+
await service.odata.delete(service, "C_PurchaseOrderTP", options);
|
|
235
|
+
*/
|
|
236
|
+
delete(srv, entitySet, options) {
|
|
237
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
238
|
+
const res = yield srv[entitySet].delete(options);
|
|
239
|
+
return res;
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
;
|
|
243
|
+
/**
|
|
244
|
+
* @function callFunctionImport
|
|
245
|
+
* @memberOf service.odata
|
|
246
|
+
* @description makes a function import request on an OData service.
|
|
247
|
+
* @param {service} service - Instance of the service
|
|
248
|
+
* @param {entitySet} functionImportName - Name of Function Import
|
|
249
|
+
* @param {options} options - parameters for function import
|
|
250
|
+
* @example const options = {
|
|
251
|
+
CentralRequestForQuotation : "7500000026",
|
|
252
|
+
Supplier : "100006"
|
|
253
|
+
};
|
|
254
|
+
const res = await service.odata.callFunctionImport(service, functionImportName, options);
|
|
255
|
+
*/
|
|
256
|
+
callFunctionImport(srv, functionImportName, options) {
|
|
257
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
258
|
+
const functionImport = srv.functionImports[functionImportName];
|
|
259
|
+
const res = yield functionImport.call(options);
|
|
260
|
+
return res;
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
;
|
|
264
|
+
/**
|
|
265
|
+
* @function getOutputManagementPdfStream
|
|
266
|
+
* @memberOf service.odata
|
|
267
|
+
* @description returns a stream of output management pdf file.
|
|
268
|
+
* @param {outputConf} outputConf - Configuration for the output management pdf.
|
|
269
|
+
* @param {url} url - system url
|
|
270
|
+
* @param {username} - username for login
|
|
271
|
+
* @param {password} - password for login
|
|
272
|
+
* @example const outputConf = {
|
|
273
|
+
ApplObjectType: "REQUEST_FOR_QUOTATION",
|
|
274
|
+
ApplObjectId: "7000002653",
|
|
275
|
+
ItemId: "1"
|
|
276
|
+
};
|
|
277
|
+
const pdfStream = await service.odata.getOutputManagementPdfStream(outputConf, url, user, password);
|
|
278
|
+
|
|
279
|
+
*/
|
|
280
|
+
getOutputManagementPdfStream(outputConf, url, username, password) {
|
|
281
|
+
return __awaiter(this, arguments, void 0, function* () {
|
|
282
|
+
if (arguments.length < 4) {
|
|
283
|
+
throw new Error("getOutputManagementPdfStream Failed. Please send correct parameters");
|
|
284
|
+
}
|
|
285
|
+
const uri = new this.urlLib(url);
|
|
286
|
+
url = uri.origin + "/sap/opu/odata/sap/CA_OC_OUTPUT_REQUEST_SRV/";
|
|
287
|
+
const srv = yield service.odata.init(url, username, password);
|
|
288
|
+
//await service.init;
|
|
289
|
+
const dataBuffer = yield srv.Items.key(outputConf).GetDocument.get();
|
|
290
|
+
return dataBuffer;
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
;
|
|
294
|
+
/**
|
|
295
|
+
* @function readPdfFromDirectUrl
|
|
296
|
+
* @memberOf service.odata
|
|
297
|
+
* @description returns a stream of pdf file which is part of attachment.
|
|
298
|
+
* @param {url} url - system url
|
|
299
|
+
* @param {username} - [OPTIONAL] username for login
|
|
300
|
+
* @param {password} - [OPTIONAL] password for login
|
|
301
|
+
* @example const url = "https://domain.com/getPdfFile";
|
|
302
|
+
const pdfStream = await service.odata.readPdfFromDirectUrl(url, "username", "Password");
|
|
303
|
+
*/
|
|
304
|
+
readPdfFromDirectUrl(url, username, password, isSaml = false) {
|
|
305
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
306
|
+
if (url === undefined || url === null) {
|
|
307
|
+
throw new Error("Function 'readPdfFromDirectUrl' Failed. Please provide valid url as first parameter");
|
|
308
|
+
}
|
|
309
|
+
const res = yield this._doRequest(url, username, password, isSaml);
|
|
310
|
+
return res;
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
;
|
|
314
|
+
// =================================== HELPER ===================================
|
|
315
|
+
_doRequest(url, username, password, isSaml) {
|
|
316
|
+
//const auth = new Buffer(username + ":" + password).toString("base64");
|
|
317
|
+
const options = {
|
|
318
|
+
encoding: null,
|
|
319
|
+
"content-type": "application/pdf"
|
|
320
|
+
};
|
|
321
|
+
if (username && password) {
|
|
322
|
+
if (isSaml) {
|
|
323
|
+
options.auth = username + ":" + password;
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
options.auth = {
|
|
327
|
+
user: username,
|
|
328
|
+
pass: password
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
return new Promise((resolve, reject) => {
|
|
333
|
+
this.curl.get(url, options, function (error, res, body) {
|
|
334
|
+
if (!error) {
|
|
335
|
+
resolve(body);
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
reject(error);
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
exports.OData = OData;
|
|
345
|
+
;
|
|
346
|
+
exports.default = new OData();
|
|
347
|
+
//# sourceMappingURL=odata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odata.js","sourceRoot":"","sources":["../../../../src/reuse/modules/service/odata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { AxiosRequestConfig, AxiosResponse } from "axios";
|
|
2
|
+
/**
|
|
3
|
+
* @class rest
|
|
4
|
+
* @memberof service
|
|
5
|
+
*/
|
|
6
|
+
export declare class Rest {
|
|
7
|
+
private axios;
|
|
8
|
+
/**
|
|
9
|
+
* @function init
|
|
10
|
+
* @memberOf service.rest
|
|
11
|
+
* @description Returns an axios instance for custom axios handling.
|
|
12
|
+
* @param {Object} [customConfig= {}] - Custom config for axios. If not specified axios defaults will be taken.
|
|
13
|
+
* @returns {Object} The axios instance.
|
|
14
|
+
* @example const customConfig = {
|
|
15
|
+
baseURL: 'https://some-domain.com/api/',
|
|
16
|
+
timeout: 1000,
|
|
17
|
+
headers: {
|
|
18
|
+
'X-Custom-Header': 'foobar'
|
|
19
|
+
}
|
|
20
|
+
* const axios = service.rest.init(customConfig);
|
|
21
|
+
*/
|
|
22
|
+
init(customConfig?: AxiosRequestConfig<any> | undefined): import("axios").AxiosInstance;
|
|
23
|
+
/**
|
|
24
|
+
* @function get
|
|
25
|
+
* @memberOf service.rest
|
|
26
|
+
* @description makes a GET request.
|
|
27
|
+
* @param {String} uri - The uri to the data source you want to GET.
|
|
28
|
+
* @param {Object} [options={}] - The options you want to specify for GET.
|
|
29
|
+
* @returns {Object} The response of the GET request.
|
|
30
|
+
* @example const uri = https://api.predic8.de/shop/products/";
|
|
31
|
+
* let res = await service.rest.get(uri);
|
|
32
|
+
*/
|
|
33
|
+
get(uri: string, options?: AxiosRequestConfig<any> | undefined): Promise<AxiosResponse<any, any>>;
|
|
34
|
+
/**
|
|
35
|
+
* @function post
|
|
36
|
+
* @memberOf service.rest
|
|
37
|
+
* @description makes a POST request.
|
|
38
|
+
* @param {String} uri - The uri to the data source you want to POST against.
|
|
39
|
+
* @param {Object} payload - The data you want to POST against your entity set.
|
|
40
|
+
* @returns {Object} The response of the POST request.
|
|
41
|
+
* @example let res = await service.rest.delete(`${browser.config.baseUrl}/posts/99`);
|
|
42
|
+
*/
|
|
43
|
+
post(uri: string, payload: any): Promise<AxiosResponse<any, any>>;
|
|
44
|
+
/**
|
|
45
|
+
* @function delete
|
|
46
|
+
* @memberOf service.rest
|
|
47
|
+
* @description makes a DELETE request.
|
|
48
|
+
* @param {String} uri - The uri to the data source you want to DELETE.
|
|
49
|
+
* @param {Object} options - The options you want to specify for DELETE.
|
|
50
|
+
* @returns {Object} The response of the DELETE request.
|
|
51
|
+
* @example let res = await service.rest.delete(`${browser.config.baseUrl}/posts/99`);
|
|
52
|
+
*/
|
|
53
|
+
delete(uri: string, options: AxiosRequestConfig<any> | undefined): Promise<AxiosResponse<any, any>>;
|
|
54
|
+
/**
|
|
55
|
+
* @function patch
|
|
56
|
+
* @memberOf service.rest
|
|
57
|
+
* @description makes a PATCH request.
|
|
58
|
+
* @param {String} uri - The uri to the data source you want to PATCH.
|
|
59
|
+
* @param {Object} options - The options you want to specify for PATCH.
|
|
60
|
+
* @returns {Object} The response of the PATCH request.
|
|
61
|
+
* @example let res = await service.rest.patch(`${browser.config.baseUrl}/posts/99`);
|
|
62
|
+
*/
|
|
63
|
+
patch(uri: string, options: AxiosRequestConfig<any> | undefined): Promise<AxiosResponse<any, any>>;
|
|
64
|
+
}
|
|
65
|
+
declare const _default: Rest;
|
|
66
|
+
export default _default;
|