@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.
Files changed (625) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.yml +33 -0
  3. package/.reuse/dep5 +29 -0
  4. package/LICENSE +201 -0
  5. package/LICENSES/Apache-2.0.txt +73 -0
  6. package/README.md +20 -0
  7. package/docs/contact.md +10 -0
  8. package/docs/doc.md +5188 -0
  9. package/docs/gettingStarted/selectors.md +168 -0
  10. package/docs/gettingStarted/setup.md +8 -0
  11. package/docs/index.md +14 -0
  12. package/docs/style/custom.css +24 -0
  13. package/lib/index.d.ts +1 -0
  14. package/lib/index.js +171 -0
  15. package/lib/index.js.map +1 -0
  16. package/lib/reuse/authenticator/authConfig.d.ts +54 -0
  17. package/lib/reuse/authenticator/authConfig.js +55 -0
  18. package/lib/reuse/authenticator/authConfig.js.map +1 -0
  19. package/lib/reuse/authenticator/authHandler.d.ts +6 -0
  20. package/lib/reuse/authenticator/authHandler.js +37 -0
  21. package/lib/reuse/authenticator/authHandler.js.map +1 -0
  22. package/lib/reuse/authenticator/basicUrlAuthenticator.d.ts +2 -0
  23. package/lib/reuse/authenticator/basicUrlAuthenticator.js +36 -0
  24. package/lib/reuse/authenticator/basicUrlAuthenticator.js.map +1 -0
  25. package/lib/reuse/authenticator/customAuthenticator.d.ts +2 -0
  26. package/lib/reuse/authenticator/customAuthenticator.js +60 -0
  27. package/lib/reuse/authenticator/customAuthenticator.js.map +1 -0
  28. package/lib/reuse/authenticator/formAuthenticator.d.ts +2 -0
  29. package/lib/reuse/authenticator/formAuthenticator.js +57 -0
  30. package/lib/reuse/authenticator/formAuthenticator.js.map +1 -0
  31. package/lib/reuse/authenticator/plainAuthenticator.d.ts +2 -0
  32. package/lib/reuse/authenticator/plainAuthenticator.js +20 -0
  33. package/lib/reuse/authenticator/plainAuthenticator.js.map +1 -0
  34. package/lib/reuse/data/authenticators.json +16 -0
  35. package/lib/reuse/helper/clientsideUI5scripts.d.ts +1 -0
  36. package/lib/reuse/helper/clientsideUI5scripts.js +388 -0
  37. package/lib/reuse/helper/clientsideUI5scripts.js.map +1 -0
  38. package/lib/reuse/helper/jsDocGen.d.ts +1 -0
  39. package/lib/reuse/helper/jsDocGen.js +45 -0
  40. package/lib/reuse/helper/jsDocGen.js.map +1 -0
  41. package/lib/reuse/index.d.ts +5 -0
  42. package/lib/reuse/index.js +89 -0
  43. package/lib/reuse/index.js.map +1 -0
  44. package/lib/reuse/modules/common/Common.d.ts +12 -0
  45. package/lib/reuse/modules/common/Common.js +21 -0
  46. package/lib/reuse/modules/common/Common.js.map +1 -0
  47. package/lib/reuse/modules/common/assertion.d.ts +65 -0
  48. package/lib/reuse/modules/common/assertion.js +91 -0
  49. package/lib/reuse/modules/common/assertion.js.map +1 -0
  50. package/lib/reuse/modules/common/constants/date.constants.d.ts +8 -0
  51. package/lib/reuse/modules/common/constants/date.constants.js +13 -0
  52. package/lib/reuse/modules/common/constants/date.constants.js.map +1 -0
  53. package/lib/reuse/modules/common/constants/userInteraction.constants.d.ts +9 -0
  54. package/lib/reuse/modules/common/constants/userInteraction.constants.js +14 -0
  55. package/lib/reuse/modules/common/constants/userInteraction.constants.js.map +1 -0
  56. package/lib/reuse/modules/common/date.d.ts +84 -0
  57. package/lib/reuse/modules/common/date.js +164 -0
  58. package/lib/reuse/modules/common/date.js.map +1 -0
  59. package/lib/reuse/modules/common/navigation.d.ts +26 -0
  60. package/lib/reuse/modules/common/navigation.js +56 -0
  61. package/lib/reuse/modules/common/navigation.js.map +1 -0
  62. package/lib/reuse/modules/common/types/date.types.d.ts +2 -0
  63. package/lib/reuse/modules/common/types/date.types.js +3 -0
  64. package/lib/reuse/modules/common/types/date.types.js.map +1 -0
  65. package/lib/reuse/modules/common/userInteraction.d.ts +104 -0
  66. package/lib/reuse/modules/common/userInteraction.js +199 -0
  67. package/lib/reuse/modules/common/userInteraction.js.map +1 -0
  68. package/lib/reuse/modules/nonUi5/NonUi5.d.ts +12 -0
  69. package/lib/reuse/modules/nonUi5/NonUi5.js +21 -0
  70. package/lib/reuse/modules/nonUi5/NonUi5.js.map +1 -0
  71. package/lib/reuse/modules/nonUi5/assertion.d.ts +62 -0
  72. package/lib/reuse/modules/nonUi5/assertion.js +127 -0
  73. package/lib/reuse/modules/nonUi5/assertion.js.map +1 -0
  74. package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.d.ts +6 -0
  75. package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.js +11 -0
  76. package/lib/reuse/modules/nonUi5/constants/userInteraction.constants.js.map +1 -0
  77. package/lib/reuse/modules/nonUi5/element.d.ts +286 -0
  78. package/lib/reuse/modules/nonUi5/element.js +639 -0
  79. package/lib/reuse/modules/nonUi5/element.js.map +1 -0
  80. package/lib/reuse/modules/nonUi5/navigation.d.ts +17 -0
  81. package/lib/reuse/modules/nonUi5/navigation.js +44 -0
  82. package/lib/reuse/modules/nonUi5/navigation.js.map +1 -0
  83. package/lib/reuse/modules/nonUi5/userInteraction.d.ts +170 -0
  84. package/lib/reuse/modules/nonUi5/userInteraction.js +415 -0
  85. package/lib/reuse/modules/nonUi5/userInteraction.js.map +1 -0
  86. package/lib/reuse/modules/service/Service.d.ts +8 -0
  87. package/lib/reuse/modules/service/Service.js +17 -0
  88. package/lib/reuse/modules/service/Service.js.map +1 -0
  89. package/lib/reuse/modules/service/odata.d.ts +177 -0
  90. package/lib/reuse/modules/service/odata.js +347 -0
  91. package/lib/reuse/modules/service/odata.js.map +1 -0
  92. package/lib/reuse/modules/service/rest.d.ts +66 -0
  93. package/lib/reuse/modules/service/rest.js +168 -0
  94. package/lib/reuse/modules/service/rest.js.map +1 -0
  95. package/lib/reuse/modules/service/soap.d.ts +0 -0
  96. package/lib/reuse/modules/service/soap.js +2 -0
  97. package/lib/reuse/modules/service/soap.js.map +1 -0
  98. package/lib/reuse/modules/ui5/Ui5.d.ts +34 -0
  99. package/lib/reuse/modules/ui5/Ui5.js +41 -0
  100. package/lib/reuse/modules/ui5/Ui5.js.map +1 -0
  101. package/lib/reuse/modules/ui5/assertion.d.ts +183 -0
  102. package/lib/reuse/modules/ui5/assertion.js +493 -0
  103. package/lib/reuse/modules/ui5/assertion.js.map +1 -0
  104. package/lib/reuse/modules/ui5/confirmationDialog.d.ts +86 -0
  105. package/lib/reuse/modules/ui5/confirmationDialog.js +145 -0
  106. package/lib/reuse/modules/ui5/confirmationDialog.js.map +1 -0
  107. package/lib/reuse/modules/ui5/constants/mockserver.constants.d.ts +4 -0
  108. package/lib/reuse/modules/ui5/constants/mockserver.constants.js +9 -0
  109. package/lib/reuse/modules/ui5/constants/mockserver.constants.js.map +1 -0
  110. package/lib/reuse/modules/ui5/control.d.ts +84 -0
  111. package/lib/reuse/modules/ui5/control.js +132 -0
  112. package/lib/reuse/modules/ui5/control.js.map +1 -0
  113. package/lib/reuse/modules/ui5/date.d.ts +48 -0
  114. package/lib/reuse/modules/ui5/date.js +153 -0
  115. package/lib/reuse/modules/ui5/date.js.map +1 -0
  116. package/lib/reuse/modules/ui5/element.d.ts +160 -0
  117. package/lib/reuse/modules/ui5/element.js +349 -0
  118. package/lib/reuse/modules/ui5/element.js.map +1 -0
  119. package/lib/reuse/modules/ui5/errorDialog.d.ts +39 -0
  120. package/lib/reuse/modules/ui5/errorDialog.js +65 -0
  121. package/lib/reuse/modules/ui5/errorDialog.js.map +1 -0
  122. package/lib/reuse/modules/ui5/footerBar.d.ts +153 -0
  123. package/lib/reuse/modules/ui5/footerBar.js +240 -0
  124. package/lib/reuse/modules/ui5/footerBar.js.map +1 -0
  125. package/lib/reuse/modules/ui5/mockserver.d.ts +154 -0
  126. package/lib/reuse/modules/ui5/mockserver.js +665 -0
  127. package/lib/reuse/modules/ui5/mockserver.js.map +1 -0
  128. package/lib/reuse/modules/ui5/navigation.d.ts +103 -0
  129. package/lib/reuse/modules/ui5/navigation.js +275 -0
  130. package/lib/reuse/modules/ui5/navigation.js.map +1 -0
  131. package/lib/reuse/modules/ui5/navigationBar.d.ts +48 -0
  132. package/lib/reuse/modules/ui5/navigationBar.js +141 -0
  133. package/lib/reuse/modules/ui5/navigationBar.js.map +1 -0
  134. package/lib/reuse/modules/ui5/qunit.d.ts +17 -0
  135. package/lib/reuse/modules/ui5/qunit.js +52 -0
  136. package/lib/reuse/modules/ui5/qunit.js.map +1 -0
  137. package/lib/reuse/modules/ui5/session.d.ts +117 -0
  138. package/lib/reuse/modules/ui5/session.js +374 -0
  139. package/lib/reuse/modules/ui5/session.js.map +1 -0
  140. package/lib/reuse/modules/ui5/table.d.ts +61 -0
  141. package/lib/reuse/modules/ui5/table.js +188 -0
  142. package/lib/reuse/modules/ui5/table.js.map +1 -0
  143. package/lib/reuse/modules/ui5/types/mockserver.types.d.ts +2 -0
  144. package/lib/reuse/modules/ui5/types/mockserver.types.js +3 -0
  145. package/lib/reuse/modules/ui5/types/mockserver.types.js.map +1 -0
  146. package/lib/reuse/modules/ui5/userInteraction.d.ts +304 -0
  147. package/lib/reuse/modules/ui5/userInteraction.js +690 -0
  148. package/lib/reuse/modules/ui5/userInteraction.js.map +1 -0
  149. package/lib/reuse/modules/util/Util.d.ts +22 -0
  150. package/lib/reuse/modules/util/Util.js +27 -0
  151. package/lib/reuse/modules/util/Util.js.map +1 -0
  152. package/lib/reuse/modules/util/browser.d.ts +167 -0
  153. package/lib/reuse/modules/util/browser.js +367 -0
  154. package/lib/reuse/modules/util/browser.js.map +1 -0
  155. package/lib/reuse/modules/util/console.d.ts +56 -0
  156. package/lib/reuse/modules/util/console.js +152 -0
  157. package/lib/reuse/modules/util/console.js.map +1 -0
  158. package/lib/reuse/modules/util/constants/formatter.constants.d.ts +11 -0
  159. package/lib/reuse/modules/util/constants/formatter.constants.js +16 -0
  160. package/lib/reuse/modules/util/constants/formatter.constants.js.map +1 -0
  161. package/lib/reuse/modules/util/data.d.ts +36 -0
  162. package/lib/reuse/modules/util/data.js +87 -0
  163. package/lib/reuse/modules/util/data.js.map +1 -0
  164. package/lib/reuse/modules/util/file.d.ts +55 -0
  165. package/lib/reuse/modules/util/file.js +159 -0
  166. package/lib/reuse/modules/util/file.js.map +1 -0
  167. package/lib/reuse/modules/util/formatter.d.ts +90 -0
  168. package/lib/reuse/modules/util/formatter.js +210 -0
  169. package/lib/reuse/modules/util/formatter.js.map +1 -0
  170. package/lib/reuse/modules/util/function.d.ts +48 -0
  171. package/lib/reuse/modules/util/function.js +161 -0
  172. package/lib/reuse/modules/util/function.js.map +1 -0
  173. package/lib/reuse/modules/util/system.d.ts +17 -0
  174. package/lib/reuse/modules/util/system.js +58 -0
  175. package/lib/reuse/modules/util/system.js.map +1 -0
  176. package/lib/reuse/modules/util/types/formatter.types.d.ts +2 -0
  177. package/lib/reuse/modules/util/types/formatter.types.js +3 -0
  178. package/lib/reuse/modules/util/types/formatter.types.js.map +1 -0
  179. package/lib/scripts/clientsideUI5scripts.d.ts +1 -0
  180. package/lib/scripts/clientsideUI5scripts.js +315 -0
  181. package/lib/scripts/clientsideUI5scripts.js.map +1 -0
  182. package/lib/scripts/dataExchange/dataExchange.d.ts +1 -0
  183. package/lib/scripts/dataExchange/dataExchange.js +224 -0
  184. package/lib/scripts/dataExchange/dataExchange.js.map +1 -0
  185. package/lib/scripts/dataExchange/dataExchangeUtil.d.ts +63 -0
  186. package/lib/scripts/dataExchange/dataExchangeUtil.js +211 -0
  187. package/lib/scripts/dataExchange/dataExchangeUtil.js.map +1 -0
  188. package/lib/scripts/hooks/after.d.ts +8 -0
  189. package/lib/scripts/hooks/after.js +30 -0
  190. package/lib/scripts/hooks/after.js.map +1 -0
  191. package/lib/scripts/hooks/before.d.ts +8 -0
  192. package/lib/scripts/hooks/before.js +38 -0
  193. package/lib/scripts/hooks/before.js.map +1 -0
  194. package/lib/scripts/hooks/beforeSession.d.ts +8 -0
  195. package/lib/scripts/hooks/beforeSession.js +37 -0
  196. package/lib/scripts/hooks/beforeSession.js.map +1 -0
  197. package/lib/scripts/hooks/onComplete.d.ts +9 -0
  198. package/lib/scripts/hooks/onComplete.js +31 -0
  199. package/lib/scripts/hooks/onComplete.js.map +1 -0
  200. package/lib/scripts/hooks/onPrepare.d.ts +6 -0
  201. package/lib/scripts/hooks/onPrepare.js +36 -0
  202. package/lib/scripts/hooks/onPrepare.js.map +1 -0
  203. package/lib/scripts/hooks/utils/addLocatorCommands.d.ts +2 -0
  204. package/lib/scripts/hooks/utils/addLocatorCommands.js +193 -0
  205. package/lib/scripts/hooks/utils/addLocatorCommands.js.map +1 -0
  206. package/lib/scripts/hooks/utils/browserLog.d.ts +2 -0
  207. package/lib/scripts/hooks/utils/browserLog.js +39 -0
  208. package/lib/scripts/hooks/utils/browserLog.js.map +1 -0
  209. package/lib/scripts/hooks/utils/dataExchangeCommands.d.ts +9 -0
  210. package/lib/scripts/hooks/utils/dataExchangeCommands.js +46 -0
  211. package/lib/scripts/hooks/utils/dataExchangeCommands.js.map +1 -0
  212. package/lib/scripts/hooks/utils/decryption.d.ts +13 -0
  213. package/lib/scripts/hooks/utils/decryption.js +90 -0
  214. package/lib/scripts/hooks/utils/decryption.js.map +1 -0
  215. package/lib/scripts/hooks/utils/lib.d.ts +4 -0
  216. package/lib/scripts/hooks/utils/lib.js +330 -0
  217. package/lib/scripts/hooks/utils/lib.js.map +1 -0
  218. package/lib/scripts/hooks/utils/locatorCommands.d.ts +10 -0
  219. package/lib/scripts/hooks/utils/locatorCommands.js +216 -0
  220. package/lib/scripts/hooks/utils/locatorCommands.js.map +1 -0
  221. package/lib/scripts/locators/qmateLocator.d.ts +1 -0
  222. package/lib/scripts/locators/qmateLocator.js +1384 -0
  223. package/lib/scripts/locators/qmateLocator.js.map +1 -0
  224. package/lib/scripts/locators/uiveri5Locator.d.ts +1 -0
  225. package/lib/scripts/locators/uiveri5Locator.js +21 -0
  226. package/lib/scripts/locators/uiveri5Locator.js.map +1 -0
  227. package/mkdocs.yml +53 -0
  228. package/package.json +152 -0
  229. package/test/.eslintrc.yml +6 -0
  230. package/test/authenticator/package.json +13 -0
  231. package/test/authenticator/staticLogin/configCustom.js +22 -0
  232. package/test/authenticator/staticLogin/configCustomViaConfig.js +20 -0
  233. package/test/authenticator/staticLogin/configFiori.js +19 -0
  234. package/test/authenticator/staticLogin/configPlain.js +17 -0
  235. package/test/authenticator/staticLogin/configSapCloud.js +18 -0
  236. package/test/authenticator/staticLogin/html/custom.html +10 -0
  237. package/test/authenticator/staticLogin/html/fiori.html +10 -0
  238. package/test/authenticator/staticLogin/html/home.html +7 -0
  239. package/test/authenticator/staticLogin/html/sapCloud.html +10 -0
  240. package/test/authenticator/staticLogin/specs/custom.spec.js +6 -0
  241. package/test/authenticator/staticLogin/specs/customViaConfig.spec.js +10 -0
  242. package/test/authenticator/staticLogin/specs/fiori.spec.js +6 -0
  243. package/test/authenticator/staticLogin/specs/plain.spec.js +64 -0
  244. package/test/authenticator/staticLogin/specs/sapCloud.spec.js +6 -0
  245. package/test/authenticator/staticLogin/staticServerConfig.js +20 -0
  246. package/test/authenticator/systemLogin/configCustom.js +26 -0
  247. package/test/authenticator/systemLogin/configFiori.js +24 -0
  248. package/test/authenticator/systemLogin/configPlain.js +22 -0
  249. package/test/authenticator/systemLogin/configSapCloud.js +24 -0
  250. package/test/authenticator/systemLogin/specs/custom.spec.js +13 -0
  251. package/test/authenticator/systemLogin/specs/fiori.spec.js +12 -0
  252. package/test/authenticator/systemLogin/specs/plain.spec.js +21 -0
  253. package/test/authenticator/systemLogin/specs/sapCloud.spec.js +13 -0
  254. package/test/core/README.md +17 -0
  255. package/test/core/dataExchange/config.export.js +56 -0
  256. package/test/core/dataExchange/config.import.js +47 -0
  257. package/test/core/dataExchange/config.js +52 -0
  258. package/test/core/dataExchange/config.parallel.group.js +61 -0
  259. package/test/core/dataExchange/config.parallel.js +58 -0
  260. package/test/core/dataExchange/data/another/folder/data/anotherFolder/dummy1.txt +0 -0
  261. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/Limit-Purchase-Order.json +29 -0
  262. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchase-orders/ServicePurchaseOrder.2Items.json +67 -0
  263. package/test/core/dataExchange/data/another/folder/data/anotherFolder/purchaseRequisition_HI.json +31 -0
  264. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/LimitPurchaseOrder.json +29 -0
  265. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderItems.json +58 -0
  266. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/PurchaseOrderWithScheduline.json +27 -0
  267. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServiceAndMaterialPurchaseOrder.json +65 -0
  268. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder.json +39 -0
  269. package/test/core/dataExchange/data/another/folder/data/anotherFolder/subfolder/ServicePurchaseOrder2Items.json +67 -0
  270. package/test/core/dataExchange/data/my/folder/data/qs9/data.json +5 -0
  271. package/test/core/dataExchange/data/my/folder/data/qs9/dummy1.txt +0 -0
  272. package/test/core/dataExchange/data/my/folder/data/qs9/dummy2.txt +0 -0
  273. package/test/core/dataExchange/data/my/folder/data/qs9/empty.json +0 -0
  274. package/test/core/dataExchange/data/my/folder/data/qs9/purchaseRequisition.json +31 -0
  275. package/test/core/dataExchange/data/my/folder/data/qs9/supplierInvoice.json +17 -0
  276. package/test/core/dataExchange/data/my/folder/data/qs9/webUser.json +6 -0
  277. package/test/core/dataExchange/data/ui/moreDataFolder/anotherUser.json +6 -0
  278. package/test/core/dataExchange/data/ui/user.json +6 -0
  279. package/test/core/dataExchange/data/ui/webUser.json +6 -0
  280. package/test/core/dataExchange/specs/export.fast.spec.js +48 -0
  281. package/test/core/dataExchange/specs/export.slow.spec.js +50 -0
  282. package/test/core/dataExchange/specs/export.spec.js +103 -0
  283. package/test/core/dataExchange/specs/import.spec.js +144 -0
  284. package/test/core/dataExchange/specs/importExport.spec.js +196 -0
  285. package/test/core/dataExchange/utils.js +160 -0
  286. package/test/core/functional/README.md +30 -0
  287. package/test/core/functional/chaining/chaining.test.js +137 -0
  288. package/test/core/functional/chaining/test.conf.js +31 -0
  289. package/test/core/functional/locators/ancestorProperties.test.js +99 -0
  290. package/test/core/functional/locators/childProperties.test.js +40 -0
  291. package/test/core/functional/locators/descendantProperties.test.js +107 -0
  292. package/test/core/functional/locators/domProperties.test.js +60 -0
  293. package/test/core/functional/locators/elementProperties.test.js +114 -0
  294. package/test/core/functional/locators/mixedProperties.test.js +170 -0
  295. package/test/core/functional/locators/parentProperties.test.js +47 -0
  296. package/test/core/functional/locators/siblingProperties.test.js +120 -0
  297. package/test/core/functional/locators/test.locator.conf.js +38 -0
  298. package/test/core/functional/locators/utils.js +6 -0
  299. package/test/core/functional/nativeBrowser/runInBrowser.test.js +111 -0
  300. package/test/core/functional/nativeBrowser/test.conf.js +31 -0
  301. package/test/core/functional/nonUi5/basic.test.js +10 -0
  302. package/test/core/functional/nonUi5/getWithDomElement.test.js +51 -0
  303. package/test/core/functional/nonUi5/getWithDomElements.test.js +141 -0
  304. package/test/core/functional/nonUi5/test.conf.js +32 -0
  305. package/test/core/functional/ui5Properties/getAggregations.test.js +102 -0
  306. package/test/core/functional/ui5Properties/getAssociations.test.js +24 -0
  307. package/test/core/functional/ui5Properties/getBindingInfos.test.js +71 -0
  308. package/test/core/functional/ui5Properties/getProperties.test.js +226 -0
  309. package/test/core/functional/ui5Properties/test.conf.js +16 -0
  310. package/test/core/functional/uiveri5/sample.test.js +61 -0
  311. package/test/core/functional/uiveri5/test.conf.js +31 -0
  312. package/test/core/package-lock.json +0 -0
  313. package/test/core/package.json +12 -0
  314. package/test/core/testIntegration/config.js +17 -0
  315. package/test/core/testIntegration/configMultiCombo.js +17 -0
  316. package/test/core/testIntegration/configTable.js +18 -0
  317. package/test/core/testIntegration/filters1.spec.js +1849 -0
  318. package/test/core/testIntegration/multicombobox.spec.js +134 -0
  319. package/test/core/testIntegration/table.spec.js +80 -0
  320. package/test/helper/configurations/base.conf.js +43 -0
  321. package/test/helper/configurations/chrome.conf.js +47 -0
  322. package/test/helper/configurations/chrome.headless.conf.js +45 -0
  323. package/test/helper/configurations/sauce.labs.conf.js +37 -0
  324. package/test/helper/configurations/sauce.labs.tunnel.conf.js +39 -0
  325. package/test/helper/sleeper.js +19 -0
  326. package/test/helper/utils.js +15 -0
  327. package/test/helper/website/buttons.html +85 -0
  328. package/test/helper/website/checkBox.html +83 -0
  329. package/test/helper/website/dragAndDropFailing.html +83 -0
  330. package/test/helper/website/dragAndDropWdioExample.html +41 -0
  331. package/test/helper/website/dropdown.html +78 -0
  332. package/test/helper/website/forms.html +82 -0
  333. package/test/helper/website/hiddenAndVisible.html +60 -0
  334. package/test/helper/website/main.css +36 -0
  335. package/test/helper/website/scrollPage.html +261 -0
  336. package/test/helper/website/style.css +52 -0
  337. package/test/helper/website/tables.html +140 -0
  338. package/test/helper/website/waitForElements.html +73 -0
  339. package/test/reuse/common/assertion/expectDefined.spec.js +11 -0
  340. package/test/reuse/common/assertion/expectEqual.spec.js +52 -0
  341. package/test/reuse/common/assertion/expectFalse.spec.js +9 -0
  342. package/test/reuse/common/assertion/expectTrue.spec.js +9 -0
  343. package/test/reuse/common/assertion/expectUndefined.spec.js +11 -0
  344. package/test/reuse/common/assertion/expectUnequal.spec.js +25 -0
  345. package/test/reuse/common/assertion/expectUrlToBe.spec.js +27 -0
  346. package/test/reuse/common/assertion/test.assertion.conf.js +59 -0
  347. package/test/reuse/common/date/calculate.spec.js +163 -0
  348. package/test/reuse/common/date/getNextMonth.spec.js +105 -0
  349. package/test/reuse/common/date/getNextYear.spec.js +72 -0
  350. package/test/reuse/common/date/getPreviousMonth.spec.js +71 -0
  351. package/test/reuse/common/date/getPreviousYear.spec.js +72 -0
  352. package/test/reuse/common/date/getSpecific.spec.js +63 -0
  353. package/test/reuse/common/date/getToday.spec.js +78 -0
  354. package/test/reuse/common/date/getTomorrow.spec.js +72 -0
  355. package/test/reuse/common/date/test.date.conf.js +19 -0
  356. package/test/reuse/common/date/utils.js +6 -0
  357. package/test/reuse/common/navigation/navigateToUrl.spec.js +28 -0
  358. package/test/reuse/common/navigation/navigateToUrlAndRetry.spec.js +27 -0
  359. package/test/reuse/common/navigation/test.navigation.conf.js +25 -0
  360. package/test/reuse/common/userInteraction/clearAndFillActive.spec.js +100 -0
  361. package/test/reuse/common/userInteraction/clearAndFillActiveAndRetry.spec.js +106 -0
  362. package/test/reuse/common/userInteraction/fillActive.spec.js +230 -0
  363. package/test/reuse/common/userInteraction/fillActiveAndRetry.spec.js +172 -0
  364. package/test/reuse/common/userInteraction/pressKey.spec.js +105 -0
  365. package/test/reuse/common/userInteraction/test.userInteraction.conf.js +53 -0
  366. package/test/reuse/nonUi5/assertion/expectAttributeToBe.spec.js +45 -0
  367. package/test/reuse/nonUi5/assertion/expectAttributeToContain.spec.js +43 -0
  368. package/test/reuse/nonUi5/assertion/expectToBeNotVisible.spec.js +37 -0
  369. package/test/reuse/nonUi5/assertion/expectToBeVisible.spec.js +63 -0
  370. package/test/reuse/nonUi5/assertion/expectValueToBe.spec.js +25 -0
  371. package/test/reuse/nonUi5/assertion/test.assertion.conf.js +60 -0
  372. package/test/reuse/nonUi5/assertion/test.assertion.sauceLabs.conf.js +64 -0
  373. package/test/reuse/nonUi5/element/getAllDisplayed.spec.js +39 -0
  374. package/test/reuse/nonUi5/element/getAttributeValue.spec.js +58 -0
  375. package/test/reuse/nonUi5/element/getByChild.spec.js +70 -0
  376. package/test/reuse/nonUi5/element/getByClass.spec.js +64 -0
  377. package/test/reuse/nonUi5/element/getByCss.spec.js +65 -0
  378. package/test/reuse/nonUi5/element/getByCssContainingText.spec.js +83 -0
  379. package/test/reuse/nonUi5/element/getById.spec.js +35 -0
  380. package/test/reuse/nonUi5/element/getByName.spec.js +30 -0
  381. package/test/reuse/nonUi5/element/getByParent.spec.js +71 -0
  382. package/test/reuse/nonUi5/element/getByXPath.spec.js +30 -0
  383. package/test/reuse/nonUi5/element/getValue.spec.js +51 -0
  384. package/test/reuse/nonUi5/element/highlight.spec.js +18 -0
  385. package/test/reuse/nonUi5/element/isPresent.spec.js +39 -0
  386. package/test/reuse/nonUi5/element/isPresentByCss.spec.js +73 -0
  387. package/test/reuse/nonUi5/element/isPresentByXPath.spec.js +31 -0
  388. package/test/reuse/nonUi5/element/setInnerHTML.spec.js +23 -0
  389. package/test/reuse/nonUi5/element/test.element.conf.js +55 -0
  390. package/test/reuse/nonUi5/element/test.element.sauceLabs.conf.js +58 -0
  391. package/test/reuse/nonUi5/element/waitForAll.spec.js +24 -0
  392. package/test/reuse/nonUi5/element/waitToBeClickable.spec.js +24 -0
  393. package/test/reuse/nonUi5/element/waitToBePresent.spec.js +32 -0
  394. package/test/reuse/nonUi5/element/waitToBeVisible.spec.js +36 -0
  395. package/test/reuse/nonUi5/navigation/navigateToApplication.spec.js +13 -0
  396. package/test/reuse/nonUi5/navigation/test.navigation.conf.js +14 -0
  397. package/test/reuse/nonUi5/userInteraction/checkAttributeAndValue.spec.js +135 -0
  398. package/test/reuse/nonUi5/userInteraction/clear.spec.js +43 -0
  399. package/test/reuse/nonUi5/userInteraction/clearAndFill.spec.js +51 -0
  400. package/test/reuse/nonUi5/userInteraction/clearAndFillAndRetry.spec.js +58 -0
  401. package/test/reuse/nonUi5/userInteraction/clearAndRetry.spec.js +43 -0
  402. package/test/reuse/nonUi5/userInteraction/click.spec.js +60 -0
  403. package/test/reuse/nonUi5/userInteraction/clickAndRetry.spec.js +60 -0
  404. package/test/reuse/nonUi5/userInteraction/clickElementInSvg.spec.js +24 -0
  405. package/test/reuse/nonUi5/userInteraction/doubleClick.spec.js +22 -0
  406. package/test/reuse/nonUi5/userInteraction/dragAndDrop.spec.js +40 -0
  407. package/test/reuse/nonUi5/userInteraction/fill.spec.js +37 -0
  408. package/test/reuse/nonUi5/userInteraction/fillAndRetry.spec.js +39 -0
  409. package/test/reuse/nonUi5/userInteraction/mouseOverElement.spec.js +36 -0
  410. package/test/reuse/nonUi5/userInteraction/moveCursorAndClick.spec.js +24 -0
  411. package/test/reuse/nonUi5/userInteraction/rightClick.spec.js +13 -0
  412. package/test/reuse/nonUi5/userInteraction/scrollToElement.spec.js +35 -0
  413. package/test/reuse/nonUi5/userInteraction/test.userInteraction.conf.js +72 -0
  414. package/test/reuse/nonUi5/userInteraction/test.userInteraction.sauceLabs.conf.js +78 -0
  415. package/test/reuse/service/rest/db.json +8 -0
  416. package/test/reuse/service/rest/delete.spec.js +20 -0
  417. package/test/reuse/service/rest/get.spec.js +19 -0
  418. package/test/reuse/service/rest/init.spec.js +35 -0
  419. package/test/reuse/service/rest/patch.spec.js +29 -0
  420. package/test/reuse/service/rest/post.spec.js +37 -0
  421. package/test/reuse/service/rest/test.rest.conf.js +18 -0
  422. package/test/reuse/ui5/assertion/expectAttributeToBe.spec.js +106 -0
  423. package/test/reuse/ui5/assertion/expectAttributeToContain.spec.js +78 -0
  424. package/test/reuse/ui5/assertion/expectBindingContextPathToBe.spec.js +103 -0
  425. package/test/reuse/ui5/assertion/expectBindingPathToBe.spec.js +164 -0
  426. package/test/reuse/ui5/assertion/expectMessageToastTextToBe.spec.js +43 -0
  427. package/test/reuse/ui5/assertion/expectTextToBe.spec.js +39 -0
  428. package/test/reuse/ui5/assertion/expectToBeEnabled.spec.js +90 -0
  429. package/test/reuse/ui5/assertion/expectToBeNotEnabled.spec.js +62 -0
  430. package/test/reuse/ui5/assertion/expectToBeNotVisible.spec.js +52 -0
  431. package/test/reuse/ui5/assertion/expectToBeVisible.spec.js +69 -0
  432. package/test/reuse/ui5/assertion/expectToBeVisibleInViewport.spec.js +49 -0
  433. package/test/reuse/ui5/assertion/expectValidationError.spec.js +54 -0
  434. package/test/reuse/ui5/assertion/expectValidationSuccess.spec.js +53 -0
  435. package/test/reuse/ui5/assertion/expectValueToBe.spec.js +57 -0
  436. package/test/reuse/ui5/assertion/expectValueToBeDefined.spec.js +35 -0
  437. package/test/reuse/ui5/assertion/test.assertion.conf.js +28 -0
  438. package/test/reuse/ui5/assertion/test.assertion.sauceLab.conf.js +37 -0
  439. package/test/reuse/ui5/confirmationDialog/clickCancel.spec.js +88 -0
  440. package/test/reuse/ui5/confirmationDialog/clickCreate.spec.js +3 -0
  441. package/test/reuse/ui5/confirmationDialog/clickDelete.spec.js +89 -0
  442. package/test/reuse/ui5/confirmationDialog/clickNo.spec.js +96 -0
  443. package/test/reuse/ui5/confirmationDialog/clickOk.spec.js +66 -0
  444. package/test/reuse/ui5/confirmationDialog/clickRevokeApproval.spec.js +3 -0
  445. package/test/reuse/ui5/confirmationDialog/clickYes.spec.js +70 -0
  446. package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.conf.js +20 -0
  447. package/test/reuse/ui5/confirmationDialog/test.confirmationDialog.sauceLab.conf.js +29 -0
  448. package/test/reuse/ui5/control/execute.spec.js +29 -0
  449. package/test/reuse/ui5/control/getAggregationProperty.spec.js +29 -0
  450. package/test/reuse/ui5/control/getAssociationProperty.spec.js +1 -0
  451. package/test/reuse/ui5/control/getBindingContextPathProperty.spec.js +30 -0
  452. package/test/reuse/ui5/control/getProperty.spec.js +30 -0
  453. package/test/reuse/ui5/control/getPropertyBinding.spec.js +30 -0
  454. package/test/reuse/ui5/control/test.control.conf.js +19 -0
  455. package/test/reuse/ui5/control/test.control.sauceLab.conf.js +30 -0
  456. package/test/reuse/ui5/date/fillRange.spec.js +53 -0
  457. package/test/reuse/ui5/date/pick.spec.js +136 -0
  458. package/test/reuse/ui5/date/pickRange.spec.js +143 -0
  459. package/test/reuse/ui5/date/test.date.conf.js +14 -0
  460. package/test/reuse/ui5/date/test.date.sauceLab.conf.js +26 -0
  461. package/test/reuse/ui5/element/getAllDisplayed.spec.js +71 -0
  462. package/test/reuse/ui5/element/getBindingValue.spec.js +78 -0
  463. package/test/reuse/ui5/element/getByChild.spec.js +124 -0
  464. package/test/reuse/ui5/element/getByParent.spec.js +134 -0
  465. package/test/reuse/ui5/element/getByText.spec.js +67 -0
  466. package/test/reuse/ui5/element/getDisplayed.spec.js +82 -0
  467. package/test/reuse/ui5/element/getId.spec.js +72 -0
  468. package/test/reuse/ui5/element/getPropertyValue.spec.js +91 -0
  469. package/test/reuse/ui5/element/highlight.spec.js +46 -0
  470. package/test/reuse/ui5/element/isVisible.spec.js +68 -0
  471. package/test/reuse/ui5/element/test.element.conf.js +22 -0
  472. package/test/reuse/ui5/element/test.element.sauceLab.conf.js +33 -0
  473. package/test/reuse/ui5/errorDialog/clickClose.spec.js +31 -0
  474. package/test/reuse/ui5/errorDialog/expectToBeVisible.spec.js +30 -0
  475. package/test/reuse/ui5/errorDialog/test.errorDialog.conf.js +13 -0
  476. package/test/reuse/ui5/errorDialog/test.errorDialog.sauceLab.conf.js +26 -0
  477. package/test/reuse/ui5/formatter/addRemoveLeadingZeros.spec.js +18 -0
  478. package/test/reuse/ui5/formatter/extractNumberFromString.spec.js +34 -0
  479. package/test/reuse/ui5/formatter/formatDate.spec.js +103 -0
  480. package/test/reuse/ui5/formatter/test.formatter.conf.js +14 -0
  481. package/test/reuse/ui5/formatter/test.formatter.sauceLab.conf.js +24 -0
  482. package/test/reuse/ui5/mockserver_qunit/Component.js +23 -0
  483. package/test/reuse/ui5/mockserver_qunit/LICENSE.txt +957 -0
  484. package/test/reuse/ui5/mockserver_qunit/NOTICE.txt +1 -0
  485. package/test/reuse/ui5/mockserver_qunit/controller/App.controller.js +37 -0
  486. package/test/reuse/ui5/mockserver_qunit/controller/BaseController.js +30 -0
  487. package/test/reuse/ui5/mockserver_qunit/controller/Home.controller.js +27 -0
  488. package/test/reuse/ui5/mockserver_qunit/controller/NotFound.controller.js +34 -0
  489. package/test/reuse/ui5/mockserver_qunit/controller/employee/Employee.controller.js +64 -0
  490. package/test/reuse/ui5/mockserver_qunit/controller/employee/EmployeeList.controller.js +22 -0
  491. package/test/reuse/ui5/mockserver_qunit/controller/employee/Resume.controller.js +83 -0
  492. package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverview.controller.js +11 -0
  493. package/test/reuse/ui5/mockserver_qunit/controller/employee/overview/EmployeeOverviewContent.controller.js +192 -0
  494. package/test/reuse/ui5/mockserver_qunit/i18n/i18n.properties +42 -0
  495. package/test/reuse/ui5/mockserver_qunit/index.html +21 -0
  496. package/test/reuse/ui5/mockserver_qunit/initMockServer.js +16 -0
  497. package/test/reuse/ui5/mockserver_qunit/localService/metadata.xml +61 -0
  498. package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Employees.json +155 -0
  499. package/test/reuse/ui5/mockserver_qunit/localService/mockdata/Resumes.json +65 -0
  500. package/test/reuse/ui5/mockserver_qunit/localService/mockserver.js +146 -0
  501. package/test/reuse/ui5/mockserver_qunit/localService/mockserverLoadAllData.js +75 -0
  502. package/test/reuse/ui5/mockserver_qunit/manifest.json +169 -0
  503. package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServer.html +63 -0
  504. package/test/reuse/ui5/mockserver_qunit/test/flpSandboxMockServerAllData.html +68 -0
  505. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/config.js +92 -0
  506. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/qunitExecution/specs/runQUnitTests.spec.js +14 -0
  507. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/data/setup.json +11 -0
  508. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testDisplayNotFound/specs/testDisplayNotFound.spec.js +71 -0
  509. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Employees.json +204 -0
  510. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/mock/Resumes.json +114 -0
  511. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/setup.json +11 -0
  512. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/data/testShowEmployeeList.json +1 -0
  513. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/testShowEmployeeList/specs/testShowEmployeeList.spec.js +118 -0
  514. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/constants.js +25 -0
  515. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockDataMapper.js +23 -0
  516. package/test/reuse/ui5/mockserver_qunit/test/qmate/ui/utils/mockHelper.js +222 -0
  517. package/test/reuse/ui5/mockserver_qunit/test/unit/allTests.js +6 -0
  518. package/test/reuse/ui5/mockserver_qunit/test/unit/unitTests.qunit.html +38 -0
  519. package/test/reuse/ui5/mockserver_qunit/test/unit/utils/Conversions.js +13 -0
  520. package/test/reuse/ui5/mockserver_qunit/view/App.view.xml +9 -0
  521. package/test/reuse/ui5/mockserver_qunit/view/Home.view.xml +12 -0
  522. package/test/reuse/ui5/mockserver_qunit/view/NotFound.view.xml +11 -0
  523. package/test/reuse/ui5/mockserver_qunit/view/employee/Employee.view.xml +52 -0
  524. package/test/reuse/ui5/mockserver_qunit/view/employee/EmployeeList.view.xml +24 -0
  525. package/test/reuse/ui5/mockserver_qunit/view/employee/Resume.view.xml +35 -0
  526. package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeHobbies.view.xml +3 -0
  527. package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeNotes.view.xml +3 -0
  528. package/test/reuse/ui5/mockserver_qunit/view/employee/ResumeProjects.view.xml +3 -0
  529. package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverview.view.xml +13 -0
  530. package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverviewContent.view.xml +43 -0
  531. package/test/reuse/ui5/mockserver_qunit/view/employee/overview/EmployeeOverviewTop.view.xml +3 -0
  532. package/test/reuse/ui5/navigation/closePopups.spec.js +16 -0
  533. package/test/reuse/ui5/navigation/expectUnsupportedNavigationPopup.spec.js +81 -0
  534. package/test/reuse/ui5/navigation/navigateToApplication.spec.js +148 -0
  535. package/test/reuse/ui5/navigation/navigateToApplicationAndRetry.spec.js +153 -0
  536. package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParams.spec.js +63 -0
  537. package/test/reuse/ui5/navigation/navigateToApplicationWithQueryParamsAndRetry.spec.js +64 -0
  538. package/test/reuse/ui5/navigation/navigateToSystemAndApplication.spec.js +45 -0
  539. package/test/reuse/ui5/navigation/navigateToSystemAndApplicationAndRetry.spec.js +43 -0
  540. package/test/reuse/ui5/navigation/test.navigation.conf.js +17 -0
  541. package/test/reuse/ui5/navigation/test.navigation.sauceLab.conf.js +33 -0
  542. package/test/reuse/ui5/navigation/test.navigation.static.conf.js +34 -0
  543. package/test/reuse/ui5/navigation/test.navigation.static.sauceLab.conf.js +41 -0
  544. package/test/reuse/ui5/navigation/website/main.css +36 -0
  545. package/test/reuse/ui5/navigation/website/main.html +50 -0
  546. package/test/reuse/ui5/navigationBar/clickBack.spec.js +38 -0
  547. package/test/reuse/ui5/navigationBar/clickUserIcon.spec.js +36 -0
  548. package/test/reuse/ui5/navigationBar/expectPageTitle.spec.js +22 -0
  549. package/test/reuse/ui5/navigationBar/expectShellHeader.spec.js +22 -0
  550. package/test/reuse/ui5/navigationBar/test.navigationBar.conf.js +17 -0
  551. package/test/reuse/ui5/navigationBar/test.navigationBar.sauceLab.conf.js +28 -0
  552. package/test/reuse/ui5/session/login.spec.js +78 -0
  553. package/test/reuse/ui5/session/loginFiori.spec.js +52 -0
  554. package/test/reuse/ui5/session/loginSapCloud.spec.js +51 -0
  555. package/test/reuse/ui5/session/logout.spec.js +48 -0
  556. package/test/reuse/ui5/session/switchUser.spec.js +48 -0
  557. package/test/reuse/ui5/session/test.session.conf.js +20 -0
  558. package/test/reuse/ui5/session/test.session.sauceLab.conf.js +29 -0
  559. package/test/reuse/ui5/table/clickSettingsButton.spec.js +58 -0
  560. package/test/reuse/ui5/table/sortColumnAscending.spec.js +84 -0
  561. package/test/reuse/ui5/table/sortColumnDescending.spec.js +84 -0
  562. package/test/reuse/ui5/table/test.table.conf.js +14 -0
  563. package/test/reuse/ui5/table/test.table.sauceLab.conf.js +25 -0
  564. package/test/reuse/ui5/table/test.table.sauceLab.tunnel.conf.js +25 -0
  565. package/test/reuse/ui5/userInteraction/clear.spec.js +75 -0
  566. package/test/reuse/ui5/userInteraction/clearAndFill.spec.js +157 -0
  567. package/test/reuse/ui5/userInteraction/clearAndFillAndRetry.spec.js +132 -0
  568. package/test/reuse/ui5/userInteraction/clearAndFillSmartFieldInput.spec.js +73 -0
  569. package/test/reuse/ui5/userInteraction/clearAndRetry.spec.js +57 -0
  570. package/test/reuse/ui5/userInteraction/click.spec.js +73 -0
  571. package/test/reuse/ui5/userInteraction/clickAndRetry.spec.js +52 -0
  572. package/test/reuse/ui5/userInteraction/clickSelectArrow.spec.js +87 -0
  573. package/test/reuse/ui5/userInteraction/clickSelectArrowAndRetry.spec.js +147 -0
  574. package/test/reuse/ui5/userInteraction/clickTab.spec.js +59 -0
  575. package/test/reuse/ui5/userInteraction/doubleClick.spec.js +73 -0
  576. package/test/reuse/ui5/userInteraction/dragAndDrop.spec.js +34 -0
  577. package/test/reuse/ui5/userInteraction/fill.spec.js +114 -0
  578. package/test/reuse/ui5/userInteraction/fillAndRetry.spec.js +120 -0
  579. package/test/reuse/ui5/userInteraction/mouseOverElement.spec.js +55 -0
  580. package/test/reuse/ui5/userInteraction/openF4Help.spec.js +56 -0
  581. package/test/reuse/ui5/userInteraction/rightClick.spec.js +72 -0
  582. package/test/reuse/ui5/userInteraction/scrollToElement.spec.js +89 -0
  583. package/test/reuse/ui5/userInteraction/searchFor.spec.js +155 -0
  584. package/test/reuse/ui5/userInteraction/selectBox.spec.js +128 -0
  585. package/test/reuse/ui5/userInteraction/selectCombobox.spec.js +115 -0
  586. package/test/reuse/ui5/userInteraction/selectMultiComboBox.spec.js +155 -0
  587. package/test/reuse/ui5/userInteraction/test.userInteraction.conf.js +35 -0
  588. package/test/reuse/ui5/userInteraction/test.userInteraction.sauceLab.conf.js +46 -0
  589. package/test/reuse/util/browser/back.spec.js +32 -0
  590. package/test/reuse/util/browser/clearBrowser.spec.js +35 -0
  591. package/test/reuse/util/browser/executeScript.spec.js +49 -0
  592. package/test/reuse/util/browser/getBaseUrl.spec.js +13 -0
  593. package/test/reuse/util/browser/getBrowserName.spec.js +18 -0
  594. package/test/reuse/util/browser/getCurrentUrl.spec.js +34 -0
  595. package/test/reuse/util/browser/getCurrentWindow.spec.js +42 -0
  596. package/test/reuse/util/browser/getUI5Version.spec.js +31 -0
  597. package/test/reuse/util/browser/logCurrentUrl.spec.js +23 -0
  598. package/test/reuse/util/browser/refresh.spec.js +52 -0
  599. package/test/reuse/util/browser/setBaseUrl.spec.js +13 -0
  600. package/test/reuse/util/browser/switchToDefaultContent.spec.js +34 -0
  601. package/test/reuse/util/browser/switchToIframe.spec.js +29 -0
  602. package/test/reuse/util/browser/switchToNewWindow.spec.js +142 -0
  603. package/test/reuse/util/browser/switchToWindow.spec.js +57 -0
  604. package/test/reuse/util/browser/test.browser.conf.js +27 -0
  605. package/test/reuse/util/data/data/test.json +3 -0
  606. package/test/reuse/util/data/data/test.secure.json +11 -0
  607. package/test/reuse/util/data/decrypt.spec.js +15 -0
  608. package/test/reuse/util/data/getData.spec.js +15 -0
  609. package/test/reuse/util/data/getSecureData.spec.js +57 -0
  610. package/test/reuse/util/data/test.data.conf.js +22 -0
  611. package/test/reuse/util/file/file.spec.js +90 -0
  612. package/test/reuse/util/file/pdfParser.spec.js +55 -0
  613. package/test/reuse/util/file/test.file.conf.js +15 -0
  614. package/test/reuse/util/file/testFiles/sample.pdf +198 -0
  615. package/test/reuse/util/file/testFiles/test.txt +5 -0
  616. package/test/reuse/util/file/testFiles/test2.txt +2 -0
  617. package/test/reuse/util/formatter/addRemoveLeadingZeros.spec.js +38 -0
  618. package/test/reuse/util/formatter/extractNumberFromString.spec.js +67 -0
  619. package/test/reuse/util/formatter/formatDate.spec.js +150 -0
  620. package/test/reuse/util/formatter/sliceStringAfter.spec.js +62 -0
  621. package/test/reuse/util/formatter/sliceStringAt.spec.js +62 -0
  622. package/test/reuse/util/formatter/stringifyJSON.spec.js +24 -0
  623. package/test/reuse/util/formatter/test.formatter.conf.js +20 -0
  624. package/test/reuse/util/formatter/trimString.spec.js +37 -0
  625. package/tsconfig.json +26 -0
@@ -0,0 +1,8 @@
1
+ import { OData } from "./odata";
2
+ import { Rest } from "./rest";
3
+ export declare class Service {
4
+ odata: OData;
5
+ rest: Rest;
6
+ }
7
+ declare const _default: Service;
8
+ export default _default;
@@ -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;