@bigbinary/neeto-commons-frontend 3.0.6 → 3.0.9

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 (420) hide show
  1. package/cjs/configs/babel.js +50 -0
  2. package/cjs/configs/eslint/globals.js +14 -0
  3. package/cjs/configs/eslint/helpers/index.js +74 -0
  4. package/cjs/configs/eslint/imports/enforced.js +29 -0
  5. package/cjs/configs/eslint/imports/order.js +65 -0
  6. package/cjs/configs/eslint/index.js +171 -0
  7. package/cjs/configs/eslint/overrides.js +30 -0
  8. package/cjs/configs/eslint/promise.js +8 -0
  9. package/cjs/configs/eslint/react.js +92 -0
  10. package/cjs/configs/nanos/eslint/imports/order.js +25 -0
  11. package/cjs/configs/nanos/eslint/index.js +28 -0
  12. package/cjs/configs/nanos/tailwind.js +11 -0
  13. package/cjs/configs/nanos/webpack/resolve.js +48 -0
  14. package/cjs/configs/nextjs/eslint/imports/order.js +25 -0
  15. package/cjs/configs/nextjs/eslint/index.js +22 -0
  16. package/cjs/configs/nextjs/webpack/resolve.js +1 -0
  17. package/cjs/configs/prettier.js +16 -0
  18. package/cjs/configs/scripts/dead-code-eliminator/constants.js +12 -0
  19. package/cjs/configs/scripts/dead-code-eliminator/index.js +266 -0
  20. package/cjs/configs/scripts/getPkgTranslations.js +45 -0
  21. package/cjs/configs/scripts/jsdoc-builder/constants.mjs +42 -0
  22. package/cjs/configs/scripts/jsdoc-builder/index.mjs +67 -0
  23. package/cjs/configs/scripts/jsdoc-builder/utils.mjs +219 -0
  24. package/cjs/configs/scripts/remove-unused-translation-keys/constants.js +11 -0
  25. package/cjs/configs/scripts/remove-unused-translation-keys/index.js +186 -0
  26. package/cjs/configs/tailwind.js +13 -0
  27. package/cjs/configs/webpack/helpers/customize-default-rules.js +54 -0
  28. package/cjs/configs/webpack/index.js +58 -0
  29. package/cjs/configs/webpack/resolve.js +53 -0
  30. package/cjs/configs/webpack/rules.js +34 -0
  31. package/{constants.cjs.js → cjs/constants/index.js} +11 -10
  32. package/cjs/constants/index.js.map +1 -0
  33. package/cjs/cypress-configs/initializer.js +32 -0
  34. package/cjs/cypress-configs/plugins.js +105 -0
  35. package/cjs/cypress-configs/resolve.js +17 -0
  36. package/cjs/cypress-configs/webpack.config.js +19 -0
  37. package/cjs/cypress-utils/commands.js +276 -0
  38. package/cjs/cypress-utils/commands.js.map +1 -0
  39. package/cjs/cypress-utils/constants/index.js +14 -0
  40. package/cjs/cypress-utils/constants/index.js.map +1 -0
  41. package/cjs/cypress-utils/constants/routes.js +40 -0
  42. package/cjs/cypress-utils/constants/routes.js.map +1 -0
  43. package/cjs/cypress-utils/constants/selectors/common.js +103 -0
  44. package/cjs/cypress-utils/constants/selectors/common.js.map +1 -0
  45. package/cjs/cypress-utils/constants/selectors/editor.js +29 -0
  46. package/cjs/cypress-utils/constants/selectors/editor.js.map +1 -0
  47. package/cjs/cypress-utils/constants/selectors/ipRestriction.js +19 -0
  48. package/cjs/cypress-utils/constants/selectors/ipRestriction.js.map +1 -0
  49. package/cjs/cypress-utils/constants/selectors/login.js +21 -0
  50. package/cjs/cypress-utils/constants/selectors/login.js.map +1 -0
  51. package/cjs/cypress-utils/constants/selectors/member.js +65 -0
  52. package/cjs/cypress-utils/constants/selectors/member.js.map +1 -0
  53. package/cjs/cypress-utils/constants/selectors/navigation.js +28 -0
  54. package/cjs/cypress-utils/constants/selectors/navigation.js.map +1 -0
  55. package/cjs/cypress-utils/constants/selectors/roles.js +24 -0
  56. package/cjs/cypress-utils/constants/selectors/roles.js.map +1 -0
  57. package/cjs/cypress-utils/constants/selectors/signUp.js +23 -0
  58. package/cjs/cypress-utils/constants/selectors/signUp.js.map +1 -0
  59. package/cjs/cypress-utils/constants/selectors/tags.js +31 -0
  60. package/cjs/cypress-utils/constants/selectors/tags.js.map +1 -0
  61. package/cjs/cypress-utils/constants/texts/common.js +40 -0
  62. package/cjs/cypress-utils/constants/texts/common.js.map +1 -0
  63. package/cjs/cypress-utils/constants/texts/member.js +68 -0
  64. package/cjs/cypress-utils/constants/texts/member.js.map +1 -0
  65. package/cjs/cypress-utils/constants/texts/navigation.js +24 -0
  66. package/cjs/cypress-utils/constants/texts/navigation.js.map +1 -0
  67. package/cjs/cypress-utils/constants/texts/roles.js +25 -0
  68. package/cjs/cypress-utils/constants/texts/roles.js.map +1 -0
  69. package/cjs/cypress-utils/constants/texts/signUp.js +14 -0
  70. package/cjs/cypress-utils/constants/texts/signUp.js.map +1 -0
  71. package/cjs/cypress-utils/constants/texts/tags.js +28 -0
  72. package/cjs/cypress-utils/constants/texts/tags.js.map +1 -0
  73. package/cjs/cypress-utils/fixtures/fake.js +177 -0
  74. package/cjs/cypress-utils/fixtures/fake.js.map +1 -0
  75. package/cjs/cypress-utils/index.js +226 -0
  76. package/cjs/cypress-utils/index.js.map +1 -0
  77. package/cjs/cypress-utils/utils/authentication.js +45 -0
  78. package/cjs/cypress-utils/utils/authentication.js.map +1 -0
  79. package/cjs/cypress-utils/utils/common.js +92 -0
  80. package/cjs/cypress-utils/utils/common.js.map +1 -0
  81. package/cjs/cypress-utils/utils/date.js +28 -0
  82. package/cjs/cypress-utils/utils/date.js.map +1 -0
  83. package/cjs/cypress-utils/utils/email.js +165 -0
  84. package/cjs/cypress-utils/utils/email.js.map +1 -0
  85. package/cjs/cypress-utils/utils/member.js +352 -0
  86. package/cjs/cypress-utils/utils/member.js.map +1 -0
  87. package/cjs/cypress-utils/utils/navigation.js +208 -0
  88. package/cjs/cypress-utils/utils/navigation.js.map +1 -0
  89. package/cjs/cypress-utils/utils/organization.js +109 -0
  90. package/cjs/cypress-utils/utils/organization.js.map +1 -0
  91. package/cjs/cypress-utils/utils/validation.js +17 -0
  92. package/cjs/cypress-utils/utils/validation.js.map +1 -0
  93. package/cjs/initializers/axios/index.js +199 -0
  94. package/cjs/initializers/axios/index.js.map +1 -0
  95. package/cjs/initializers/axios/paramsSerializer.js +27 -0
  96. package/cjs/initializers/axios/paramsSerializer.js.map +1 -0
  97. package/cjs/initializers/constants.js +23 -0
  98. package/cjs/initializers/constants.js.map +1 -0
  99. package/cjs/initializers/globalProps.js +15 -0
  100. package/cjs/initializers/globalProps.js.map +1 -0
  101. package/cjs/initializers/i18n.js +74 -0
  102. package/cjs/initializers/i18n.js.map +1 -0
  103. package/cjs/initializers/index.js +51 -0
  104. package/cjs/initializers/index.js.map +1 -0
  105. package/cjs/initializers/logger.js +17 -0
  106. package/cjs/initializers/logger.js.map +1 -0
  107. package/cjs/initializers/reactDevTools.js +26 -0
  108. package/cjs/initializers/reactDevTools.js.map +1 -0
  109. package/cjs/initializers/utils/customFormatters.js +52 -0
  110. package/cjs/initializers/utils/customFormatters.js.map +1 -0
  111. package/cjs/initializers/utils/customPostProcessors.js +21 -0
  112. package/cjs/initializers/utils/customPostProcessors.js.map +1 -0
  113. package/cjs/initializers/utils.js +37 -0
  114. package/cjs/initializers/utils.js.map +1 -0
  115. package/cjs/react-utils/BrowserPushNotifications/devices.js +26 -0
  116. package/cjs/react-utils/BrowserPushNotifications/devices.js.map +1 -0
  117. package/cjs/react-utils/BrowserPushNotifications/index.js +19 -0
  118. package/cjs/react-utils/BrowserPushNotifications/index.js.map +1 -0
  119. package/cjs/react-utils/BrowserPushNotifications/pushHelper.js +116 -0
  120. package/cjs/react-utils/BrowserPushNotifications/pushHelper.js.map +1 -0
  121. package/cjs/react-utils/BrowserPushNotifications/registerServiceWorker.js +146 -0
  122. package/cjs/react-utils/BrowserPushNotifications/registerServiceWorker.js.map +1 -0
  123. package/cjs/react-utils/HoneybadgerErrorBoundary/FallbackComponent.js +153 -0
  124. package/cjs/react-utils/HoneybadgerErrorBoundary/FallbackComponent.js.map +1 -0
  125. package/cjs/react-utils/HoneybadgerErrorBoundary/constants.js +9 -0
  126. package/cjs/react-utils/HoneybadgerErrorBoundary/constants.js.map +1 -0
  127. package/cjs/react-utils/HoneybadgerErrorBoundary/index.js +59 -0
  128. package/cjs/react-utils/HoneybadgerErrorBoundary/index.js.map +1 -0
  129. package/cjs/react-utils/HoneybadgerErrorBoundary/utils.js +17 -0
  130. package/cjs/react-utils/HoneybadgerErrorBoundary/utils.js.map +1 -0
  131. package/cjs/react-utils/PrivateRoute.js +80 -0
  132. package/cjs/react-utils/PrivateRoute.js.map +1 -0
  133. package/cjs/react-utils/constants/constants.js +11 -0
  134. package/cjs/react-utils/constants/constants.js.map +1 -0
  135. package/cjs/react-utils/constants/index.js +28 -0
  136. package/cjs/react-utils/constants/index.js.map +1 -0
  137. package/cjs/react-utils/constants/query.js +11 -0
  138. package/cjs/react-utils/constants/query.js.map +1 -0
  139. package/cjs/react-utils/index.js +242 -0
  140. package/cjs/react-utils/index.js.map +1 -0
  141. package/cjs/react-utils/metaClick.js +16 -0
  142. package/cjs/react-utils/metaClick.js.map +1 -0
  143. package/cjs/react-utils/useDebounce.js +28 -0
  144. package/cjs/react-utils/useDebounce.js.map +1 -0
  145. package/cjs/react-utils/useDisplayErrorPage.js +23 -0
  146. package/cjs/react-utils/useDisplayErrorPage.js.map +1 -0
  147. package/cjs/react-utils/useFetchNeetoApps/apis/neeto_apps.js +17 -0
  148. package/cjs/react-utils/useFetchNeetoApps/apis/neeto_apps.js.map +1 -0
  149. package/cjs/react-utils/useFetchNeetoApps/index.js +14 -0
  150. package/cjs/react-utils/useFetchNeetoApps/index.js.map +1 -0
  151. package/cjs/react-utils/useFetchNeetoApps/useFetchNeetoApps.js +27 -0
  152. package/cjs/react-utils/useFetchNeetoApps/useFetchNeetoApps.js.map +1 -0
  153. package/cjs/react-utils/useFieldSubmit.js +33 -0
  154. package/cjs/react-utils/useFieldSubmit.js.map +1 -0
  155. package/cjs/react-utils/useFuncDebounce.js +27 -0
  156. package/cjs/react-utils/useFuncDebounce.js.map +1 -0
  157. package/cjs/react-utils/useHotKeys/constants.js +36 -0
  158. package/cjs/react-utils/useHotKeys/constants.js.map +1 -0
  159. package/cjs/react-utils/useHotKeys/index.js +14 -0
  160. package/cjs/react-utils/useHotKeys/index.js.map +1 -0
  161. package/cjs/react-utils/useHotKeys/useHotKeys.js +65 -0
  162. package/cjs/react-utils/useHotKeys/useHotKeys.js.map +1 -0
  163. package/cjs/react-utils/useHotKeys/utils.js +37 -0
  164. package/cjs/react-utils/useHotKeys/utils.js.map +1 -0
  165. package/cjs/react-utils/useIsElementVisibleInDom/index.js +14 -0
  166. package/cjs/react-utils/useIsElementVisibleInDom/index.js.map +1 -0
  167. package/cjs/react-utils/useIsElementVisibleInDom/useForceUpdate.js +23 -0
  168. package/cjs/react-utils/useIsElementVisibleInDom/useForceUpdate.js.map +1 -0
  169. package/cjs/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js +34 -0
  170. package/cjs/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js.map +1 -0
  171. package/cjs/react-utils/useKeyboardShortcutsPaneState.js +36 -0
  172. package/cjs/react-utils/useKeyboardShortcutsPaneState.js.map +1 -0
  173. package/cjs/react-utils/useLocalStorage.js +39 -0
  174. package/cjs/react-utils/useLocalStorage.js.map +1 -0
  175. package/cjs/react-utils/useMutationWithInvalidation.js +33 -0
  176. package/cjs/react-utils/useMutationWithInvalidation.js.map +1 -0
  177. package/cjs/react-utils/useOnClickOutside.js +32 -0
  178. package/cjs/react-utils/useOnClickOutside.js.map +1 -0
  179. package/cjs/react-utils/usePersistedQuery.js +59 -0
  180. package/cjs/react-utils/usePersistedQuery.js.map +1 -0
  181. package/cjs/react-utils/usePrevious.js +17 -0
  182. package/cjs/react-utils/usePrevious.js.map +1 -0
  183. package/cjs/react-utils/useQueryParams.js +15 -0
  184. package/cjs/react-utils/useQueryParams.js.map +1 -0
  185. package/cjs/react-utils/useRegisterNavigationCheckpoint.js +43 -0
  186. package/cjs/react-utils/useRegisterNavigationCheckpoint.js.map +1 -0
  187. package/cjs/react-utils/useStateWithDependency.js +23 -0
  188. package/cjs/react-utils/useStateWithDependency.js.map +1 -0
  189. package/cjs/react-utils/useTimer.js +51 -0
  190. package/cjs/react-utils/useTimer.js.map +1 -0
  191. package/cjs/react-utils/useUpdateEffect.js +21 -0
  192. package/cjs/react-utils/useUpdateEffect.js.map +1 -0
  193. package/cjs/react-utils/withImmutableActions.js +29 -0
  194. package/cjs/react-utils/withImmutableActions.js.map +1 -0
  195. package/cjs/react-utils/withT.js +14 -0
  196. package/cjs/react-utils/withT.js.map +1 -0
  197. package/cjs/react-utils/withTitle.js +44 -0
  198. package/cjs/react-utils/withTitle.js.map +1 -0
  199. package/cjs/utils/axios.js +17 -0
  200. package/cjs/utils/axios.js.map +1 -0
  201. package/cjs/utils/createSubscription.js +22 -0
  202. package/cjs/utils/createSubscription.js.map +1 -0
  203. package/cjs/utils/currencyFormat.js +50 -0
  204. package/cjs/utils/currencyFormat.js.map +1 -0
  205. package/cjs/utils/datetime.js +69 -0
  206. package/cjs/utils/datetime.js.map +1 -0
  207. package/cjs/utils/general.js +193 -0
  208. package/cjs/utils/general.js.map +1 -0
  209. package/cjs/utils/index.js +72 -0
  210. package/cjs/utils/index.js.map +1 -0
  211. package/cjs/utils/permissions.js +25 -0
  212. package/cjs/utils/permissions.js.map +1 -0
  213. package/configs/scripts/getPkgTranslations.js +1 -1
  214. package/configs/scripts/jsdoc-builder/constants.mjs +1 -1
  215. package/configs/scripts/jsdoc-builder/index.mjs +1 -1
  216. package/configs/webpack/rules.js +2 -1
  217. package/constants/index.js +13 -0
  218. package/constants/index.js.map +1 -0
  219. package/cypress-utils/commands.js +268 -0
  220. package/cypress-utils/commands.js.map +1 -0
  221. package/cypress-utils/constants/index.js +7 -0
  222. package/cypress-utils/constants/index.js.map +1 -0
  223. package/cypress-utils/constants/routes.js +33 -0
  224. package/cypress-utils/constants/routes.js.map +1 -0
  225. package/cypress-utils/constants/selectors/common.js +94 -0
  226. package/cypress-utils/constants/selectors/common.js.map +1 -0
  227. package/cypress-utils/constants/selectors/editor.js +22 -0
  228. package/cypress-utils/constants/selectors/editor.js.map +1 -0
  229. package/cypress-utils/constants/selectors/ipRestriction.js +12 -0
  230. package/cypress-utils/constants/selectors/ipRestriction.js.map +1 -0
  231. package/cypress-utils/constants/selectors/login.js +14 -0
  232. package/cypress-utils/constants/selectors/login.js.map +1 -0
  233. package/cypress-utils/constants/selectors/member.js +56 -0
  234. package/cypress-utils/constants/selectors/member.js.map +1 -0
  235. package/cypress-utils/constants/selectors/navigation.js +20 -0
  236. package/cypress-utils/constants/selectors/navigation.js.map +1 -0
  237. package/cypress-utils/constants/selectors/roles.js +17 -0
  238. package/cypress-utils/constants/selectors/roles.js.map +1 -0
  239. package/cypress-utils/constants/selectors/signUp.js +16 -0
  240. package/cypress-utils/constants/selectors/signUp.js.map +1 -0
  241. package/cypress-utils/constants/selectors/tags.js +23 -0
  242. package/cypress-utils/constants/selectors/tags.js.map +1 -0
  243. package/cypress-utils/constants/texts/common.js +33 -0
  244. package/cypress-utils/constants/texts/common.js.map +1 -0
  245. package/cypress-utils/constants/texts/member.js +59 -0
  246. package/cypress-utils/constants/texts/member.js.map +1 -0
  247. package/cypress-utils/constants/texts/navigation.js +16 -0
  248. package/cypress-utils/constants/texts/navigation.js.map +1 -0
  249. package/cypress-utils/constants/texts/roles.js +18 -0
  250. package/cypress-utils/constants/texts/roles.js.map +1 -0
  251. package/cypress-utils/constants/texts/signUp.js +7 -0
  252. package/cypress-utils/constants/texts/signUp.js.map +1 -0
  253. package/cypress-utils/constants/texts/tags.js +21 -0
  254. package/cypress-utils/constants/texts/tags.js.map +1 -0
  255. package/cypress-utils/fixtures/fake.js +171 -0
  256. package/cypress-utils/fixtures/fake.js.map +1 -0
  257. package/cypress-utils/index.js +21 -0
  258. package/cypress-utils/index.js.map +1 -0
  259. package/cypress-utils/utils/authentication.js +38 -0
  260. package/cypress-utils/utils/authentication.js.map +1 -0
  261. package/cypress-utils/utils/common.js +75 -0
  262. package/cypress-utils/utils/common.js.map +1 -0
  263. package/cypress-utils/utils/date.js +20 -0
  264. package/cypress-utils/utils/date.js.map +1 -0
  265. package/cypress-utils/utils/email.js +156 -0
  266. package/cypress-utils/utils/email.js.map +1 -0
  267. package/cypress-utils/utils/member.js +344 -0
  268. package/cypress-utils/utils/member.js.map +1 -0
  269. package/cypress-utils/utils/navigation.js +200 -0
  270. package/cypress-utils/utils/navigation.js.map +1 -0
  271. package/cypress-utils/utils/organization.js +102 -0
  272. package/cypress-utils/utils/organization.js.map +1 -0
  273. package/cypress-utils/utils/validation.js +10 -0
  274. package/cypress-utils/utils/validation.js.map +1 -0
  275. package/initializers/axios/index.js +192 -0
  276. package/initializers/axios/index.js.map +1 -0
  277. package/initializers/axios/paramsSerializer.js +18 -0
  278. package/initializers/axios/paramsSerializer.js.map +1 -0
  279. package/initializers/constants.js +13 -0
  280. package/initializers/constants.js.map +1 -0
  281. package/initializers/globalProps.js +8 -0
  282. package/initializers/globalProps.js.map +1 -0
  283. package/initializers/i18n.js +67 -0
  284. package/initializers/i18n.js.map +1 -0
  285. package/initializers/index.js +28 -0
  286. package/initializers/index.js.map +1 -0
  287. package/initializers/logger.js +10 -0
  288. package/initializers/logger.js.map +1 -0
  289. package/initializers/reactDevTools.js +19 -0
  290. package/initializers/reactDevTools.js.map +1 -0
  291. package/initializers/utils/customFormatters.js +43 -0
  292. package/initializers/utils/customFormatters.js.map +1 -0
  293. package/initializers/utils/customPostProcessors.js +14 -0
  294. package/initializers/utils/customPostProcessors.js.map +1 -0
  295. package/initializers/utils.js +29 -0
  296. package/initializers/utils.js.map +1 -0
  297. package/package.json +51 -158
  298. package/pure.d.ts +384 -0
  299. package/react-utils/BrowserPushNotifications/devices.js +18 -0
  300. package/react-utils/BrowserPushNotifications/devices.js.map +1 -0
  301. package/react-utils/BrowserPushNotifications/index.js +1 -0
  302. package/react-utils/BrowserPushNotifications/index.js.map +1 -0
  303. package/react-utils/BrowserPushNotifications/pushHelper.js +107 -0
  304. package/react-utils/BrowserPushNotifications/pushHelper.js.map +1 -0
  305. package/react-utils/BrowserPushNotifications/registerServiceWorker.js +137 -0
  306. package/react-utils/BrowserPushNotifications/registerServiceWorker.js.map +1 -0
  307. package/react-utils/HoneybadgerErrorBoundary/FallbackComponent.js +144 -0
  308. package/react-utils/HoneybadgerErrorBoundary/FallbackComponent.js.map +1 -0
  309. package/react-utils/HoneybadgerErrorBoundary/constants.js +1 -0
  310. package/react-utils/HoneybadgerErrorBoundary/constants.js.map +1 -0
  311. package/react-utils/HoneybadgerErrorBoundary/index.js +52 -0
  312. package/react-utils/HoneybadgerErrorBoundary/index.js.map +1 -0
  313. package/react-utils/HoneybadgerErrorBoundary/utils.js +9 -0
  314. package/react-utils/HoneybadgerErrorBoundary/utils.js.map +1 -0
  315. package/react-utils/PrivateRoute.js +72 -0
  316. package/react-utils/PrivateRoute.js.map +1 -0
  317. package/react-utils/constants/constants.js +3 -0
  318. package/react-utils/constants/constants.js.map +1 -0
  319. package/react-utils/constants/index.js +3 -0
  320. package/react-utils/constants/index.js.map +1 -0
  321. package/react-utils/constants/query.js +4 -0
  322. package/react-utils/constants/query.js.map +1 -0
  323. package/react-utils/index.js +33 -0
  324. package/react-utils/index.js.map +1 -0
  325. package/react-utils/metaClick.js +8 -0
  326. package/react-utils/metaClick.js.map +1 -0
  327. package/react-utils/useDebounce.js +20 -0
  328. package/react-utils/useDebounce.js.map +1 -0
  329. package/react-utils/useDisplayErrorPage.js +15 -0
  330. package/react-utils/useDisplayErrorPage.js.map +1 -0
  331. package/react-utils/useFetchNeetoApps/apis/neeto_apps.js +9 -0
  332. package/react-utils/useFetchNeetoApps/apis/neeto_apps.js.map +1 -0
  333. package/react-utils/useFetchNeetoApps/index.js +1 -0
  334. package/react-utils/useFetchNeetoApps/index.js.map +1 -0
  335. package/react-utils/useFetchNeetoApps/useFetchNeetoApps.js +19 -0
  336. package/react-utils/useFetchNeetoApps/useFetchNeetoApps.js.map +1 -0
  337. package/react-utils/useFieldSubmit.js +26 -0
  338. package/react-utils/useFieldSubmit.js.map +1 -0
  339. package/react-utils/useFuncDebounce.js +20 -0
  340. package/react-utils/useFuncDebounce.js.map +1 -0
  341. package/react-utils/useHotKeys/constants.js +25 -0
  342. package/react-utils/useHotKeys/constants.js.map +1 -0
  343. package/react-utils/useHotKeys/index.js +1 -0
  344. package/react-utils/useHotKeys/index.js.map +1 -0
  345. package/react-utils/useHotKeys/useHotKeys.js +57 -0
  346. package/react-utils/useHotKeys/useHotKeys.js.map +1 -0
  347. package/react-utils/useHotKeys/utils.js +29 -0
  348. package/react-utils/useHotKeys/utils.js.map +1 -0
  349. package/react-utils/useIsElementVisibleInDom/index.js +1 -0
  350. package/react-utils/useIsElementVisibleInDom/index.js.map +1 -0
  351. package/react-utils/useIsElementVisibleInDom/useForceUpdate.js +15 -0
  352. package/react-utils/useIsElementVisibleInDom/useForceUpdate.js.map +1 -0
  353. package/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js +26 -0
  354. package/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js.map +1 -0
  355. package/react-utils/useKeyboardShortcutsPaneState.js +29 -0
  356. package/react-utils/useKeyboardShortcutsPaneState.js.map +1 -0
  357. package/react-utils/useLocalStorage.js +31 -0
  358. package/react-utils/useLocalStorage.js.map +1 -0
  359. package/react-utils/useMutationWithInvalidation.js +25 -0
  360. package/react-utils/useMutationWithInvalidation.js.map +1 -0
  361. package/react-utils/useOnClickOutside.js +25 -0
  362. package/react-utils/useOnClickOutside.js.map +1 -0
  363. package/react-utils/usePersistedQuery.js +51 -0
  364. package/react-utils/usePersistedQuery.js.map +1 -0
  365. package/react-utils/usePrevious.js +10 -0
  366. package/react-utils/usePrevious.js.map +1 -0
  367. package/react-utils/useQueryParams.js +8 -0
  368. package/react-utils/useQueryParams.js.map +1 -0
  369. package/react-utils/useRegisterNavigationCheckpoint.js +35 -0
  370. package/react-utils/useRegisterNavigationCheckpoint.js.map +1 -0
  371. package/react-utils/useStateWithDependency.js +15 -0
  372. package/react-utils/useStateWithDependency.js.map +1 -0
  373. package/react-utils/useTimer.js +43 -0
  374. package/react-utils/useTimer.js.map +1 -0
  375. package/react-utils/useUpdateEffect.js +14 -0
  376. package/react-utils/useUpdateEffect.js.map +1 -0
  377. package/react-utils/withImmutableActions.js +22 -0
  378. package/react-utils/withImmutableActions.js.map +1 -0
  379. package/react-utils/withT.js +7 -0
  380. package/react-utils/withT.js.map +1 -0
  381. package/react-utils/withTitle.js +36 -0
  382. package/react-utils/withTitle.js.map +1 -0
  383. package/react-utils.d.ts +14 -2
  384. package/translations/en.json +100 -0
  385. package/utils/axios.js +10 -0
  386. package/utils/axios.js.map +1 -0
  387. package/utils/createSubscription.js +15 -0
  388. package/utils/createSubscription.js.map +1 -0
  389. package/utils/currencyFormat.js +42 -0
  390. package/utils/currencyFormat.js.map +1 -0
  391. package/utils/datetime.js +60 -0
  392. package/utils/datetime.js.map +1 -0
  393. package/utils/general.js +172 -0
  394. package/utils/general.js.map +1 -0
  395. package/utils/index.js +7 -0
  396. package/utils/index.js.map +1 -0
  397. package/utils/permissions.js +16 -0
  398. package/utils/permissions.js.map +1 -0
  399. package/utils.d.ts +18 -2
  400. package/README.md +0 -173
  401. package/constants.cjs.js.map +0 -1
  402. package/constants.js +0 -15
  403. package/constants.js.map +0 -1
  404. package/cypress-utils.cjs.js +0 -1819
  405. package/cypress-utils.cjs.js.map +0 -1
  406. package/cypress-utils.js +0 -1773
  407. package/cypress-utils.js.map +0 -1
  408. package/initializers.cjs.js +0 -2648
  409. package/initializers.cjs.js.map +0 -1
  410. package/initializers.js +0 -2634
  411. package/initializers.js.map +0 -1
  412. package/react-utils.cjs.js +0 -4915
  413. package/react-utils.cjs.js.map +0 -1
  414. package/react-utils.js +0 -4860
  415. package/react-utils.js.map +0 -1
  416. package/utils.cjs.js +0 -1280
  417. package/utils.cjs.js.map +0 -1
  418. package/utils.js +0 -1248
  419. package/utils.js.map +0 -1
  420. /package/{src → cjs}/translations/en.json +0 -0
@@ -0,0 +1,352 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.memberUtils = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _common = require("./common");
10
+ var _routes = require("../constants/routes");
11
+ var _common2 = require("../constants/selectors/common");
12
+ var _member = require("../constants/selectors/member");
13
+ var _common3 = require("../constants/texts/common");
14
+ var _member2 = require("../constants/texts/member");
15
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
+ var interceptMemberApi = function interceptMemberApi(alias) {
18
+ var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
19
+ return cy.intercept({
20
+ url: _routes.requestApis.teamMembers.all,
21
+ times: times
22
+ }).as(alias);
23
+ };
24
+ var navigateToMembersPage = function navigateToMembersPage() {
25
+ var waitForRequest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
26
+ waitForRequest && interceptMemberApi("fetchMembers", 2);
27
+ cy.get(_member.memberSelectors.membersTab).click();
28
+ cy.url().should("include", _routes.urlPaths.members);
29
+ waitForRequest && cy.waitForMultipleRequest("@fetchMembers", 2);
30
+ cy.get(_common2.commonSelectors.heading).should("have.text", _member2.memberTexts.activeMembersHeading);
31
+ };
32
+ var addMemberViaUI = function addMemberViaUI(_ref) {
33
+ var email = _ref.email,
34
+ _ref$role = _ref.role,
35
+ role = _ref$role === void 0 ? _member2.memberTexts.agent : _ref$role,
36
+ appName = _ref.appName;
37
+ var invalidEmail = "Invalid email";
38
+ cy.get(_member.memberSelectors.newButton).should("have.text", _member2.memberTexts.addMember).click();
39
+ cy.get(_common2.commonSelectors.paneHeader).should("have.text", _member2.memberTexts.newHeading);
40
+ cy.get(_member.memberFormSelectors.emailTextField).should("be.focused");
41
+ cy.get(_member.memberFormSelectors.cancelButton).click();
42
+ cy.get(_common2.commonSelectors.paneHeader).should("not.exist");
43
+
44
+ // form validation
45
+ cy.get(_member.memberSelectors.newButton).should("be.visible").click();
46
+ cy.get(_member.memberSelectors.continueButton).should("be.disabled");
47
+ cy.get(_member.memberSelectors.roleLabel(role)).click();
48
+ cy.get(_member.memberSelectors.continueButton).click();
49
+ cy.get(_member.memberFormSelectors.emailErrorField).should("contain.text", _member2.memberFormErrorTexts.emailRequired);
50
+ cy.typeAndEnter(_member.memberFormSelectors.emailTextField, invalidEmail);
51
+ cy.get(_member.memberFormSelectors.emailErrorField).should("contains.text", _member2.memberFormErrorTexts.emailInvalid);
52
+ cy.get(_member.memberFormSelectors.emailErrorField).should("contain.text", _member2.memberFormErrorTexts.removeInvalidEmail);
53
+ cy.get(_common2.commonSelectors.paneModalCrossIcon).click();
54
+ cy.get(_common2.commonSelectors.paneHeader).should("not.exist");
55
+
56
+ // form submission
57
+ cy.get(_member.memberSelectors.newButton).click();
58
+ cy.typeAndEnter(_member.memberFormSelectors.emailTextField, email);
59
+ cy.get(_member.memberSelectors.roleLabel(role)).click();
60
+ cy.get(_member.memberSelectors.continueButton).click();
61
+ if (_common.isStagingEnv) {
62
+ cy.get(_common2.commonSelectors.checkboxLabel).should("have.text", _member2.memberTexts.addMemberToProducts(email));
63
+ cy.get(_common2.commonSelectors.paneBody).within(function () {
64
+ return cy.get(_common2.commonSelectors.checkbox).uncheck();
65
+ });
66
+ cy.get(_member.memberSelectors.continueButton).click();
67
+ }
68
+ cy.get(_common2.commonSelectors.paneBody).should("contain.text", _member2.memberTexts.inviteMessage({
69
+ email: email,
70
+ role: role,
71
+ appName: appName
72
+ }));
73
+ interceptMemberApi("createAndFetchMember", 2);
74
+ cy.get(_member.memberSelectors.submitButton).click();
75
+ cy.wait("@createAndFetchMember");
76
+ cy.verifyToastIcon();
77
+ cy.wait("@createAndFetchMember");
78
+ verifyMemberDetails({
79
+ email: email,
80
+ role: role,
81
+ skipSearchRequest: false
82
+ });
83
+ };
84
+ var editMemberViaUI = function editMemberViaUI(_ref2) {
85
+ var email = _ref2.email,
86
+ newRole = _ref2.newRole,
87
+ firstName = _ref2.firstName,
88
+ lastName = _ref2.lastName,
89
+ skipSearchRequest = _ref2.skipSearchRequest,
90
+ _ref2$updateCount = _ref2.updateCount,
91
+ updateCount = _ref2$updateCount === void 0 ? 2 : _ref2$updateCount;
92
+ var name = firstName && lastName ? [firstName, lastName].join(" ") : null;
93
+ verifyMemberDetails({
94
+ email: email,
95
+ skipSearchRequest: skipSearchRequest
96
+ }).within(function () {
97
+ cy.get(_member.memberSelectors.dropDownIcon).click();
98
+ });
99
+ cy.get(_member.memberSelectors.editButton).should("have.text", _common3.commonTexts.edit).click();
100
+ cy.get(_common2.commonSelectors.paneHeader).should("have.text", _member2.memberTexts.editMember);
101
+ cy.get(_member.memberFormSelectors.firstNameTextField).should("be.focused");
102
+ cy.get(_member.memberSelectors.roleLabel(newRole)).click();
103
+ cy.get(_member.memberFormSelectors.emailInput).should("be.disabled").should("have.value", email);
104
+ firstName && cy.clearAndType(_member.memberFormSelectors.firstNameTextField, firstName);
105
+ lastName && cy.clearAndType(_member.memberFormSelectors.lastNameTextField, lastName);
106
+ interceptMemberApi("updateAndFetchMember", updateCount);
107
+ cy.get(_member.memberSelectors.submitButton).click();
108
+ cy.wait("@updateAndFetchMember");
109
+ cy.verifyToastIcon();
110
+ cy.waitForMultipleRequest("@updateAndFetchMember", updateCount - 1);
111
+ verifyMemberDetails({
112
+ email: email,
113
+ role: newRole,
114
+ name: name,
115
+ skipSearchRequest: true
116
+ });
117
+ };
118
+ var verifyMemberDetails = function verifyMemberDetails(_ref3) {
119
+ var email = _ref3.email,
120
+ role = _ref3.role,
121
+ name = _ref3.name,
122
+ statusTag = _ref3.statusTag,
123
+ _ref3$skipSearchReque = _ref3.skipSearchRequest,
124
+ skipSearchRequest = _ref3$skipSearchReque === void 0 ? true : _ref3$skipSearchReque;
125
+ !skipSearchRequest && interceptMemberApi("searchMember");
126
+ cy.typeOnSearchField({
127
+ selector: _member.memberSelectors.searchTextField,
128
+ value: email
129
+ });
130
+ !skipSearchRequest && cy.wait("@searchMember");
131
+ return cy.contains(_common2.tableSelectors.tableRow, email).within(function () {
132
+ cy.get(_common2.tableSelectors.nthColumn(3)).should("have.text", email);
133
+ cy.get(_common2.tableSelectors.nthColumn(2)).within(function () {
134
+ name && cy.get("p").should("have.text", name);
135
+ });
136
+ role && cy.get(_common2.tableSelectors.nthColumn(4)).should("have.text", role);
137
+ statusTag && cy.get(_member.memberSelectors.statusTag).should("have.text", statusTag);
138
+ });
139
+ };
140
+ var updateMemberRole = function updateMemberRole(_ref4) {
141
+ var email = _ref4.email,
142
+ role = _ref4.role,
143
+ skipSearchRequest = _ref4.skipSearchRequest;
144
+ verifyMemberDetails({
145
+ email: email,
146
+ skipSearchRequest: skipSearchRequest
147
+ }).within(function () {
148
+ return cy.clickDropdownOption(_common3.commonTexts.edit);
149
+ });
150
+ cy.get(_common2.commonSelectors.paneHeader).should("have.text", _member2.memberTexts.updateMemberRole);
151
+ cy.get(_member.memberSelectors.roleLabel(role)).click();
152
+ interceptMemberApi("updateAndFetchMember", 2);
153
+ cy.get(_member.memberSelectors.submitButton).click();
154
+ cy.wait("@updateAndFetchMember");
155
+ cy.verifyToastIcon();
156
+ cy.wait("@updateAndFetchMember");
157
+ verifyMemberDetails({
158
+ email: email,
159
+ role: role
160
+ });
161
+ };
162
+ var verifyActivatedMember = function verifyActivatedMember(_ref5) {
163
+ var email = _ref5.email,
164
+ _ref5$skipFetchReques = _ref5.skipFetchRequest,
165
+ skipFetchRequest = _ref5$skipFetchReques === void 0 ? false : _ref5$skipFetchReques,
166
+ _ref5$skipSearchReque = _ref5.skipSearchRequest,
167
+ skipSearchRequest = _ref5$skipSearchReque === void 0 ? true : _ref5$skipSearchReque;
168
+ cy.get(_common2.commonSelectors.toggleButton).click();
169
+ cy.get(_member.memberSelectors.menuBarHeading).should("have.text", _member2.memberTexts.members);
170
+ !skipFetchRequest && interceptMemberApi("fetchActivatedMembers");
171
+ cy.get(_member.memberSelectors.activatedMembersButton).click();
172
+ !skipFetchRequest && cy.wait("@fetchActivatedMembers");
173
+ verifyMemberDetails({
174
+ email: email,
175
+ skipSearchRequest: skipSearchRequest
176
+ });
177
+ cy.get(_common2.commonSelectors.toggleButton).click();
178
+ };
179
+ var verifyDeactivatedMember = function verifyDeactivatedMember(_ref6) {
180
+ var email = _ref6.email,
181
+ _ref6$skipFetchReques = _ref6.skipFetchRequest,
182
+ skipFetchRequest = _ref6$skipFetchReques === void 0 ? false : _ref6$skipFetchReques,
183
+ _ref6$skipSearchReque = _ref6.skipSearchRequest,
184
+ skipSearchRequest = _ref6$skipSearchReque === void 0 ? true : _ref6$skipSearchReque;
185
+ cy.get(_common2.commonSelectors.toggleButton).click();
186
+ cy.get(_member.memberSelectors.menuBarHeading).should("have.text", _member2.memberTexts.members);
187
+ !skipFetchRequest && interceptMemberApi("fetchDeactivatedMembers");
188
+ cy.get(_member.memberSelectors.deactivatedAgentsButton).click();
189
+ !skipFetchRequest && cy.wait("@fetchDeactivatedMembers");
190
+ verifyMemberDetails({
191
+ email: email,
192
+ skipSearchRequest: skipSearchRequest
193
+ });
194
+ cy.get(_common2.commonSelectors.toggleButton).click();
195
+ };
196
+ var activateMember = function activateMember(_ref7) {
197
+ var email = _ref7.email,
198
+ name = _ref7.name,
199
+ _ref7$skipSearchReque = _ref7.skipSearchRequest,
200
+ skipSearchRequest = _ref7$skipSearchReque === void 0 ? true : _ref7$skipSearchReque;
201
+ verifyMemberDetails({
202
+ email: email,
203
+ skipSearchRequest: skipSearchRequest
204
+ }).within(function () {
205
+ cy.get(_member.memberSelectors.dropDownIcon).click();
206
+ });
207
+ cy.get(_member.memberSelectors.activateOrDeactivateMember).should("have.text", _common3.commonTexts.activate).click();
208
+ cy.get(_common2.commonSelectors.alertTitle).should("have.text", _member2.memberTexts.activateMember);
209
+ cy.get(_common2.commonSelectors.alertModalMessage).should("have.text", _member2.memberTexts.activateMemberAlertMessage(name || email));
210
+ interceptMemberApi("activateAndFetchMember", 2);
211
+ cy.get(_common2.commonSelectors.alertModalSubmitButton).click();
212
+ cy.wait("@activateAndFetchMember");
213
+ cy.verifyToastIcon();
214
+ cy.wait("@activateAndFetchMember");
215
+ verifyActivatedMember({
216
+ email: email
217
+ });
218
+ };
219
+ var deactivateMember = function deactivateMember(_ref8) {
220
+ var email = _ref8.email,
221
+ name = _ref8.name,
222
+ _ref8$skipSearchReque = _ref8.skipSearchRequest,
223
+ skipSearchRequest = _ref8$skipSearchReque === void 0 ? true : _ref8$skipSearchReque;
224
+ verifyMemberDetails({
225
+ email: email,
226
+ skipSearchRequest: skipSearchRequest
227
+ }).within(function () {
228
+ cy.get(_member.memberSelectors.dropDownIcon).click();
229
+ });
230
+ cy.get(_member.memberSelectors.activateOrDeactivateMember).should("have.text", _common3.commonTexts.deactivate).click();
231
+ cy.get(_common2.commonSelectors.alertTitle).should("have.text", _member2.memberTexts.deactivateMember);
232
+ cy.get(_common2.commonSelectors.alertModalMessage).should("have.text", _member2.memberTexts.deactivateMemberAlertMessage(name || email));
233
+ interceptMemberApi("deactivateAndFetchMember", 2);
234
+ cy.get(_common2.commonSelectors.alertModalSubmitButton).click();
235
+ cy.wait("@deactivateAndFetchMember");
236
+ cy.verifyToastIcon();
237
+ cy.wait("@deactivateAndFetchMember");
238
+ verifyDeactivatedMember({
239
+ email: email
240
+ });
241
+ };
242
+ var unCheckColumnAndVerifyTableHeader = function unCheckColumnAndVerifyTableHeader(fieldSelector, columnText) {
243
+ clickOnColumnIcon();
244
+ cy.get(fieldSelector).parent().within(function () {
245
+ cy.get(_member.memberSelectors.columnCheckBox).should("be.checked").uncheck().should("not.be.checked");
246
+ });
247
+ memberUtils.clickOnColumnIcon();
248
+ cy.get(_member.memberSelectors.columnsDropdownContainer).should("not.exist");
249
+ cy.contains(_common2.tableSelectors.tableHeader, columnText).should("not.exist");
250
+ };
251
+ var checkColumnAndVerifyTableHeader = function checkColumnAndVerifyTableHeader(fieldSelector, columnText) {
252
+ clickOnColumnIcon();
253
+ cy.get(fieldSelector).parent().within(function () {
254
+ cy.get(_member.memberSelectors.columnCheckBox).should("not.be.checked").check().should("be.checked");
255
+ });
256
+ memberUtils.clickOnColumnIcon();
257
+ cy.get(_member.memberSelectors.columnsDropdownContainer).should("not.exist");
258
+ cy.contains(_common2.tableSelectors.tableHeader, columnText).should("be.visible");
259
+ };
260
+ var addMemberViaRequest = function addMemberViaRequest(_ref9) {
261
+ var email = _ref9.email,
262
+ _ref9$role = _ref9.role,
263
+ role = _ref9$role === void 0 ? _member2.memberTexts.agent : _ref9$role,
264
+ _ref9$requestCount = _ref9.requestCount,
265
+ requestCount = _ref9$requestCount === void 0 ? 0 : _ref9$requestCount,
266
+ appName = _ref9.appName;
267
+ cy.apiRequest({
268
+ method: "POST",
269
+ url: _routes.requestApis.teamMembers.index,
270
+ body: {
271
+ user: {
272
+ emails: [email],
273
+ organization_role: role,
274
+ app_roles: [{
275
+ app_name: appName,
276
+ active_role: role,
277
+ is_enabled: true
278
+ }]
279
+ }
280
+ }
281
+ });
282
+ cy.reloadAndWait(requestCount);
283
+ };
284
+ var editMemberViaRequest = function editMemberViaRequest(_ref10) {
285
+ var email = _ref10.email,
286
+ firstName = _ref10.firstName,
287
+ lastName = _ref10.lastName,
288
+ newRole = _ref10.newRole,
289
+ _ref10$requestCount = _ref10.requestCount,
290
+ requestCount = _ref10$requestCount === void 0 ? 0 : _ref10$requestCount;
291
+ cy.apiRequest({
292
+ method: "GET",
293
+ url: _routes.requestApis.teamMembers.index,
294
+ qs: {
295
+ search: email
296
+ }
297
+ }).then(function (_ref11) {
298
+ var body = _ref11.body;
299
+ var memberDetails = body.members[0];
300
+ cy.apiRequest({
301
+ method: "PUT",
302
+ url: _routes.requestApis.teamMembers.show(memberDetails.id),
303
+ body: {
304
+ team: _objectSpread({
305
+ active: true,
306
+ first_name: firstName,
307
+ last_name: lastName
308
+ }, newRole && {
309
+ organization_role: newRole
310
+ })
311
+ }
312
+ });
313
+ });
314
+ cy.reloadAndWait(requestCount);
315
+ };
316
+ var deactivateMemberViaRequest = function deactivateMemberViaRequest(email) {
317
+ var requestCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
318
+ cy.apiRequest({
319
+ method: "PATCH",
320
+ url: _routes.requestApis.teamMembers.bulkUpdate,
321
+ body: {
322
+ users: {
323
+ active: false,
324
+ emails: [email]
325
+ }
326
+ }
327
+ });
328
+ cy.reloadAndWait(requestCount);
329
+ };
330
+ var clickOnColumnIcon = function clickOnColumnIcon() {
331
+ cy.get(_common2.commonSelectors.subheader).should("exist").within(function () {
332
+ cy.get(_member.memberSelectors.columnsButton).click();
333
+ });
334
+ };
335
+ var memberUtils = {
336
+ addMemberViaRequest: addMemberViaRequest,
337
+ addMemberViaUI: addMemberViaUI,
338
+ activateMember: activateMember,
339
+ checkColumnAndVerifyTableHeader: checkColumnAndVerifyTableHeader,
340
+ deactivateMember: deactivateMember,
341
+ deactivateMemberViaRequest: deactivateMemberViaRequest,
342
+ editMemberViaUI: editMemberViaUI,
343
+ editMemberViaRequest: editMemberViaRequest,
344
+ updateMemberRole: updateMemberRole,
345
+ interceptMemberApi: interceptMemberApi,
346
+ navigateToMembersPage: navigateToMembersPage,
347
+ unCheckColumnAndVerifyTableHeader: unCheckColumnAndVerifyTableHeader,
348
+ verifyMemberDetails: verifyMemberDetails,
349
+ clickOnColumnIcon: clickOnColumnIcon
350
+ };
351
+ exports.memberUtils = memberUtils;
352
+ //# sourceMappingURL=member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member.js","names":["_common","require","_routes","_common2","_member","_common3","_member2","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","interceptMemberApi","alias","times","undefined","cy","intercept","url","requestApis","teamMembers","all","as","navigateToMembersPage","waitForRequest","get","memberSelectors","membersTab","click","should","urlPaths","members","waitForMultipleRequest","commonSelectors","heading","memberTexts","activeMembersHeading","addMemberViaUI","_ref","email","_ref$role","role","agent","appName","invalidEmail","newButton","addMember","paneHeader","newHeading","memberFormSelectors","emailTextField","cancelButton","continueButton","roleLabel","emailErrorField","memberFormErrorTexts","emailRequired","typeAndEnter","emailInvalid","removeInvalidEmail","paneModalCrossIcon","isStagingEnv","checkboxLabel","addMemberToProducts","paneBody","within","checkbox","uncheck","inviteMessage","submitButton","wait","verifyToastIcon","verifyMemberDetails","skipSearchRequest","editMemberViaUI","_ref2","newRole","firstName","lastName","_ref2$updateCount","updateCount","name","join","dropDownIcon","editButton","commonTexts","edit","editMember","firstNameTextField","emailInput","clearAndType","lastNameTextField","_ref3","statusTag","_ref3$skipSearchReque","typeOnSearchField","selector","searchTextField","value","contains","tableSelectors","tableRow","nthColumn","updateMemberRole","_ref4","clickDropdownOption","verifyActivatedMember","_ref5","_ref5$skipFetchReques","skipFetchRequest","_ref5$skipSearchReque","toggleButton","menuBarHeading","activatedMembersButton","verifyDeactivatedMember","_ref6","_ref6$skipFetchReques","_ref6$skipSearchReque","deactivatedAgentsButton","activateMember","_ref7","_ref7$skipSearchReque","activateOrDeactivateMember","activate","alertTitle","alertModalMessage","activateMemberAlertMessage","alertModalSubmitButton","deactivateMember","_ref8","_ref8$skipSearchReque","deactivate","deactivateMemberAlertMessage","unCheckColumnAndVerifyTableHeader","fieldSelector","columnText","clickOnColumnIcon","parent","columnCheckBox","memberUtils","columnsDropdownContainer","tableHeader","checkColumnAndVerifyTableHeader","check","addMemberViaRequest","_ref9","_ref9$role","_ref9$requestCount","requestCount","apiRequest","method","index","body","user","emails","organization_role","app_roles","app_name","active_role","is_enabled","reloadAndWait","editMemberViaRequest","_ref10","_ref10$requestCount","qs","search","then","_ref11","memberDetails","show","id","team","active","first_name","last_name","deactivateMemberViaRequest","bulkUpdate","users","subheader","columnsButton","exports"],"sources":["../../../../src/cypress-utils/utils/member.js"],"sourcesContent":["import { isStagingEnv } from \"./common\";\n\nimport { requestApis, urlPaths } from \"../constants/routes\";\nimport { commonSelectors, tableSelectors } from \"../constants/selectors/common\";\nimport {\n memberFormSelectors,\n memberSelectors,\n} from \"../constants/selectors/member\";\nimport { commonTexts } from \"../constants/texts/common\";\nimport { memberFormErrorTexts, memberTexts } from \"../constants/texts/member\";\n\nconst interceptMemberApi = (alias, times = 1) =>\n cy.intercept({ url: requestApis.teamMembers.all, times }).as(alias);\n\nconst navigateToMembersPage = (waitForRequest = true) => {\n waitForRequest && interceptMemberApi(\"fetchMembers\", 2);\n cy.get(memberSelectors.membersTab).click();\n cy.url().should(\"include\", urlPaths.members);\n waitForRequest && cy.waitForMultipleRequest(\"@fetchMembers\", 2);\n cy.get(commonSelectors.heading).should(\n \"have.text\",\n memberTexts.activeMembersHeading\n );\n};\n\nconst addMemberViaUI = ({ email, role = memberTexts.agent, appName }) => {\n const invalidEmail = \"Invalid email\";\n cy.get(memberSelectors.newButton)\n .should(\"have.text\", memberTexts.addMember)\n .click();\n\n cy.get(commonSelectors.paneHeader).should(\n \"have.text\",\n memberTexts.newHeading\n );\n cy.get(memberFormSelectors.emailTextField).should(\"be.focused\");\n cy.get(memberFormSelectors.cancelButton).click();\n cy.get(commonSelectors.paneHeader).should(\"not.exist\");\n\n // form validation\n cy.get(memberSelectors.newButton).should(\"be.visible\").click();\n cy.get(memberSelectors.continueButton).should(\"be.disabled\");\n cy.get(memberSelectors.roleLabel(role)).click();\n cy.get(memberSelectors.continueButton).click();\n cy.get(memberFormSelectors.emailErrorField).should(\n \"contain.text\",\n memberFormErrorTexts.emailRequired\n );\n cy.typeAndEnter(memberFormSelectors.emailTextField, invalidEmail);\n cy.get(memberFormSelectors.emailErrorField).should(\n \"contains.text\",\n memberFormErrorTexts.emailInvalid\n );\n\n cy.get(memberFormSelectors.emailErrorField).should(\n \"contain.text\",\n memberFormErrorTexts.removeInvalidEmail\n );\n cy.get(commonSelectors.paneModalCrossIcon).click();\n cy.get(commonSelectors.paneHeader).should(\"not.exist\");\n\n // form submission\n cy.get(memberSelectors.newButton).click();\n cy.typeAndEnter(memberFormSelectors.emailTextField, email);\n cy.get(memberSelectors.roleLabel(role)).click();\n cy.get(memberSelectors.continueButton).click();\n if (isStagingEnv) {\n cy.get(commonSelectors.checkboxLabel).should(\n \"have.text\",\n memberTexts.addMemberToProducts(email)\n );\n\n cy.get(commonSelectors.paneBody).within(() =>\n cy.get(commonSelectors.checkbox).uncheck()\n );\n cy.get(memberSelectors.continueButton).click();\n }\n\n cy.get(commonSelectors.paneBody).should(\n \"contain.text\",\n memberTexts.inviteMessage({ email, role, appName })\n );\n interceptMemberApi(\"createAndFetchMember\", 2);\n cy.get(memberSelectors.submitButton).click();\n cy.wait(\"@createAndFetchMember\");\n cy.verifyToastIcon();\n cy.wait(\"@createAndFetchMember\");\n verifyMemberDetails({ email, role, skipSearchRequest: false });\n};\n\nconst editMemberViaUI = ({\n email,\n newRole,\n firstName,\n lastName,\n skipSearchRequest,\n updateCount = 2,\n}) => {\n const name = firstName && lastName ? [firstName, lastName].join(\" \") : null;\n verifyMemberDetails({ email, skipSearchRequest }).within(() => {\n cy.get(memberSelectors.dropDownIcon).click();\n });\n\n cy.get(memberSelectors.editButton)\n .should(\"have.text\", commonTexts.edit)\n .click();\n\n cy.get(commonSelectors.paneHeader).should(\n \"have.text\",\n memberTexts.editMember\n );\n\n cy.get(memberFormSelectors.firstNameTextField).should(\"be.focused\");\n cy.get(memberSelectors.roleLabel(newRole)).click();\n cy.get(memberFormSelectors.emailInput)\n .should(\"be.disabled\")\n .should(\"have.value\", email);\n\n firstName &&\n cy.clearAndType(memberFormSelectors.firstNameTextField, firstName);\n lastName && cy.clearAndType(memberFormSelectors.lastNameTextField, lastName);\n interceptMemberApi(\"updateAndFetchMember\", updateCount);\n cy.get(memberSelectors.submitButton).click();\n cy.wait(\"@updateAndFetchMember\");\n cy.verifyToastIcon();\n cy.waitForMultipleRequest(\"@updateAndFetchMember\", updateCount - 1);\n verifyMemberDetails({\n email,\n role: newRole,\n name,\n skipSearchRequest: true,\n });\n};\n\nconst verifyMemberDetails = ({\n email,\n role,\n name,\n statusTag,\n skipSearchRequest = true,\n}) => {\n !skipSearchRequest && interceptMemberApi(\"searchMember\");\n cy.typeOnSearchField({\n selector: memberSelectors.searchTextField,\n value: email,\n });\n !skipSearchRequest && cy.wait(\"@searchMember\");\n\n return cy.contains(tableSelectors.tableRow, email).within(() => {\n cy.get(tableSelectors.nthColumn(3)).should(\"have.text\", email);\n cy.get(tableSelectors.nthColumn(2)).within(() => {\n name && cy.get(\"p\").should(\"have.text\", name);\n });\n role && cy.get(tableSelectors.nthColumn(4)).should(\"have.text\", role);\n statusTag &&\n cy.get(memberSelectors.statusTag).should(\"have.text\", statusTag);\n });\n};\n\nconst updateMemberRole = ({ email, role, skipSearchRequest }) => {\n verifyMemberDetails({ email, skipSearchRequest }).within(() =>\n cy.clickDropdownOption(commonTexts.edit)\n );\n\n cy.get(commonSelectors.paneHeader).should(\n \"have.text\",\n memberTexts.updateMemberRole\n );\n cy.get(memberSelectors.roleLabel(role)).click();\n interceptMemberApi(\"updateAndFetchMember\", 2);\n cy.get(memberSelectors.submitButton).click();\n cy.wait(\"@updateAndFetchMember\");\n cy.verifyToastIcon();\n cy.wait(\"@updateAndFetchMember\");\n verifyMemberDetails({ email, role });\n};\n\nconst verifyActivatedMember = ({\n email,\n skipFetchRequest = false,\n skipSearchRequest = true,\n}) => {\n cy.get(commonSelectors.toggleButton).click();\n cy.get(memberSelectors.menuBarHeading).should(\n \"have.text\",\n memberTexts.members\n );\n !skipFetchRequest && interceptMemberApi(\"fetchActivatedMembers\");\n cy.get(memberSelectors.activatedMembersButton).click();\n !skipFetchRequest && cy.wait(\"@fetchActivatedMembers\");\n verifyMemberDetails({ email, skipSearchRequest });\n cy.get(commonSelectors.toggleButton).click();\n};\n\nconst verifyDeactivatedMember = ({\n email,\n skipFetchRequest = false,\n skipSearchRequest = true,\n}) => {\n cy.get(commonSelectors.toggleButton).click();\n cy.get(memberSelectors.menuBarHeading).should(\n \"have.text\",\n memberTexts.members\n );\n !skipFetchRequest && interceptMemberApi(\"fetchDeactivatedMembers\");\n cy.get(memberSelectors.deactivatedAgentsButton).click();\n !skipFetchRequest && cy.wait(\"@fetchDeactivatedMembers\");\n verifyMemberDetails({ email, skipSearchRequest });\n cy.get(commonSelectors.toggleButton).click();\n};\n\nconst activateMember = ({ email, name, skipSearchRequest = true }) => {\n verifyMemberDetails({ email, skipSearchRequest }).within(() => {\n cy.get(memberSelectors.dropDownIcon).click();\n });\n\n cy.get(memberSelectors.activateOrDeactivateMember)\n .should(\"have.text\", commonTexts.activate)\n .click();\n\n cy.get(commonSelectors.alertTitle).should(\n \"have.text\",\n memberTexts.activateMember\n );\n\n cy.get(commonSelectors.alertModalMessage).should(\n \"have.text\",\n memberTexts.activateMemberAlertMessage(name || email)\n );\n interceptMemberApi(\"activateAndFetchMember\", 2);\n cy.get(commonSelectors.alertModalSubmitButton).click();\n cy.wait(\"@activateAndFetchMember\");\n cy.verifyToastIcon();\n cy.wait(\"@activateAndFetchMember\");\n verifyActivatedMember({ email });\n};\n\nconst deactivateMember = ({ email, name, skipSearchRequest = true }) => {\n verifyMemberDetails({ email, skipSearchRequest }).within(() => {\n cy.get(memberSelectors.dropDownIcon).click();\n });\n\n cy.get(memberSelectors.activateOrDeactivateMember)\n .should(\"have.text\", commonTexts.deactivate)\n .click();\n\n cy.get(commonSelectors.alertTitle).should(\n \"have.text\",\n memberTexts.deactivateMember\n );\n\n cy.get(commonSelectors.alertModalMessage).should(\n \"have.text\",\n memberTexts.deactivateMemberAlertMessage(name || email)\n );\n interceptMemberApi(\"deactivateAndFetchMember\", 2);\n cy.get(commonSelectors.alertModalSubmitButton).click();\n cy.wait(\"@deactivateAndFetchMember\");\n cy.verifyToastIcon();\n cy.wait(\"@deactivateAndFetchMember\");\n verifyDeactivatedMember({ email });\n};\n\nconst unCheckColumnAndVerifyTableHeader = (fieldSelector, columnText) => {\n clickOnColumnIcon();\n cy.get(fieldSelector)\n .parent()\n .within(() => {\n cy.get(memberSelectors.columnCheckBox)\n .should(\"be.checked\")\n .uncheck()\n .should(\"not.be.checked\");\n });\n memberUtils.clickOnColumnIcon();\n cy.get(memberSelectors.columnsDropdownContainer).should(\"not.exist\");\n cy.contains(tableSelectors.tableHeader, columnText).should(\"not.exist\");\n};\n\nconst checkColumnAndVerifyTableHeader = (fieldSelector, columnText) => {\n clickOnColumnIcon();\n cy.get(fieldSelector)\n .parent()\n .within(() => {\n cy.get(memberSelectors.columnCheckBox)\n .should(\"not.be.checked\")\n .check()\n .should(\"be.checked\");\n });\n memberUtils.clickOnColumnIcon();\n cy.get(memberSelectors.columnsDropdownContainer).should(\"not.exist\");\n cy.contains(tableSelectors.tableHeader, columnText).should(\"be.visible\");\n};\n\nconst addMemberViaRequest = ({\n email,\n role = memberTexts.agent,\n requestCount = 0,\n appName,\n}) => {\n cy.apiRequest({\n method: \"POST\",\n url: requestApis.teamMembers.index,\n body: {\n user: {\n emails: [email],\n organization_role: role,\n app_roles: [{ app_name: appName, active_role: role, is_enabled: true }],\n },\n },\n });\n cy.reloadAndWait(requestCount);\n};\n\nconst editMemberViaRequest = ({\n email,\n firstName,\n lastName,\n newRole,\n requestCount = 0,\n}) => {\n cy.apiRequest({\n method: \"GET\",\n url: requestApis.teamMembers.index,\n qs: { search: email },\n }).then(({ body }) => {\n const memberDetails = body.members[0];\n cy.apiRequest({\n method: \"PUT\",\n url: requestApis.teamMembers.show(memberDetails.id),\n body: {\n team: {\n active: true,\n first_name: firstName,\n last_name: lastName,\n ...(newRole && { organization_role: newRole }),\n },\n },\n });\n });\n cy.reloadAndWait(requestCount);\n};\n\nconst deactivateMemberViaRequest = (email, requestCount = 0) => {\n cy.apiRequest({\n method: \"PATCH\",\n url: requestApis.teamMembers.bulkUpdate,\n body: { users: { active: false, emails: [email] } },\n });\n cy.reloadAndWait(requestCount);\n};\n\nconst clickOnColumnIcon = () => {\n cy.get(commonSelectors.subheader)\n .should(\"exist\")\n .within(() => {\n cy.get(memberSelectors.columnsButton).click();\n });\n};\n\nexport const memberUtils = {\n addMemberViaRequest,\n addMemberViaUI,\n activateMember,\n checkColumnAndVerifyTableHeader,\n deactivateMember,\n deactivateMemberViaRequest,\n editMemberViaUI,\n editMemberViaRequest,\n updateMemberRole,\n interceptMemberApi,\n navigateToMembersPage,\n unCheckColumnAndVerifyTableHeader,\n verifyMemberDetails,\n clickOnColumnIcon,\n};\n"],"mappings":"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"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.navigationUtils = void 0;
7
+ var _routes = require("../constants/routes");
8
+ var _common = require("../constants/selectors/common");
9
+ var _navigation = require("../constants/selectors/navigation");
10
+ var _common2 = require("../constants/texts/common");
11
+ var _navigation2 = require("../constants/texts/navigation");
12
+ /* eslint-disable xss/no-location-href-assign */
13
+
14
+ var verifyTabMenu = function verifyTabMenu(_ref) {
15
+ var tabSelector = _ref.tabSelector,
16
+ _ref$alias = _ref.alias,
17
+ alias = _ref$alias === void 0 ? "fetchData" : _ref$alias,
18
+ _ref$requestCount = _ref.requestCount,
19
+ requestCount = _ref$requestCount === void 0 ? 1 : _ref$requestCount;
20
+ requestCount && cy.interceptApi(alias, requestCount);
21
+ cy.get(tabSelector).click();
22
+ requestCount && cy.waitForMultipleRequest("@".concat(alias), requestCount);
23
+ cy.verifyAttribute({
24
+ selector: tabSelector,
25
+ attr: "class",
26
+ value: "active"
27
+ });
28
+ };
29
+ var clickOnHelpSubTab = function clickOnHelpSubTab(tabSelector, tabText) {
30
+ openProfileOrHelpCenter({
31
+ tabSelector: _navigation.helpIconSelectors.helpButton,
32
+ subTabLink: _navigation.helpIconSelectors.whatsNewButton,
33
+ count: 5
34
+ });
35
+ cy.get(tabSelector).should("have.text", tabText).invoke("click");
36
+ };
37
+ var verifyHelpDocumentationLink = function verifyHelpDocumentationLink(_ref2) {
38
+ var articleTitle = _ref2.articleTitle,
39
+ alias = _ref2.alias,
40
+ _ref2$requestCount = _ref2.requestCount,
41
+ requestCount = _ref2$requestCount === void 0 ? 3 : _ref2$requestCount;
42
+ openProfileOrHelpCenter({
43
+ tabSelector: _navigation.helpIconSelectors.helpButton,
44
+ subTabLink: _navigation.helpIconSelectors.whatsNewButton,
45
+ count: 5
46
+ });
47
+ cy.clickByRemoveTargetAttr(_navigation.helpIconSelectors.documentationButton);
48
+ cy.get(_common.commonSelectors.articlePageTitle, {
49
+ timeout: 10000
50
+ }).should("have.text", articleTitle);
51
+ cy.interceptApi(alias, requestCount);
52
+ cy.go("back");
53
+ cy.waitForMultipleRequest("@".concat(alias), requestCount);
54
+ };
55
+ var verifyKeyboardShortcutsPane = function verifyKeyboardShortcutsPane() {
56
+ clickOnHelpSubTab(_navigation.helpIconSelectors.keyboardShortcutButton, _navigation2.helpIconTexts.keyboardShortcuts);
57
+ cy.get(_navigation.helpIconSelectors.keyboardShortcutPaneHeading).should("have.text", _navigation2.helpIconTexts.keyboardShortcuts);
58
+ cy.get(_navigation.helpIconSelectors.keyboardShortcutPaneCrossIcon).click();
59
+ };
60
+ var verifyWhatsNewTab = function verifyWhatsNewTab(whatsNewHeading) {
61
+ openProfileOrHelpCenter({
62
+ tabSelector: _navigation.helpIconSelectors.helpButton,
63
+ subTabLink: _navigation.helpIconSelectors.whatsNewButton,
64
+ count: 5
65
+ });
66
+ cy.get(_navigation.helpIconSelectors.whatsNewButton).should("contain.text", _navigation2.helpIconTexts.whatsNew);
67
+ openWhatsNewPane();
68
+ cy.get(_navigation.helpIconSelectors.whatsNewWidgetInfo).should("have.text", whatsNewHeading);
69
+ cy.get(_navigation.helpIconSelectors.whatsNewWidgetCloseButton).last().click();
70
+ cy.get(_navigation.helpIconSelectors.whatsNewWidgetInfo).should("not.exist");
71
+ };
72
+ var waitForChatWidget = function waitForChatWidget() {
73
+ var timeOut = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;
74
+ var defaultWait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
75
+ if (timeOut === 0) return;
76
+ cy.ifNotExist(_navigation.chatWidgetSelectors.widgetIframe, function () {
77
+ // eslint-disable-next-line cypress/no-unnecessary-waiting
78
+ cy.wait(defaultWait);
79
+ navigationUtils.clickOnHelpSubTab(_navigation.helpIconSelectors.chatButton, _navigation2.helpIconTexts.liveChat);
80
+ cy.ifNotExist(_navigation.chatWidgetSelectors.widgetIframe, function () {
81
+ waitForChatWidget(timeOut - 1);
82
+ });
83
+ });
84
+ };
85
+ var verifyChatWithUsTab = function verifyChatWithUsTab(_ref3) {
86
+ var alias = _ref3.alias,
87
+ _ref3$requestCount = _ref3.requestCount,
88
+ requestCount = _ref3$requestCount === void 0 ? 3 : _ref3$requestCount;
89
+ requestCount && cy.interceptNonVersionedApi({
90
+ url: _routes.requestApis.allChatPath,
91
+ alias: alias,
92
+ times: requestCount
93
+ });
94
+ clickOnHelpSubTab(_navigation.helpIconSelectors.chatButton, _navigation2.helpIconTexts.liveChat);
95
+ requestCount && cy.waitForMultipleRequest("@".concat(alias), requestCount);
96
+ waitForChatWidget();
97
+ cy.withinIframe(_navigation.chatWidgetSelectors.widgetIframe, function () {
98
+ requestCount && cy.interceptNonVersionedApi({
99
+ url: _routes.requestApis.allChatPath,
100
+ alias: alias,
101
+ times: requestCount
102
+ });
103
+ cy.get(_navigation.chatWidgetSelectors.chatWidgetHomeCard, {
104
+ timeout: 10000
105
+ }).click({
106
+ force: true
107
+ });
108
+ requestCount && cy.wait("@".concat(alias), requestCount);
109
+ requestCount && cy.interceptNonVersionedApi({
110
+ url: _routes.requestApis.allChatPath,
111
+ alias: alias,
112
+ times: requestCount
113
+ });
114
+ cy.get(_navigation.chatWidgetSelectors.widgetSubmitButton).click();
115
+ requestCount && cy.waitForMultipleRequest("@".concat(alias), requestCount);
116
+ cy.get(_navigation.chatWidgetSelectors.chatBubbleMessage).should("be.visible");
117
+ });
118
+ cy.get(_navigation.chatWidgetSelectors.chatCloseButton).click();
119
+ cy.get(_navigation.chatWidgetSelectors.widgetIframe).should("not.exist");
120
+ };
121
+ var verifyMyProfileTab = function verifyMyProfileTab(_ref4) {
122
+ var alias = _ref4.alias,
123
+ _ref4$requestCount = _ref4.requestCount,
124
+ requestCount = _ref4$requestCount === void 0 ? 2 : _ref4$requestCount;
125
+ openProfileOrHelpCenter({
126
+ tabSelector: _common.profileSelectors.tab,
127
+ subTabLink: _common.profileSelectors.logoutLink,
128
+ count: 5
129
+ });
130
+ cy.get(_common.profileSelectors.myProfileButton).should("have.text", _navigation2.profileTexts.myProfile);
131
+ cy.globalState("subdomainName").then(function (subdomainName) {
132
+ cy.window().then(function (win) {
133
+ cy.stub(win, "open").as(alias).callsFake(function (newUrl) {
134
+ return win.location.href = newUrl;
135
+ });
136
+ });
137
+ cy.get(_common.profileSelectors.myProfileButton).invoke("click");
138
+ cy.get("@".concat(alias)).should("be.called");
139
+ cy.url().should("include", _routes.requestApis.myProfilePath(subdomainName));
140
+ });
141
+ cy.get(_common.commonSelectors.heading).should("have.text", _navigation2.profileTexts.profileSettings);
142
+ cy.globalState("subdomainName").then(function (subdomainName) {
143
+ return cy.url().should("include", _routes.requestApis.myProfilePath(subdomainName));
144
+ });
145
+ cy.interceptApi(alias, requestCount);
146
+ cy.go("back");
147
+ cy.waitForMultipleRequest("@".concat(alias), requestCount);
148
+ };
149
+ var verifyOrganizationTab = function verifyOrganizationTab() {
150
+ openProfileOrHelpCenter({
151
+ tabSelector: _common.profileSelectors.tab,
152
+ subTabLink: _common.profileSelectors.logoutLink,
153
+ count: 5
154
+ });
155
+ cy.get(_common.profileSelectors.organizationSettingsButton).should("have.text", _navigation2.profileTexts.myOrganization);
156
+ cy.globalState("subdomainName").then(function (subdomainName) {
157
+ cy.window().then(function (win) {
158
+ cy.stub(win, "open").as("navigateToSettings").callsFake(function (newUrl) {
159
+ return win.location.href = newUrl;
160
+ });
161
+ });
162
+ cy.get(_common.profileSelectors.organizationSettingsButton).invoke("click");
163
+ cy.get("@navigateToSettings").should("be.called");
164
+ cy.url().should("include", _routes.requestApis.settingsPath(subdomainName));
165
+ });
166
+ cy.get(_common.commonSelectors.heading).should("have.text", _common2.commonTexts.settings);
167
+ cy.globalState("subdomainName").then(function (subdomainName) {
168
+ return cy.url().should("include", _routes.requestApis.settingsPath(subdomainName));
169
+ });
170
+ };
171
+ var openProfileOrHelpCenter = function openProfileOrHelpCenter(_ref5) {
172
+ var tabSelector = _ref5.tabSelector,
173
+ subTabLink = _ref5.subTabLink,
174
+ _ref5$count = _ref5.count,
175
+ count = _ref5$count === void 0 ? 1 : _ref5$count,
176
+ _ref5$timeout = _ref5.timeout,
177
+ timeout = _ref5$timeout === void 0 ? 2000 : _ref5$timeout;
178
+ if (count === 0) return;
179
+ cy.get(tabSelector).click();
180
+ cy.ifNotExist(subTabLink, function () {
181
+ cy.wait(timeout); // eslint-disable-line cypress/no-unnecessary-waiting
182
+ openProfileOrHelpCenter(count - 1);
183
+ });
184
+ };
185
+ var openWhatsNewPane = function openWhatsNewPane() {
186
+ var count = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 7;
187
+ var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2000;
188
+ if (count === 0) return;
189
+ cy.get(_navigation.helpIconSelectors.whatsNewButton).invoke("click");
190
+ cy.ifNotExist(_navigation.helpIconSelectors.whatsNewWidgetInfo, function () {
191
+ cy.wait(timeout); // eslint-disable-line cypress/no-unnecessary-waiting
192
+ openWhatsNewPane(count - 1);
193
+ });
194
+ };
195
+ var navigationUtils = {
196
+ verifyTabMenu: verifyTabMenu,
197
+ clickOnHelpSubTab: clickOnHelpSubTab,
198
+ verifyHelpDocumentationLink: verifyHelpDocumentationLink,
199
+ verifyKeyboardShortcutsPane: verifyKeyboardShortcutsPane,
200
+ verifyWhatsNewTab: verifyWhatsNewTab,
201
+ verifyChatWithUsTab: verifyChatWithUsTab,
202
+ verifyMyProfileTab: verifyMyProfileTab,
203
+ verifyOrganizationTab: verifyOrganizationTab,
204
+ openProfileOrHelpCenter: openProfileOrHelpCenter,
205
+ openWhatsNewPane: openWhatsNewPane
206
+ };
207
+ exports.navigationUtils = navigationUtils;
208
+ //# sourceMappingURL=navigation.js.map