@bigbinary/neeto-commons-frontend 3.0.6 → 3.0.7
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/{constants.cjs.js → cjs/constants/index.js} +11 -10
- package/cjs/constants/index.js.map +1 -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 +17 -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 +68 -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 +43 -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 +8 -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 +61 -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 +34 -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/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/translations → translations}/en.json +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
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 { environment } from "../constants";
|
|
5
|
+
var getCountFromText = function getCountFromText(countText) {
|
|
6
|
+
return Number(countText.text().trim().split(" ")[0]);
|
|
7
|
+
};
|
|
8
|
+
var env = {
|
|
9
|
+
isDevelopment: Cypress.env("configFile") === environment.development,
|
|
10
|
+
isReview: Cypress.env("configFile") === environment.review,
|
|
11
|
+
isStaging: Cypress.env("configFile") === environment.staging,
|
|
12
|
+
isProduction: Cypress.env("configFile") === environment.production
|
|
13
|
+
};
|
|
14
|
+
env.isNightlyRun = env.isProduction || env.isStaging;
|
|
15
|
+
env.tld = env.isProduction ? "com" : "net";
|
|
16
|
+
var isStagingEnv = Cypress.env("configFile") === environment.staging;
|
|
17
|
+
var dataCy = function dataCy(value) {
|
|
18
|
+
var suffix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
19
|
+
return "[data-cy='".concat(value, "']").concat(suffix);
|
|
20
|
+
};
|
|
21
|
+
var dataTestId = function dataTestId(value) {
|
|
22
|
+
var suffix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
23
|
+
return "[data-testid='".concat(value, "']").concat(suffix);
|
|
24
|
+
};
|
|
25
|
+
var setListCount = function setListCount(countSelector, alias) {
|
|
26
|
+
return cy.get(countSelector).then(function (countText) {
|
|
27
|
+
cy.wrap(getCountFromText(countText)).as(alias);
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var verifyListCount = function verifyListCount(countSelector, count) {
|
|
31
|
+
return cy.get(countSelector).then(function (countText) {
|
|
32
|
+
cy.wrap(getCountFromText(countText)).should("eq", count);
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
var getUrl = function getUrl(path) {
|
|
36
|
+
return "/api/v1/".concat(path);
|
|
37
|
+
};
|
|
38
|
+
var getTestTitle = function getTestTitle() {
|
|
39
|
+
var ctx = Cypress.mocha.getRunner().suite.ctx;
|
|
40
|
+
return ctx.currentTest.parent.title;
|
|
41
|
+
};
|
|
42
|
+
var joinHyphenCase = function joinHyphenCase() {
|
|
43
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
44
|
+
args[_key] = arguments[_key];
|
|
45
|
+
}
|
|
46
|
+
return args.join(" ").replace(/\s+/g, "-").toLowerCase();
|
|
47
|
+
};
|
|
48
|
+
var hyphenize = function hyphenize(input) {
|
|
49
|
+
var fallbackString = "";
|
|
50
|
+
if (typeof input === "number") return String(input);
|
|
51
|
+
if (input && typeof input === "string" && input.replace) {
|
|
52
|
+
return input.replace(/[\s_]/g, "-").replace(/([a-z])([A-Z])/g, "$1-$2").replace(/-+/g, "-").toLowerCase();
|
|
53
|
+
}
|
|
54
|
+
return fallbackString;
|
|
55
|
+
};
|
|
56
|
+
var initializeCredentials = function initializeCredentials(stagingData) {
|
|
57
|
+
cy.task("getGlobalState").then(function (state) {
|
|
58
|
+
var newState = _objectSpread(_objectSpread({}, state), {}, {
|
|
59
|
+
businessName: state.businessName || stagingData.businessName,
|
|
60
|
+
currentUserName: state.currentUserName || stagingData.currentUserName,
|
|
61
|
+
email: state.email || stagingData.email,
|
|
62
|
+
firstName: state.firstName || stagingData.firstName,
|
|
63
|
+
lastName: state.lastName || stagingData.lastName,
|
|
64
|
+
subdomainName: state.subdomainName || stagingData.subdomainName,
|
|
65
|
+
skipSetup: state.skipSetup
|
|
66
|
+
});
|
|
67
|
+
if (isStagingEnv) {
|
|
68
|
+
var baseUrl = "https://".concat(newState.subdomainName, ".").concat(stagingData.domain);
|
|
69
|
+
Cypress.config("baseUrl", baseUrl);
|
|
70
|
+
}
|
|
71
|
+
cy.task("bulkUpdateGlobalState", newState);
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
export { env, isStagingEnv, dataCy, dataTestId, setListCount, verifyListCount, getUrl, getTestTitle, joinHyphenCase, hyphenize, initializeCredentials };
|
|
75
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","names":["environment","getCountFromText","countText","Number","text","trim","split","env","isDevelopment","Cypress","development","isReview","review","isStaging","staging","isProduction","production","isNightlyRun","tld","isStagingEnv","dataCy","value","suffix","arguments","length","undefined","concat","dataTestId","setListCount","countSelector","alias","cy","get","then","wrap","as","verifyListCount","count","should","getUrl","path","getTestTitle","ctx","mocha","getRunner","suite","currentTest","parent","title","joinHyphenCase","_len","args","Array","_key","join","replace","toLowerCase","hyphenize","input","fallbackString","String","initializeCredentials","stagingData","task","state","newState","_objectSpread","businessName","currentUserName","email","firstName","lastName","subdomainName","skipSetup","baseUrl","domain","config"],"sources":["../../../src/cypress-utils/utils/common.js"],"sourcesContent":["import { environment } from \"../constants\";\n\nconst getCountFromText = countText =>\n Number(countText.text().trim().split(\" \")[0]);\n\nconst env = {\n isDevelopment: Cypress.env(\"configFile\") === environment.development,\n isReview: Cypress.env(\"configFile\") === environment.review,\n isStaging: Cypress.env(\"configFile\") === environment.staging,\n isProduction: Cypress.env(\"configFile\") === environment.production,\n};\nenv.isNightlyRun = env.isProduction || env.isStaging;\nenv.tld = env.isProduction ? \"com\" : \"net\";\n\nconst isStagingEnv = Cypress.env(\"configFile\") === environment.staging;\n\nconst dataCy = (value, suffix = \"\") => `[data-cy='${value}']${suffix}`;\n\nconst dataTestId = (value, suffix = \"\") => `[data-testid='${value}']${suffix}`;\n\nconst setListCount = (countSelector, alias) =>\n cy.get(countSelector).then(countText => {\n cy.wrap(getCountFromText(countText)).as(alias);\n });\n\nconst verifyListCount = (countSelector, count) =>\n cy.get(countSelector).then(countText => {\n cy.wrap(getCountFromText(countText)).should(\"eq\", count);\n });\n\nconst getUrl = path => `/api/v1/${path}`;\n\nconst getTestTitle = () => {\n const { ctx } = Cypress.mocha.getRunner().suite;\n\n return ctx.currentTest.parent.title;\n};\n\nconst joinHyphenCase = (...args) =>\n args.join(\" \").replace(/\\s+/g, \"-\").toLowerCase();\n\nconst hyphenize = input => {\n const fallbackString = \"\";\n if (typeof input === \"number\") return String(input);\n\n if (input && typeof input === \"string\" && input.replace) {\n return input\n .replace(/[\\s_]/g, \"-\")\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/-+/g, \"-\")\n .toLowerCase();\n }\n\n return fallbackString;\n};\n\nconst initializeCredentials = stagingData => {\n cy.task(\"getGlobalState\").then(state => {\n const newState = {\n ...state,\n businessName: state.businessName || stagingData.businessName,\n currentUserName: state.currentUserName || stagingData.currentUserName,\n email: state.email || stagingData.email,\n firstName: state.firstName || stagingData.firstName,\n lastName: state.lastName || stagingData.lastName,\n subdomainName: state.subdomainName || stagingData.subdomainName,\n skipSetup: state.skipSetup,\n };\n if (isStagingEnv) {\n const baseUrl = `https://${newState.subdomainName}.${stagingData.domain}`;\n Cypress.config(\"baseUrl\", baseUrl);\n }\n cy.task(\"bulkUpdateGlobalState\", newState);\n });\n};\n\nexport {\n env,\n isStagingEnv,\n dataCy,\n dataTestId,\n setListCount,\n verifyListCount,\n getUrl,\n getTestTitle,\n joinHyphenCase,\n hyphenize,\n initializeCredentials,\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import dayjs from "dayjs";
|
|
2
|
+
var currentDate = function currentDate() {
|
|
3
|
+
return dayjs().format("YYYY-MM-DD");
|
|
4
|
+
};
|
|
5
|
+
var futureDate = function futureDate() {
|
|
6
|
+
var numberOfDays = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
7
|
+
var date = dayjs().add(numberOfDays, "day").format("YYYY-MM-DD");
|
|
8
|
+
return date;
|
|
9
|
+
};
|
|
10
|
+
var pastDate = function pastDate() {
|
|
11
|
+
var numberOfDays = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
|
|
12
|
+
var date = dayjs().subtract(numberOfDays, "day").format("YYYY-MM-DD");
|
|
13
|
+
return date;
|
|
14
|
+
};
|
|
15
|
+
export var dateUtils = {
|
|
16
|
+
currentDate: currentDate,
|
|
17
|
+
futureDate: futureDate,
|
|
18
|
+
pastDate: pastDate
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.js","names":["dayjs","currentDate","format","futureDate","numberOfDays","arguments","length","undefined","date","add","pastDate","subtract","dateUtils"],"sources":["../../../src/cypress-utils/utils/date.js"],"sourcesContent":["import dayjs from \"dayjs\";\n\nconst currentDate = () => dayjs().format(\"YYYY-MM-DD\");\n\nconst futureDate = (numberOfDays = 1) => {\n const date = dayjs().add(numberOfDays, \"day\").format(\"YYYY-MM-DD\");\n\n return date;\n};\n\nconst pastDate = (numberOfDays = 1) => {\n const date = dayjs().subtract(numberOfDays, \"day\").format(\"YYYY-MM-DD\");\n\n return date;\n};\n\nexport const dateUtils = { currentDate, futureDate, pastDate };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAA;EAAA,OAASD,KAAK,EAAE,CAACE,MAAM,CAAC,YAAY,CAAC;AAAA;AAEtD,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAAyB;EAAA,IAArBC,YAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAClC,IAAMG,IAAI,GAAGR,KAAK,EAAE,CAACS,GAAG,CAACL,YAAY,EAAE,KAAK,CAAC,CAACF,MAAM,CAAC,YAAY,CAAC;EAElE,OAAOM,IAAI;AACb,CAAC;AAED,IAAME,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAAyB;EAAA,IAArBN,YAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAChC,IAAMG,IAAI,GAAGR,KAAK,EAAE,CAACW,QAAQ,CAACP,YAAY,EAAE,KAAK,CAAC,CAACF,MAAM,CAAC,YAAY,CAAC;EAEvE,OAAOM,IAAI;AACb,CAAC;AAED,OAAO,IAAMI,SAAS,GAAG;EAAEX,WAAW,EAAXA,WAAW;EAAEE,UAAU,EAAVA,UAAU;EAAEO,QAAQ,EAARA;AAAS,CAAC"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
var hostname = "api.fastmail.com";
|
|
3
|
+
var username = Cypress.env("FASTMAIL_USERNAME") || "cypress@mixarrow.com";
|
|
4
|
+
var token = Cypress.env("FASTMAIL_TOKEN");
|
|
5
|
+
var authUrl = "https://".concat(hostname, "/.well-known/jmap");
|
|
6
|
+
var headers = {
|
|
7
|
+
"Content-Type": "application/json",
|
|
8
|
+
Authorization: "Bearer ".concat(token)
|
|
9
|
+
};
|
|
10
|
+
var getSession = function getSession() {
|
|
11
|
+
return cy.request({
|
|
12
|
+
url: authUrl,
|
|
13
|
+
method: "GET",
|
|
14
|
+
headers: headers
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
var getDraftId = function getDraftId(_ref) {
|
|
18
|
+
var apiUrl = _ref.apiUrl,
|
|
19
|
+
accountId = _ref.accountId;
|
|
20
|
+
cy.request({
|
|
21
|
+
url: apiUrl,
|
|
22
|
+
method: "POST",
|
|
23
|
+
headers: headers,
|
|
24
|
+
body: JSON.stringify({
|
|
25
|
+
using: ["urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail"],
|
|
26
|
+
methodCalls: [["Mailbox/query", {
|
|
27
|
+
accountId: accountId,
|
|
28
|
+
filter: {
|
|
29
|
+
name: "Drafts"
|
|
30
|
+
}
|
|
31
|
+
}, "a"]]
|
|
32
|
+
})
|
|
33
|
+
}).then(function (_ref2) {
|
|
34
|
+
var data = _ref2.body;
|
|
35
|
+
return cy.wrap(data["methodResponses"][0][1].ids[0]).as("draftId");
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
var getIdentityId = function getIdentityId(_ref3) {
|
|
39
|
+
var apiUrl = _ref3.apiUrl,
|
|
40
|
+
accountId = _ref3.accountId;
|
|
41
|
+
cy.request({
|
|
42
|
+
url: apiUrl,
|
|
43
|
+
method: "POST",
|
|
44
|
+
headers: headers,
|
|
45
|
+
body: JSON.stringify({
|
|
46
|
+
using: ["urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail", "urn:ietf:params:jmap:submission"],
|
|
47
|
+
methodCalls: [["Identity/get", {
|
|
48
|
+
accountId: accountId,
|
|
49
|
+
ids: null
|
|
50
|
+
}, "a"]]
|
|
51
|
+
})
|
|
52
|
+
}).then(function (_ref4) {
|
|
53
|
+
var data = _ref4.body;
|
|
54
|
+
var identities = data["methodResponses"][0][1].list;
|
|
55
|
+
var identityId = identities.find(function (_ref5) {
|
|
56
|
+
var email = _ref5.email;
|
|
57
|
+
return email === username;
|
|
58
|
+
}).id;
|
|
59
|
+
cy.wrap(identityId).as("identityId");
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
var composeEmail = function composeEmail(_ref6) {
|
|
63
|
+
var apiUrl = _ref6.apiUrl,
|
|
64
|
+
accountId = _ref6.accountId,
|
|
65
|
+
draftId = _ref6.draftId,
|
|
66
|
+
identityId = _ref6.identityId,
|
|
67
|
+
emailDetails = _ref6.emailDetails;
|
|
68
|
+
var subject = emailDetails.subject,
|
|
69
|
+
body = emailDetails.body,
|
|
70
|
+
to = emailDetails.to,
|
|
71
|
+
senderName = emailDetails.senderName;
|
|
72
|
+
var draftObject = {
|
|
73
|
+
from: [{
|
|
74
|
+
email: username,
|
|
75
|
+
name: senderName
|
|
76
|
+
}],
|
|
77
|
+
to: [{
|
|
78
|
+
email: to
|
|
79
|
+
}],
|
|
80
|
+
subject: subject,
|
|
81
|
+
keywords: {
|
|
82
|
+
$draft: true
|
|
83
|
+
},
|
|
84
|
+
mailboxIds: _defineProperty({}, draftId, true),
|
|
85
|
+
bodyValues: {
|
|
86
|
+
body: {
|
|
87
|
+
value: body,
|
|
88
|
+
charset: "utf-8"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
textBody: [{
|
|
92
|
+
partId: "body",
|
|
93
|
+
type: "text/plain"
|
|
94
|
+
}]
|
|
95
|
+
};
|
|
96
|
+
cy.request({
|
|
97
|
+
url: apiUrl,
|
|
98
|
+
method: "POST",
|
|
99
|
+
headers: headers,
|
|
100
|
+
body: JSON.stringify({
|
|
101
|
+
using: ["urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail", "urn:ietf:params:jmap:submission"],
|
|
102
|
+
methodCalls: [["Email/set", {
|
|
103
|
+
accountId: accountId,
|
|
104
|
+
create: {
|
|
105
|
+
draft: draftObject
|
|
106
|
+
}
|
|
107
|
+
}, "a"], ["EmailSubmission/set", {
|
|
108
|
+
accountId: accountId,
|
|
109
|
+
onSuccessDestroyEmail: ["#sendIt"],
|
|
110
|
+
create: {
|
|
111
|
+
sendIt: {
|
|
112
|
+
emailId: "#draft",
|
|
113
|
+
identityId: identityId
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}, "b"]]
|
|
117
|
+
})
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
var checkForEnvs = function checkForEnvs() {
|
|
121
|
+
if (!username || !token) {
|
|
122
|
+
throw new Error("Please provide CYPRESS_FASTMAIL_USERNAME and CYPRESS_FASTMAIL_TOKEN as environment variables");
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
export var sendEmail = function sendEmail(emailDetails) {
|
|
126
|
+
checkForEnvs();
|
|
127
|
+
getSession().then(function (_ref7) {
|
|
128
|
+
var session = _ref7.body;
|
|
129
|
+
var apiUrl = session.apiUrl,
|
|
130
|
+
primaryAccounts = session.primaryAccounts;
|
|
131
|
+
var accountId = primaryAccounts["urn:ietf:params:jmap:mail"];
|
|
132
|
+
getDraftId({
|
|
133
|
+
apiUrl: apiUrl,
|
|
134
|
+
accountId: accountId
|
|
135
|
+
});
|
|
136
|
+
getIdentityId({
|
|
137
|
+
apiUrl: apiUrl,
|
|
138
|
+
accountId: accountId
|
|
139
|
+
});
|
|
140
|
+
cy.get("@draftId").then(function (draftId) {
|
|
141
|
+
cy.get("@identityId").then(function (identityId) {
|
|
142
|
+
return composeEmail({
|
|
143
|
+
apiUrl: apiUrl,
|
|
144
|
+
accountId: accountId,
|
|
145
|
+
draftId: draftId,
|
|
146
|
+
identityId: identityId,
|
|
147
|
+
emailDetails: emailDetails
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
export var emailUtils = {
|
|
154
|
+
sendEmail: sendEmail
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=email.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.js","names":["hostname","username","Cypress","env","token","authUrl","concat","headers","Authorization","getSession","cy","request","url","method","getDraftId","_ref","apiUrl","accountId","body","JSON","stringify","using","methodCalls","filter","name","then","_ref2","data","wrap","ids","as","getIdentityId","_ref3","_ref4","identities","list","identityId","find","_ref5","email","id","composeEmail","_ref6","draftId","emailDetails","subject","to","senderName","draftObject","from","keywords","$draft","mailboxIds","_defineProperty","bodyValues","value","charset","textBody","partId","type","create","draft","onSuccessDestroyEmail","sendIt","emailId","checkForEnvs","Error","sendEmail","_ref7","session","primaryAccounts","get","emailUtils"],"sources":["../../../src/cypress-utils/utils/email.js"],"sourcesContent":["const hostname = \"api.fastmail.com\";\nconst username = Cypress.env(\"FASTMAIL_USERNAME\") || \"cypress@mixarrow.com\";\nconst token = Cypress.env(\"FASTMAIL_TOKEN\");\n\nconst authUrl = `https://${hostname}/.well-known/jmap`;\nconst headers = {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`,\n};\n\nconst getSession = () => cy.request({ url: authUrl, method: \"GET\", headers });\n\nconst getDraftId = ({ apiUrl, accountId }) => {\n cy.request({\n url: apiUrl,\n method: \"POST\",\n headers,\n body: JSON.stringify({\n using: [\"urn:ietf:params:jmap:core\", \"urn:ietf:params:jmap:mail\"],\n methodCalls: [\n [\"Mailbox/query\", { accountId, filter: { name: \"Drafts\" } }, \"a\"],\n ],\n }),\n }).then(({ body: data }) =>\n cy.wrap(data[\"methodResponses\"][0][1].ids[0]).as(\"draftId\")\n );\n};\n\nconst getIdentityId = ({ apiUrl, accountId }) => {\n cy.request({\n url: apiUrl,\n method: \"POST\",\n headers,\n body: JSON.stringify({\n using: [\n \"urn:ietf:params:jmap:core\",\n \"urn:ietf:params:jmap:mail\",\n \"urn:ietf:params:jmap:submission\",\n ],\n methodCalls: [[\"Identity/get\", { accountId, ids: null }, \"a\"]],\n }),\n }).then(({ body: data }) => {\n const identities = data[\"methodResponses\"][0][1].list;\n const identityId = identities.find(({ email }) => email === username).id;\n cy.wrap(identityId).as(\"identityId\");\n });\n};\n\nconst composeEmail = ({\n apiUrl,\n accountId,\n draftId,\n identityId,\n emailDetails,\n}) => {\n const { subject, body, to, senderName } = emailDetails;\n\n const draftObject = {\n from: [{ email: username, name: senderName }],\n to: [{ email: to }],\n subject,\n keywords: { $draft: true },\n mailboxIds: { [draftId]: true },\n bodyValues: { body: { value: body, charset: \"utf-8\" } },\n textBody: [{ partId: \"body\", type: \"text/plain\" }],\n };\n\n cy.request({\n url: apiUrl,\n method: \"POST\",\n headers,\n body: JSON.stringify({\n using: [\n \"urn:ietf:params:jmap:core\",\n \"urn:ietf:params:jmap:mail\",\n \"urn:ietf:params:jmap:submission\",\n ],\n methodCalls: [\n [\"Email/set\", { accountId, create: { draft: draftObject } }, \"a\"],\n [\n \"EmailSubmission/set\",\n {\n accountId,\n onSuccessDestroyEmail: [\"#sendIt\"],\n create: { sendIt: { emailId: \"#draft\", identityId } },\n },\n \"b\",\n ],\n ],\n }),\n });\n};\n\nconst checkForEnvs = () => {\n if (!username || !token) {\n throw new Error(\n \"Please provide CYPRESS_FASTMAIL_USERNAME and CYPRESS_FASTMAIL_TOKEN as environment variables\"\n );\n }\n};\n\nexport const sendEmail = emailDetails => {\n checkForEnvs();\n getSession().then(({ body: session }) => {\n const { apiUrl, primaryAccounts } = session;\n const accountId = primaryAccounts[\"urn:ietf:params:jmap:mail\"];\n getDraftId({ apiUrl, accountId });\n getIdentityId({ apiUrl, accountId });\n cy.get(\"@draftId\").then(draftId => {\n cy.get(\"@identityId\").then(identityId =>\n composeEmail({ apiUrl, accountId, draftId, identityId, emailDetails })\n );\n });\n });\n};\n\nexport const emailUtils = { sendEmail };\n"],"mappings":"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"}
|
|
@@ -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
|