passbolt-styleguide 3.8.4 → 3.9.0-alpha2
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/build/css/help.min.css +3 -3
- package/build/css/public.min.css +3 -3
- package/build/css/themes/default/api_authentication.min.css +3 -3
- package/build/css/themes/default/api_cloud.min.css +3 -3
- package/build/css/themes/default/api_main.min.css +3 -3
- package/build/css/themes/default/api_reports.min.css +3 -3
- package/build/css/themes/default/api_webinstaller.min.css +3 -3
- package/build/css/themes/default/ext_app.min.css +3 -3
- package/build/css/themes/default/ext_authentication.min.css +3 -3
- package/build/css/themes/default/ext_external.min.css +2 -2
- package/build/css/themes/default/ext_in_form_cta.min.css +3 -3
- package/build/css/themes/default/ext_in_form_menu.min.css +3 -3
- package/build/css/themes/default/ext_quickaccess.min.css +3 -3
- package/build/css/themes/midgar/api_authentication.min.css +3 -3
- package/build/css/themes/midgar/api_main.min.css +3 -3
- package/build/css/themes/midgar/api_reports.min.css +3 -3
- package/build/css/themes/midgar/ext_app.min.css +3 -3
- package/build/css/themes/midgar/ext_authentication.min.css +3 -3
- package/build/css/themes/midgar/ext_in_form_cta.min.css +3 -3
- package/build/css/themes/midgar/ext_in_form_menu.min.css +3 -3
- package/build/css/themes/midgar/ext_quickaccess.min.css +3 -3
- package/build/css/themes/solarized_dark/api_authentication.min.css +1 -1
- package/build/css/themes/solarized_dark/api_main.min.css +1 -1
- package/build/css/themes/solarized_dark/api_reports.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_app.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_authentication.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_in_form_cta.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_in_form_menu.min.css +1 -1
- package/build/css/themes/solarized_dark/ext_quickaccess.min.css +1 -1
- package/build/css/themes/solarized_light/api_authentication.min.css +1 -1
- package/build/css/themes/solarized_light/api_main.min.css +1 -1
- package/build/css/themes/solarized_light/api_reports.min.css +1 -1
- package/build/css/themes/solarized_light/ext_app.min.css +1 -1
- package/build/css/themes/solarized_light/ext_authentication.min.css +1 -1
- package/build/css/themes/solarized_light/ext_in_form_cta.min.css +1 -1
- package/build/css/themes/solarized_light/ext_in_form_menu.min.css +1 -1
- package/build/css/themes/solarized_light/ext_quickaccess.min.css +1 -1
- package/build/js/dist/api-account-recovery.js +1 -1
- package/build/js/dist/api-app.js +1 -1
- package/build/js/dist/api-app.js.LICENSE.txt +75 -5
- package/build/js/dist/api-feedback.js +2 -0
- package/build/js/dist/api-feedback.js.LICENSE.txt +45 -0
- package/build/js/dist/api-recover.js +1 -1
- package/build/js/dist/api-setup.js +1 -1
- package/build/js/dist/api-triage.js +1 -1
- package/build/js/dist/api-vendors.js +1 -1
- package/build/js/dist/api-vendors.js.LICENSE.txt +19 -9
- package/build/js/dist/src/locales/de-DE/common.json +995 -0
- package/build/js/dist/src/locales/en-UK/common.json +1061 -0
- package/build/js/dist/src/locales/es-ES/common.json +995 -0
- package/build/js/dist/src/locales/fr-FR/common.json +995 -0
- package/build/js/dist/src/locales/ja-JP/common.json +980 -0
- package/build/js/dist/src/locales/lt-LT/common.json +1025 -0
- package/build/js/dist/src/locales/nl-NL/common.json +995 -0
- package/build/js/dist/src/locales/pl-PL/common.json +1025 -0
- package/build/js/dist/src/locales/sv-SE/common.json +995 -0
- package/package.json +18 -1
- package/src/img/controls/attention.svg +1 -0
- package/src/locales/en-UK/common.json +80 -16
- package/src/react-extension/ApiApp.js +17 -5
- package/src/react-extension/ApiFeedback.entry.js +24 -0
- package/src/react-extension/ExtApp.js +12 -5
- package/src/react-extension/ExtAuthenticationLogin.js +17 -15
- package/src/react-extension/ExtAuthenticationLogin.test.stories.js +59 -0
- package/src/react-extension/ExtBootstrapApp.js +1 -0
- package/src/react-extension/components/Administration/AdministrationWorkspace.js +24 -0
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.data.js +3 -3
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.js +13 -1
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.page.js +7 -0
- package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.js +101 -0
- package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.test.data.js +23 -0
- package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.test.stories.js +27 -0
- package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.js +1 -1
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.js +78 -2
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.data.js +3 -1
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.js +60 -0
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.page.js +23 -4
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationInternationalisationActions/DisplayAdministrationInternationalisationActions.js +125 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationMfaActions/DisplayAdministrationMfaActions.js +131 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSelfRegistrationActions/DisplayAdministrationSelfRegistrationActions.js +103 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSsoActions/DisplayAdministrationSsoActions.js +91 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSubscriptionActions/DisplayAdministrationSubscriptionActions.js +85 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationUserDirectoryActions/DisplayAdministrationUserDirectoryActions.js +228 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.js +4 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.test.js +9 -0
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.js +3 -3
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.data.js +14 -0
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.page.js +0 -17
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.js +18 -115
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.data.js +11 -13
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.js +38 -43
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.page.js +47 -10
- package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.stories.js +10 -43
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.js +82 -367
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.data.js +128 -42
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.js +75 -121
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.page.js +46 -16
- package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.stories.js +18 -14
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.js +103 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.js +53 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.page.js +81 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.stories.js +34 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.js +125 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.data.js +63 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.js +54 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.page.js +88 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.stories.js +35 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.js +381 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.data.js +69 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.js +332 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.page.js +247 -0
- package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.stories.js +72 -0
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.js +19 -19
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.data.js +1717 -1729
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.js +11 -3
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.page.js +4 -1
- package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.stories.js +11 -1784
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.js +41 -140
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.data.js +15 -3
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.js +22 -49
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.page.js +19 -11
- package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.stories.js +9 -3
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.js +5 -6
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.data.js +1717 -1728
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.js +11 -3
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.page.js +4 -1
- package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.stories.js +11 -1784
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.js +362 -835
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.data.js +427 -418
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.js +134 -175
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.page.js +108 -11
- package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.stories.js +17 -25
- package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.js +4 -2
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.js +3 -3
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.js +1 -1
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.js +32 -7
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.data.js +0 -3
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.js +145 -1
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.page.js +52 -1
- package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.stories.js +15 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.js +340 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.data.js +56 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.js +223 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.page.js +235 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.stories.js +55 -0
- package/src/react-extension/components/Administration/ManageSsoSettings/SsoProviders.data.js +34 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.js +12 -3
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.test.js +27 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.test.page.js +8 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.js +197 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.data.js +37 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.js +187 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.page.js +120 -0
- package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.stories.js +31 -0
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.js +9 -5
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.data.js +4 -0
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.js +11 -42
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.page.js +1 -0
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.js +9 -5
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.data.js +4 -0
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.js +16 -2
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.page.js +17 -1
- package/src/react-extension/components/AuthenticationLogin/Login/Login.js +159 -61
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.data.js +14 -11
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.js +79 -0
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.page.js +16 -0
- package/src/react-extension/components/AuthenticationLogin/OrchestrateLogin/OrchestrateLoginBoxMain.js +2 -0
- package/src/react-extension/components/AuthenticationSetup/SetupAuthentication/SetupAuthentication.js +4 -0
- package/src/react-extension/components/Common/Error/ApiError/ApiError.js +119 -0
- package/src/react-extension/components/Common/Error/ApiError/ApiError.test.js +43 -0
- package/src/react-extension/components/Common/Error/ApiError/ApiError.test.page.js +108 -0
- package/src/react-extension/components/Common/Error/ApiError/ApiError.test.stories.js +39 -0
- package/src/react-extension/components/Common/Inputs/Autocomplete/Autocomplete.test.js +12 -0
- package/src/react-extension/components/Common/Inputs/Autocomplete/AutocompleteItem.js +2 -2
- package/src/react-extension/components/Common/Legacy/HandleLegacyAppjs.js +1 -1
- package/src/react-extension/components/Common/Navigation/Header/Logo.js +13 -1
- package/src/react-extension/components/Resource/CreateResource/CreateResource.js +103 -30
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.js +44 -10
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.page.js +35 -7
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js +3 -3
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesListContextualMenu.js +6 -5
- package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.js +5 -4
- package/src/react-extension/components/Resource/EditResource/EditResource.js +95 -23
- package/src/react-extension/components/Resource/EditResource/EditResource.test.js +45 -13
- package/src/react-extension/components/Resource/EditResource/EditResource.test.page.js +35 -2
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetails.js +2 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsInformation.js +3 -2
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js +23 -2
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.js +8 -0
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.page.js +26 -2
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js +22 -1
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.js +8 -0
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.page.js +25 -2
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetails.js +2 -1
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.js +2 -1
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js +14 -1
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.js +8 -0
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.page.js +12 -0
- package/src/react-extension/components/User/CreateUser/CreateUser.js +42 -3
- package/src/react-extension/components/User/CreateUser/CreateUser.test.js +16 -0
- package/src/react-extension/components/User/CreateUser/CreateUser.test.page.js +26 -0
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.js +2 -1
- package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.js +5 -5
- package/src/react-extension/components/User/EditUser/EditUser.js +29 -2
- package/src/react-extension/components/User/EditUser/EditUser.test.js +12 -0
- package/src/react-extension/components/User/EditUser/EditUser.test.page.js +26 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.js +2 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.test.data.js +1332 -1331
- package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.js +2 -1
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.js +19 -1
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.js +9 -0
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.page.js +12 -0
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetails/DisplayUserGroupDetails.js +2 -1
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.js +16 -1
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.js +8 -0
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.page.js +26 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.js +6 -4
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.data.js +4 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.js +21 -11
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.page.js +10 -1
- package/src/react-extension/contexts/AdminSmtpSettingsContext.js +2 -0
- package/src/react-extension/contexts/AdminSmtpSettingsContext.test.data.js +13 -0
- package/src/react-extension/contexts/AdminSmtpSettingsContext.test.js +3 -1
- package/src/react-extension/contexts/AdminSsoContext.js +558 -0
- package/src/react-extension/contexts/AdminSsoContext.test.data.js +51 -0
- package/src/react-extension/contexts/Administration/AdministrationInternationalizationContext/AdministrationInternationalizationContext.js +194 -0
- package/src/react-extension/contexts/Administration/AdministrationInternationalizationContext/AdministrationInternationalizationContext.test.js +111 -0
- package/src/react-extension/contexts/Administration/AdministrationMfa/AdministrationMfaContext.js +265 -0
- package/src/react-extension/contexts/Administration/AdministrationMfa/AdministrationMfaContext.test.js +178 -0
- package/src/react-extension/contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext.js +453 -0
- package/src/react-extension/contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext.test.js +218 -0
- package/src/react-extension/contexts/Administration/AdministrationSubscription/AdministrationSubscription.js +168 -0
- package/src/react-extension/contexts/Administration/AdministrationSubscription/AdministrationSubscription.test.js +73 -0
- package/src/react-extension/contexts/Administration/AdministrationUserDirectory/AdministrationUserDirectoryContext.js +353 -0
- package/src/react-extension/contexts/Administration/AdministrationUserDirectory/AdministrationUserDirectoryContext.test.js +220 -0
- package/src/react-extension/contexts/AdministrationWorkspaceContext.js +17 -178
- package/src/react-extension/contexts/AdministrationWorkspaceContext.test.js +0 -26
- package/src/react-extension/contexts/ApiAppContext.test.data.js +4 -2
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.js +54 -4
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.data.js +10 -1
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.js +92 -14
- package/src/react-extension/contexts/Authentication/AuthenticationSetupContext.js +1 -0
- package/src/react-extension/contexts/NavigationContext.js +34 -0
- package/src/react-extension/contexts/SsoContext.js +151 -0
- package/src/react-extension/contexts/SsoContext.test.data.js +36 -0
- package/src/react-extension/contexts/SsoContext.test.js +104 -0
- package/src/react-extension/lib/Domain/DomainUtil.js +70 -0
- package/src/react-extension/lib/Domain/DomainUtil.test.js +129 -0
- package/src/react-extension/lib/Domain/Domains.js +6113 -0
- package/src/react-extension/lib/Error/InputValidator.js +24 -0
- package/src/react-extension/lib/Map/DynamicRef.js +49 -0
- package/src/react-extension/lib/Map/DynamicRef.test.js +56 -0
- package/src/react-extension/lib/Map/MapObject.js +48 -0
- package/src/react-extension/lib/Map/MapObject.test.js +43 -0
- package/src/react-quickaccess/ExtQuickAccess.js +7 -4
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.js +3 -1
- package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.data.js +4 -0
- package/src/react-quickaccess/components/LoginPage/LoginPage.js +115 -4
- package/src/react-quickaccess/components/LoginPage/LoginPage.test.data.js +10 -0
- package/src/react-quickaccess/components/LoginPage/LoginPage.test.stories.js +30 -3
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.js +33 -1
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.data.js +25 -0
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.js +60 -0
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.page.js +60 -0
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.js +33 -1
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.js +36 -7
- package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.js +3 -2
- package/src/react-quickaccess/contexts/SsoContext.js +150 -0
- package/src/react-web-integration/lib/InForm/InFormFieldSelector.js +5 -0
- package/src/shared/constants/inputs.const.js +30 -0
- package/src/shared/lib/Browser/clipBoard.js +45 -0
- package/src/shared/lib/Browser/clipBoard.test.js +59 -0
- package/src/shared/models/Mfa/Duo.js +36 -0
- package/src/shared/models/Mfa/Duo.test.js +59 -0
- package/src/shared/models/Mfa/MfaDTO.js +51 -0
- package/src/shared/models/Mfa/MfaDTO.test.js +48 -0
- package/src/shared/models/Mfa/MfaEnumeration.js +17 -0
- package/src/shared/models/Mfa/MfaModel.js +48 -0
- package/src/shared/models/Mfa/MfaModel.test.js +37 -0
- package/src/shared/models/Mfa/Yubikey.js +35 -0
- package/src/shared/models/Mfa/Yubikey.test.js +47 -0
- package/src/shared/models/selfRegistration/SelfRegistrationDomainsViewModel.js +55 -0
- package/src/shared/models/selfRegistration/SelfRegistrationDomainsViewModel.test.js +37 -0
- package/src/shared/models/selfRegistration/SelfRegistrationDto.js +42 -0
- package/src/shared/models/selfRegistration/SelfRegistrationDto.test.js +48 -0
- package/src/shared/models/selfRegistration/SelfRegistrationEnumeration.js +17 -0
- package/src/shared/models/subscription/SubscriptionDto.js +34 -0
- package/src/shared/models/subscription/SubscriptionDto.test.js +31 -0
- package/src/shared/models/subscription/SubscriptionModel.js +33 -0
- package/src/shared/models/subscription/SubscriptionModel.test.js +48 -0
- package/src/shared/models/user/UserModel.js +37 -0
- package/src/shared/models/userDirectory/UserDirectoryDTO.js +57 -0
- package/src/shared/models/userDirectory/UserDirectoryDTO.test.js +40 -0
- package/src/shared/models/userDirectory/UserDirectoryEnum.js +22 -0
- package/src/shared/models/userDirectory/UserDirectoryModel.js +64 -0
- package/src/shared/models/userDirectory/UserDirectoryModel.test.js +37 -0
- package/src/shared/services/actions/subscription/SubscriptionActionService.js +69 -0
- package/src/shared/services/actions/subscription/SubscriptionActionService.test.js +73 -0
- package/src/shared/services/api/Internationalisation/InternationalisationService.js +46 -0
- package/src/shared/services/api/Mfa/MfaService.js +54 -0
- package/src/shared/services/{accountRecovery → api/accountRecovery}/ApiAppAccountRecoveryUserService.js +2 -2
- package/src/shared/services/{accountRecovery → api/accountRecovery}/ExtAppAccountRecoveryUserService.js +0 -0
- package/src/shared/services/api/secrets/pownedService.js +64 -0
- package/src/shared/services/api/secrets/pownedService.test.js +63 -0
- package/src/shared/services/api/selfRegistration/selfRegistrationService.js +64 -0
- package/src/shared/services/api/user/UserService.js +45 -0
- package/src/shared/services/api/userDirectory/UserDirectoryService.js +108 -0
- package/src/shared/services/forms/Mfa/MfaFormService.js +195 -0
- package/src/shared/services/forms/Mfa/MfaFormService.test.js +341 -0
- package/src/shared/services/forms/selfRegistration/SelfRegistrationFormService.js +92 -0
- package/src/shared/services/forms/selfRegistration/SelfRegistrationFormService.test.js +101 -0
- package/src/shared/services/forms/userDirectory/UserDirectoryFormService.js +118 -0
- package/src/shared/services/forms/userDirectory/UserDirectoryFormService.test.js +128 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.js +0 -205
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.data.js +0 -37
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.js +0 -197
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.page.js +0 -133
|
@@ -32,10 +32,35 @@ const AUTHENTICATION_METHOD_NONE = "None";
|
|
|
32
32
|
const AUTHENTICATION_METHOD_USERNAME = "Username only";
|
|
33
33
|
const AUTHENTICATION_METHOD_USERNAME_PASSWORD = "Username & password";
|
|
34
34
|
|
|
35
|
-
class ManageSmtpAdministrationSettings extends React.Component {
|
|
35
|
+
export class ManageSmtpAdministrationSettings extends React.Component {
|
|
36
|
+
/**
|
|
37
|
+
* The no authentication method.
|
|
38
|
+
* @returns {string}
|
|
39
|
+
*/
|
|
40
|
+
static get AUTHENTICATION_METHOD_NONE() {
|
|
41
|
+
return AUTHENTICATION_METHOD_NONE;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* The authentication method username only
|
|
46
|
+
* @returns {string}
|
|
47
|
+
*/
|
|
48
|
+
static get AUTHENTICATION_METHOD_USERNAME() {
|
|
49
|
+
return AUTHENTICATION_METHOD_USERNAME;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* The authentication method username and password
|
|
54
|
+
* @returns {string}
|
|
55
|
+
*/
|
|
56
|
+
static get AUTHENTICATION_METHOD_USERNAME_PASSWORD() {
|
|
57
|
+
return AUTHENTICATION_METHOD_USERNAME_PASSWORD;
|
|
58
|
+
}
|
|
59
|
+
|
|
36
60
|
/**
|
|
37
61
|
* Constructor
|
|
38
62
|
* @param {Object} props
|
|
63
|
+
* @constructor
|
|
39
64
|
*/
|
|
40
65
|
constructor(props) {
|
|
41
66
|
super(props);
|
|
@@ -250,7 +275,7 @@ class ManageSmtpAdministrationSettings extends React.Component {
|
|
|
250
275
|
*/
|
|
251
276
|
shouldShowSourceWarningMessage() {
|
|
252
277
|
const smtpContext = this.props.adminSmtpSettingsContext;
|
|
253
|
-
return smtpContext.getCurrentSmtpSettings().source
|
|
278
|
+
return smtpContext.getCurrentSmtpSettings().source !== "db" && smtpContext.isSettingsModified();
|
|
254
279
|
}
|
|
255
280
|
|
|
256
281
|
/**
|
|
@@ -280,15 +305,15 @@ class ManageSmtpAdministrationSettings extends React.Component {
|
|
|
280
305
|
return (
|
|
281
306
|
<div className="grid grid-responsive-12">
|
|
282
307
|
<div className="row">
|
|
283
|
-
<div className="smtp-settings col8 main-column">
|
|
308
|
+
<div className="third-party-provider-settings smtp-settings col8 main-column">
|
|
284
309
|
<h3><Trans>Email server</Trans></h3>
|
|
285
310
|
{this.isReady() && !settings?.provider &&
|
|
286
311
|
<>
|
|
287
312
|
<h4 className="no-border"><Trans>Select a provider</Trans></h4>
|
|
288
|
-
<div className="
|
|
313
|
+
<div className="provider-list">
|
|
289
314
|
{SmtpProviders.map(provider =>
|
|
290
|
-
<div key={provider.id} className="
|
|
291
|
-
<div className="
|
|
315
|
+
<div key={provider.id} className="provider button" id={provider.id} onClick={() => this.props.adminSmtpSettingsContext.changeProvider(provider)}>
|
|
316
|
+
<div className="provider-logo">
|
|
292
317
|
{provider.id === "other" &&
|
|
293
318
|
<Icon name="envelope"/>
|
|
294
319
|
}
|
|
@@ -296,7 +321,7 @@ class ManageSmtpAdministrationSettings extends React.Component {
|
|
|
296
321
|
<img src={`${this.props.context.trustedDomain}/img/third_party/${provider.icon}`}/>
|
|
297
322
|
}
|
|
298
323
|
</div>
|
|
299
|
-
<p className="
|
|
324
|
+
<p className="provider-name">{provider.name}</p>
|
|
300
325
|
</div>
|
|
301
326
|
)}
|
|
302
327
|
</div>
|
|
@@ -26,9 +26,6 @@ export function defaultProps(data = {}) {
|
|
|
26
26
|
setDisplayAdministrationWorkspaceAction: jest.fn(),
|
|
27
27
|
resetDisplayAdministrationWorkspaceAction: jest.fn()
|
|
28
28
|
},
|
|
29
|
-
dialogContext: {
|
|
30
|
-
open: jest.fn()
|
|
31
|
-
},
|
|
32
29
|
actionFeedbackContext: {
|
|
33
30
|
displaySuccess: jest.fn()
|
|
34
31
|
},
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* Unit tests on ManageSmtpAdministrationSettings in regard of specifications
|
|
17
17
|
*/
|
|
18
18
|
import SmtpProviders from "./SmtpProviders.data";
|
|
19
|
+
import {ManageSmtpAdministrationSettings} from "./ManageSmtpAdministrationSettings";
|
|
19
20
|
import ManageSmtpAdministrationSettingsPage from "./ManageSmtpAdministrationSettings.test.page";
|
|
20
21
|
import {waitFor} from "@testing-library/react";
|
|
21
22
|
import {defaultProps} from "./ManageSmtpAdministrationSettings.test.data";
|
|
@@ -27,6 +28,8 @@ import {
|
|
|
27
28
|
withExistingSmtpSettings,
|
|
28
29
|
withAwsSesSmtpSettings,
|
|
29
30
|
withKnownProviderSmtpSettings,
|
|
31
|
+
withNoAuthenticationMethod,
|
|
32
|
+
withUsernameAuthenticationMethod,
|
|
30
33
|
} from "../../../contexts/AdminSmtpSettingsContext.test.data";
|
|
31
34
|
import {enableFetchMocks} from "jest-fetch-mock";
|
|
32
35
|
import PassboltApiFetchError from "../../../../shared/lib/Error/PassboltApiFetchError";
|
|
@@ -181,6 +184,22 @@ describe("ManageSmtpAdministrationSettings", () => {
|
|
|
181
184
|
expect(page.settingsFromFileWarningMessage).toBeTruthy();
|
|
182
185
|
});
|
|
183
186
|
|
|
187
|
+
it('As a signed-in administrator when the Email server settings are configured via configuration file, I can see a source warning message when I modify a field.', async() => {
|
|
188
|
+
expect.assertions(2);
|
|
189
|
+
const props = defaultProps();
|
|
190
|
+
const smtpSettings = withExistingSmtpSettings({source: "env"});
|
|
191
|
+
fetch.doMockOnceIf(/smtp\/settings.json/, () => mockApiResponse(smtpSettings));
|
|
192
|
+
const page = new ManageSmtpAdministrationSettingsPage(props);
|
|
193
|
+
|
|
194
|
+
await waitFor(() => {});
|
|
195
|
+
|
|
196
|
+
expect(page.settingsFromFileWarningMessage).toBeFalsy();
|
|
197
|
+
|
|
198
|
+
await page.setFormWith({username: "test"});
|
|
199
|
+
|
|
200
|
+
expect(page.settingsFromFileWarningMessage).toBeTruthy();
|
|
201
|
+
});
|
|
202
|
+
|
|
184
203
|
it('As a signed-in administrator when the Email server settings are configured via the database, I do not see a source warning message when I modify a field. ', async() => {
|
|
185
204
|
expect.assertions(2);
|
|
186
205
|
const props = defaultProps();
|
|
@@ -252,7 +271,11 @@ describe("ManageSmtpAdministrationSettings", () => {
|
|
|
252
271
|
it('As a signed-in administrator in the Email server settings I can see an error dialog with error details if an error occurs during the fetch of the SMTP settings', async() => {
|
|
253
272
|
expect.assertions(1);
|
|
254
273
|
const expectedError = new PassboltApiFetchError("Something went wrong");
|
|
255
|
-
const props = defaultProps(
|
|
274
|
+
const props = defaultProps({
|
|
275
|
+
dialogContext: {
|
|
276
|
+
open: jest.fn()
|
|
277
|
+
}
|
|
278
|
+
});
|
|
256
279
|
fetch.doMockOnceIf(/smtp\/settings.json/, () => { throw expectedError; });
|
|
257
280
|
new ManageSmtpAdministrationSettingsPage(props);
|
|
258
281
|
|
|
@@ -262,6 +285,48 @@ describe("ManageSmtpAdministrationSettings", () => {
|
|
|
262
285
|
error: expectedError
|
|
263
286
|
});
|
|
264
287
|
});
|
|
288
|
+
|
|
289
|
+
it('As a signed-in administrator in the Email server settings I can see that a selected authentication method is set to “Username and password” if both username and password returned by the API are set', async() => {
|
|
290
|
+
expect.assertions(3);
|
|
291
|
+
const props = defaultProps();
|
|
292
|
+
const smtpSettings = withExistingSmtpSettings();
|
|
293
|
+
fetch.doMockOnceIf(/smtp\/settings.json/, () => mockApiResponse(smtpSettings));
|
|
294
|
+
const page = new ManageSmtpAdministrationSettingsPage(props);
|
|
295
|
+
|
|
296
|
+
await waitFor(() => {});
|
|
297
|
+
|
|
298
|
+
expect(page.authenticationMethodValue).toBe(ManageSmtpAdministrationSettings.AUTHENTICATION_METHOD_USERNAME_PASSWORD);
|
|
299
|
+
expect(page.username.value).toBe(smtpSettings.username);
|
|
300
|
+
expect(page.password.value).toBe(smtpSettings.password);
|
|
301
|
+
});
|
|
302
|
+
|
|
303
|
+
it('As a signed-in administrator in the Email server settings I can see that a selected authentication method is set to “Username only” if username is set but password returned by the API is set to null', async() => {
|
|
304
|
+
expect.assertions(3);
|
|
305
|
+
const props = defaultProps();
|
|
306
|
+
const smtpSettings = withUsernameAuthenticationMethod();
|
|
307
|
+
fetch.doMockOnceIf(/smtp\/settings.json/, () => mockApiResponse(smtpSettings));
|
|
308
|
+
const page = new ManageSmtpAdministrationSettingsPage(props);
|
|
309
|
+
|
|
310
|
+
await waitFor(() => {});
|
|
311
|
+
|
|
312
|
+
expect(page.authenticationMethodValue).toBe(ManageSmtpAdministrationSettings.AUTHENTICATION_METHOD_USERNAME);
|
|
313
|
+
expect(page.username.value).toBe(smtpSettings.username);
|
|
314
|
+
expect(page.isPasswordVisible).toBeFalsy();
|
|
315
|
+
});
|
|
316
|
+
|
|
317
|
+
it('As a signed-in administrator in the Email server settings I can see that a selected authentication method is set to “None” if username and password returned by the API are set to null', async() => {
|
|
318
|
+
expect.assertions(3);
|
|
319
|
+
const props = defaultProps();
|
|
320
|
+
const smtpSettings = withNoAuthenticationMethod();
|
|
321
|
+
fetch.doMockOnceIf(/smtp\/settings.json/, () => mockApiResponse(smtpSettings));
|
|
322
|
+
const page = new ManageSmtpAdministrationSettingsPage(props);
|
|
323
|
+
|
|
324
|
+
await waitFor(() => {});
|
|
325
|
+
|
|
326
|
+
expect(page.authenticationMethodValue).toBe(ManageSmtpAdministrationSettings.AUTHENTICATION_METHOD_NONE);
|
|
327
|
+
expect(page.isUsernameVisible).toBeFalsy();
|
|
328
|
+
expect(page.isPasswordVisible).toBeFalsy();
|
|
329
|
+
});
|
|
265
330
|
});
|
|
266
331
|
|
|
267
332
|
describe("As a signed-in administrator I can access the different help pages", () => {
|
|
@@ -492,6 +557,85 @@ describe("ManageSmtpAdministrationSettings", () => {
|
|
|
492
557
|
expect(page.username.disabled).toBe(false);
|
|
493
558
|
});
|
|
494
559
|
|
|
560
|
+
it("As a signed-in administrator on the “Email server” settings page, I can update the authentication method to 'None' and save the form", async() => {
|
|
561
|
+
expect.assertions(6);
|
|
562
|
+
|
|
563
|
+
const smtpSettings = withKnownProviderSmtpSettings();
|
|
564
|
+
const expectedSettingsToSave = {
|
|
565
|
+
...smtpSettings,
|
|
566
|
+
username: null,
|
|
567
|
+
password: null
|
|
568
|
+
};
|
|
569
|
+
|
|
570
|
+
//first call is a GET call for the settings
|
|
571
|
+
fetch.doMockOnceIf(/smtp\/settings.json/, () => mockApiResponse(smtpSettings));
|
|
572
|
+
|
|
573
|
+
//second call is a POST to save the settings
|
|
574
|
+
let promiseResolution = null;
|
|
575
|
+
fetch.doMockOnceIf(/smtp\/settings.json/, data => new Promise(resolve => {
|
|
576
|
+
const requestBody = JSON.parse(data.body.toString());
|
|
577
|
+
expect(requestBody).toStrictEqual(expectedSettingsToSave);
|
|
578
|
+
promiseResolution = resolve;
|
|
579
|
+
}));
|
|
580
|
+
|
|
581
|
+
const props = defaultProps();
|
|
582
|
+
const page = new ManageSmtpAdministrationSettingsPage(props);
|
|
583
|
+
await waitFor(() => {});
|
|
584
|
+
|
|
585
|
+
await page.selectAuthenticationMethod(0);
|
|
586
|
+
|
|
587
|
+
expect(page.isSaveButtonEnabled()).toBe(true);
|
|
588
|
+
expect(page.isUsernameVisible).toBe(false);
|
|
589
|
+
expect(page.isPasswordVisible).toBe(false);
|
|
590
|
+
|
|
591
|
+
await page.saveSettings();
|
|
592
|
+
promiseResolution(mockApiResponse(expectedSettingsToSave));
|
|
593
|
+
await waitFor(() => {});
|
|
594
|
+
|
|
595
|
+
expect(props.actionFeedbackContext.displaySuccess).toHaveBeenCalledTimes(1);
|
|
596
|
+
expect(props.actionFeedbackContext.displaySuccess).toHaveBeenCalledWith("The SMTP settings have been saved successfully");
|
|
597
|
+
});
|
|
598
|
+
|
|
599
|
+
it("As a signed-in administrator on the “Email server” settings page, I can update the authentication method to 'Username only' and save the form", async() => {
|
|
600
|
+
expect.assertions(6);
|
|
601
|
+
|
|
602
|
+
const smtpSettings = withKnownProviderSmtpSettings();
|
|
603
|
+
const expectedSettingsToSave = {
|
|
604
|
+
...smtpSettings,
|
|
605
|
+
username: 'username-only',
|
|
606
|
+
password: null
|
|
607
|
+
};
|
|
608
|
+
|
|
609
|
+
//first call is a GET call for the settings
|
|
610
|
+
fetch.doMockOnceIf(/smtp\/settings.json/, () => mockApiResponse(smtpSettings));
|
|
611
|
+
|
|
612
|
+
//second call is a POST to save the settings
|
|
613
|
+
let promiseResolution = null;
|
|
614
|
+
fetch.doMockOnceIf(/smtp\/settings.json/, data => new Promise(resolve => {
|
|
615
|
+
const requestBody = JSON.parse(data.body.toString());
|
|
616
|
+
expect(requestBody).toStrictEqual(expectedSettingsToSave);
|
|
617
|
+
promiseResolution = resolve;
|
|
618
|
+
}));
|
|
619
|
+
|
|
620
|
+
const props = defaultProps();
|
|
621
|
+
const page = new ManageSmtpAdministrationSettingsPage(props);
|
|
622
|
+
await waitFor(() => {});
|
|
623
|
+
|
|
624
|
+
await page.selectAuthenticationMethod(1);
|
|
625
|
+
|
|
626
|
+
expect(page.isSaveButtonEnabled()).toBe(true);
|
|
627
|
+
expect(page.isUsernameVisible).toBe(true);
|
|
628
|
+
expect(page.isPasswordVisible).toBe(false);
|
|
629
|
+
|
|
630
|
+
await page.setFormWith({username: expectedSettingsToSave.username});
|
|
631
|
+
await page.saveSettings();
|
|
632
|
+
promiseResolution(mockApiResponse(expectedSettingsToSave));
|
|
633
|
+
await waitFor(() => {});
|
|
634
|
+
|
|
635
|
+
expect(props.actionFeedbackContext.displaySuccess).toHaveBeenCalledTimes(1);
|
|
636
|
+
expect(props.actionFeedbackContext.displaySuccess).toHaveBeenCalledWith("The SMTP settings have been saved successfully");
|
|
637
|
+
});
|
|
638
|
+
|
|
495
639
|
it("As a signed-in administrator in the “Email server” setting, I cannot save the “Email server” setting when the form does not validate\nAs a signed-in administrator when the SMTP server is configured, I can save the Email server setting when the form validates", async() => {
|
|
496
640
|
expect.assertions(2);
|
|
497
641
|
|
|
@@ -186,6 +186,19 @@ export default class ManageSmtpAdministrationSettingsPage {
|
|
|
186
186
|
await this.clickOn(providerItem, () => currentProviderValue !== this.providerValue);
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
+
/**
|
|
190
|
+
* Clicks on the nth authentication method in the authentication method list (from the first screen when there is no data).
|
|
191
|
+
* @param {integer} authenticationMethodIndex
|
|
192
|
+
* @returns {Promise<void>}
|
|
193
|
+
*/
|
|
194
|
+
async selectAuthenticationMethod(authenticationMethodIndex) {
|
|
195
|
+
const currentAuthenticationMethodValue = this.providerValue;
|
|
196
|
+
|
|
197
|
+
await this.clickOn(this.authenticationMethod, () => true);
|
|
198
|
+
const authenticationMethodItem = this.authenticationMethodSelectFieldItems[authenticationMethodIndex];
|
|
199
|
+
await this.clickOn(authenticationMethodItem, () => currentAuthenticationMethodValue !== this.authenticationMethodValue);
|
|
200
|
+
}
|
|
201
|
+
|
|
189
202
|
/**
|
|
190
203
|
* Set the current form with the given data (only work with the inputs (not our Select component for instance))
|
|
191
204
|
* @param {object} formData a key value pairs object that contains the field name as a key (must match a getter method on this page) and the desired value
|
|
@@ -247,7 +260,7 @@ export default class ManageSmtpAdministrationSettingsPage {
|
|
|
247
260
|
* @returns {NodeList}
|
|
248
261
|
*/
|
|
249
262
|
get providerButtons() {
|
|
250
|
-
return this.selectAll(".smtp-settings .
|
|
263
|
+
return this.selectAll(".smtp-settings .provider-list .provider");
|
|
251
264
|
}
|
|
252
265
|
|
|
253
266
|
/**
|
|
@@ -258,6 +271,14 @@ export default class ManageSmtpAdministrationSettingsPage {
|
|
|
258
271
|
return this.selectAll(".smtp-settings #smtp-settings-form-provider .items .option");
|
|
259
272
|
}
|
|
260
273
|
|
|
274
|
+
/**
|
|
275
|
+
* Returns all the available custom Select options for the authentication methods.
|
|
276
|
+
* @returns {NodeList}
|
|
277
|
+
*/
|
|
278
|
+
get authenticationMethodSelectFieldItems() {
|
|
279
|
+
return this.selectAll(".smtp-settings #smtp-settings-form-authentication-method .items .option");
|
|
280
|
+
}
|
|
281
|
+
|
|
261
282
|
/**
|
|
262
283
|
* Returns the username field
|
|
263
284
|
* @returns {HTMLElement}
|
|
@@ -266,6 +287,13 @@ export default class ManageSmtpAdministrationSettingsPage {
|
|
|
266
287
|
return this.select(".smtp-settings #smtp-settings-form-username");
|
|
267
288
|
}
|
|
268
289
|
|
|
290
|
+
/**
|
|
291
|
+
* Returns true if the username field is visible
|
|
292
|
+
*/
|
|
293
|
+
get isUsernameVisible() {
|
|
294
|
+
return Boolean(this.username);
|
|
295
|
+
}
|
|
296
|
+
|
|
269
297
|
/**
|
|
270
298
|
* Returns the username error HTMLElement
|
|
271
299
|
* @returns {HTMLElement}
|
|
@@ -282,6 +310,13 @@ export default class ManageSmtpAdministrationSettingsPage {
|
|
|
282
310
|
return this.select(".smtp-settings #smtp-settings-form-password");
|
|
283
311
|
}
|
|
284
312
|
|
|
313
|
+
/**
|
|
314
|
+
* Returns true if the password field is visible
|
|
315
|
+
*/
|
|
316
|
+
get isPasswordVisible() {
|
|
317
|
+
return Boolean(this.password);
|
|
318
|
+
}
|
|
319
|
+
|
|
285
320
|
/**
|
|
286
321
|
* Returns the password error HTMLElement
|
|
287
322
|
* @returns {HTMLElement}
|
|
@@ -410,6 +445,22 @@ export default class ManageSmtpAdministrationSettingsPage {
|
|
|
410
445
|
return this.select(".smtp-settings #smtp-settings-form-provider .value").textContent;
|
|
411
446
|
}
|
|
412
447
|
|
|
448
|
+
/**
|
|
449
|
+
* Returns the authentication method HTMLElement
|
|
450
|
+
* @returns {HTMLElement}
|
|
451
|
+
*/
|
|
452
|
+
get authenticationMethod() {
|
|
453
|
+
return this.select(".smtp-settings #smtp-settings-form-authentication-method");
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
/**
|
|
457
|
+
* Returns the selected value from the provider in the second screen.
|
|
458
|
+
* @returns {string}
|
|
459
|
+
*/
|
|
460
|
+
get authenticationMethodValue() {
|
|
461
|
+
return this.select(".smtp-settings #smtp-settings-form-authentication-method .value").textContent;
|
|
462
|
+
}
|
|
463
|
+
|
|
413
464
|
/**
|
|
414
465
|
* Returns the warning message "settings coming from file" text content if exists
|
|
415
466
|
* @returns {string|undefined}
|
|
@@ -77,19 +77,34 @@ const Template = args =>
|
|
|
77
77
|
export const Default = Template.bind({});
|
|
78
78
|
Default.args = defaultProps();
|
|
79
79
|
Default.decorators = decorators;
|
|
80
|
+
Default.parameters = {
|
|
81
|
+
css: "api_main"
|
|
82
|
+
};
|
|
80
83
|
|
|
81
84
|
export const WithSmtpSettings = Template.bind({});
|
|
82
85
|
WithSmtpSettings.args = defaultProps();
|
|
83
86
|
WithSmtpSettings.decorators = decorators;
|
|
87
|
+
WithSmtpSettings.parameters = {
|
|
88
|
+
css: "api_main"
|
|
89
|
+
};
|
|
84
90
|
|
|
85
91
|
export const WithSmtpSettingsFromFile = Template.bind({});
|
|
86
92
|
WithSmtpSettingsFromFile.args = defaultProps();
|
|
87
93
|
WithSmtpSettingsFromFile.decorators = decorators;
|
|
94
|
+
WithSmtpSettingsFromFile.parameters = {
|
|
95
|
+
css: "api_main"
|
|
96
|
+
};
|
|
88
97
|
|
|
89
98
|
export const WithKnownSmtpSettings = Template.bind({});
|
|
90
99
|
WithKnownSmtpSettings.args = defaultProps();
|
|
91
100
|
WithKnownSmtpSettings.decorators = decorators;
|
|
101
|
+
WithKnownSmtpSettings.parameters = {
|
|
102
|
+
css: "api_main"
|
|
103
|
+
};
|
|
92
104
|
|
|
93
105
|
export const WithErrorFromServer = Template.bind({});
|
|
94
106
|
WithErrorFromServer.args = defaultProps();
|
|
95
107
|
WithErrorFromServer.decorators = decorators;
|
|
108
|
+
WithErrorFromServer.parameters = {
|
|
109
|
+
css: "api_main"
|
|
110
|
+
};
|