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