passbolt-styleguide 3.5.2 → 3.6.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 +4 -4
- 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 +4 -4
- package/build/css/themes/default/api_reports.min.css +4 -4
- package/build/css/themes/default/api_webinstaller.min.css +3 -3
- package/build/css/themes/default/ext_app.min.css +4 -4
- 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 +4 -4
- package/build/css/themes/midgar/api_reports.min.css +4 -4
- package/build/css/themes/midgar/ext_app.min.css +4 -4
- 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/js/dist/api-account-recovery.js +2 -0
- package/build/js/dist/api-account-recovery.js.LICENSE.txt +107 -0
- package/build/js/dist/api-app.js +1 -1
- package/build/js/dist/api-app.js.LICENSE.txt +73 -1
- 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 +159 -15
- package/jest.config.json +13 -0
- package/package.json +26 -21
- package/src/locales/en-UK/common.json +140 -4
- package/src/react-extension/ApiAccountRecovery.entry.js +25 -0
- package/src/react-extension/ApiAccountRecovery.js +233 -0
- package/src/react-extension/ApiApp.js +50 -43
- package/src/react-extension/ExtApp.js +129 -105
- package/src/react-extension/ExtAuthenticationAccountRecovery.js +173 -0
- package/src/react-extension/ExtAuthenticationLogin.js +35 -33
- package/src/react-extension/ExtAuthenticationRecover.js +23 -35
- package/src/react-extension/ExtAuthenticationSetup.js +24 -46
- package/src/react-extension/ExtBootstrapAccountRecovery.js +75 -0
- package/src/react-extension/ExtBootstrapApp.js +4 -0
- package/src/react-extension/components/AccountRecovery/AccountRecoveryInviteUserSettingPreferenceDialog/AccountRecoveryInviteUserSettingPreferenceDialog.js +114 -0
- package/src/react-extension/components/AccountRecovery/AccountRecoveryInviteUserSettingPreferenceDialog/AccountRecoveryInviteUserSettingPreferenceDialog.test.data.js +27 -0
- package/src/react-extension/components/AccountRecovery/AccountRecoveryInviteUserSettingPreferenceDialog/AccountRecoveryInviteUserSettingPreferenceDialog.test.js +72 -0
- package/src/react-extension/components/AccountRecovery/AccountRecoveryInviteUserSettingPreferenceDialog/AccountRecoveryInviteUserSettingPreferenceDialog.test.page.js +74 -0
- package/src/react-extension/components/AccountRecovery/AccountRecoveryInviteUserSettingPreferenceDialog/AccountRecoveryInviteUserSettingPreferenceDialog.test.stories.js +51 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryStatusCheck/HandleAccountRecoveryStatusCheck.js +80 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryStatusCheck/HandleAccountRecoveryStatusCheck.test.data.js +60 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryStatusCheck/HandleAccountRecoveryStatusCheck.test.js +110 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryStatusCheck/HandleAccountRecoveryStatusCheck.test.page.js +40 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryUserSettingsRoute/HandleAccountRecoveryUserSettingsRoute.js +96 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryUserSettingsRoute/HandleAccountRecoveryUserSettingsRoute.test.data.js +63 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryUserSettingsRoute/HandleAccountRecoveryUserSettingsRoute.test.js +88 -0
- package/src/react-extension/components/AccountRecovery/HandleAccountRecoveryUserSettingsRoute/HandleAccountRecoveryUserSettingsRoute.test.page.js +37 -0
- package/src/react-extension/components/AccountRecovery/HandleReviewAccountRecoveryRequestWorkflow/HandleReviewAccountRecoveryRequestWorkflow.js +214 -0
- package/src/react-extension/components/AccountRecovery/HandleReviewAccountRecoveryRequestWorkflow/HandleReviewAccountRecoveryRequestWorkflow.test.data.js +49 -0
- package/src/react-extension/components/AccountRecovery/HandleReviewAccountRecoveryRequestWorkflow/HandleReviewAccountRecoveryRequestWorkflow.test.js +98 -0
- package/src/react-extension/components/AccountRecovery/HandleReviewAccountRecoveryRequestWorkflow/HandleReviewAccountRecoveryRequestWorkflow.test.page.js +37 -0
- package/src/react-extension/components/AccountRecovery/ManageAccountRecoveryUserSettings/ManageAccountRecoveryUserSettings.js +316 -0
- package/src/react-extension/components/AccountRecovery/ManageAccountRecoveryUserSettings/ManageAccountRecoveryUserSettings.test.data.js +55 -0
- package/src/react-extension/components/AccountRecovery/ManageAccountRecoveryUserSettings/ManageAccountRecoveryUserSettings.test.js +132 -0
- package/src/react-extension/components/AccountRecovery/ManageAccountRecoveryUserSettings/ManageAccountRecoveryUserSettings.test.page.js +70 -0
- package/src/react-extension/components/AccountRecovery/ManageAccountRecoveryUserSettings/ManageAccountRecoveryUserSettings.test.stories.js +104 -0
- package/src/react-extension/components/AccountRecovery/ReviewAccountRecoveryRequest/ReviewAccountRecoveryRequest.js +286 -0
- package/src/react-extension/components/AccountRecovery/ReviewAccountRecoveryRequest/ReviewAccountRecoveryRequest.test.data.js +51 -0
- package/src/react-extension/components/AccountRecovery/ReviewAccountRecoveryRequest/ReviewAccountRecoveryRequest.test.js +77 -0
- package/src/react-extension/components/AccountRecovery/ReviewAccountRecoveryRequest/ReviewAccountRecoveryRequest.test.page.js +119 -0
- package/src/react-extension/components/AccountRecovery/ReviewAccountRecoveryRequest/ReviewAccountRecoveryRequest.test.stories.js +36 -0
- package/src/react-extension/components/Administration/AdministrationWorkspace.js +15 -2
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.data.js +5 -1
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.js +45 -0
- package/src/react-extension/components/Administration/AdministrationWorkspace.test.page.js +23 -3
- package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.js +254 -0
- package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.test.data.js +153 -0
- package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.test.js +109 -0
- package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.test.page.js +174 -0
- package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.test.stories.js +43 -0
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.js +36 -0
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.data.js +2 -1
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.js +9 -0
- package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.page.js +12 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationAccountRecoveryAction/DisplayAdministrationAccountRecoveryActions.js +138 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationAccountRecoveryAction/DisplayAdministrationAccountRecoveryActions.test.data.js +46 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationAccountRecoveryAction/DisplayAdministrationAccountRecoveryActions.test.js +51 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationAccountRecoveryAction/DisplayAdministrationAccountRecoveryActions.test.page.js +93 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.js +2 -0
- package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.test.js +9 -0
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.js +105 -2
- package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.stories.js +104 -0
- package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.js +2 -4
- package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.test.js +10 -3
- package/src/react-extension/components/Administration/HandleSaveAccountRecoveryOrganizationPolicyWorkflow/HandleSaveAccountRecoveryOrganizationPolicyWorkflow.js +180 -0
- package/src/react-extension/components/Administration/HandleSaveAccountRecoveryOrganizationPolicyWorkflow/HandleSaveAccountRecoveryOrganizationPolicyWorkflow.test.data.js +47 -0
- package/src/react-extension/components/Administration/HandleSaveAccountRecoveryOrganizationPolicyWorkflow/HandleSaveAccountRecoveryOrganizationPolicyWorkflow.test.js +64 -0
- package/src/react-extension/components/Administration/HandleSaveAccountRecoveryOrganizationPolicyWorkflow/HandleSaveAccountRecoveryOrganizationPolicyWorkflow.test.page.js +35 -0
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.js +435 -0
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.data.js +186 -0
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.js +100 -0
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.page.js +159 -0
- package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.stories.js +64 -0
- package/src/react-extension/components/Administration/ProvideAccountRecoveryOrganizationKey/ProvideAccountRecoveryOrganizationKey.js +535 -0
- package/src/react-extension/components/Administration/ProvideAccountRecoveryOrganizationKey/ProvideAccountRecoveryOrganizationKey.test.data.js +31 -0
- package/src/react-extension/components/Administration/ProvideAccountRecoveryOrganizationKey/ProvideAccountRecoveryOrganizationKey.test.js +155 -0
- package/src/react-extension/components/Administration/ProvideAccountRecoveryOrganizationKey/ProvideAccountRecoveryOrganizationKey.test.page.js +124 -0
- package/src/react-extension/components/Administration/ProvideAccountRecoveryOrganizationKey/ProvideAccountRecoveryOrganizationKey.test.stories.js +41 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/DownloadOrganizationKey.js +108 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/DownloadOrganizationKey.test.js +48 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/DownloadOrganizationKey.test.page.js +82 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/DownloadOrganizationKey.test.stories.js +51 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.js +471 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.test.js +181 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/ImportOrganizationKey.js +289 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/ImportOrganizationKey.test.js +188 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.js +121 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.test.page.js +262 -0
- package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.test.stories.js +50 -0
- package/src/react-extension/components/Authentication/AskForAuthenticationHelpCredentialLost/AskForAuthenticationHelpCredentialLost.js +73 -0
- package/src/react-extension/components/Authentication/AskForAuthenticationHelpCredentialLost/AskForAuthenticationHelpCredentialLost.test.data.js +41 -0
- package/src/react-extension/components/Authentication/AskForAuthenticationHelpCredentialLost/AskForAuthenticationHelpCredentialLost.test.js +48 -0
- package/src/react-extension/components/Authentication/AskForAuthenticationHelpCredentialLost/AskForAuthenticationHelpCredentialLost.test.page.js +64 -0
- package/src/react-extension/components/Authentication/AskForAuthenticationHelpCredentialLost/AskForAuthenticationHelpCredentialLost.test.stories.js +40 -0
- package/src/react-extension/components/Authentication/CheckAccountRecoveryEmail/CheckAccountRecoveryEmail.js +36 -0
- package/src/react-extension/components/Authentication/CheckAccountRecoveryEmail/CheckAccountRecoveryEmail.test.js +37 -0
- package/src/react-extension/components/Authentication/CheckAccountRecoveryEmail/CheckAccountRecoveryEmail.test.page.js +55 -0
- package/src/react-extension/components/Authentication/CheckAccountRecoveryEmail/CheckAccountRecoveryEmail.test.stories.js +39 -0
- package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.test.js +3 -3
- package/src/react-extension/components/Authentication/CheckMailBox/CheckMailBox.test.page.js +0 -1
- package/src/react-extension/components/Authentication/CheckMailBox/CheckMailbox.test.stories.js +21 -15
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.js +33 -23
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.data.js +18 -30
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.js +110 -47
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.page.js +33 -10
- package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.stories.js +36 -19
- package/src/react-extension/components/Authentication/ChooseAccountRecoveryPreference/ChooseAccountRecoveryPreference.js +191 -0
- package/src/react-extension/components/Authentication/ChooseAccountRecoveryPreference/ChooseAccountRecoveryPreference.test.data.js +90 -0
- package/src/react-extension/components/Authentication/ChooseAccountRecoveryPreference/ChooseAccountRecoveryPreference.test.js +92 -0
- package/src/react-extension/components/Authentication/ChooseAccountRecoveryPreference/ChooseAccountRecoveryPreference.test.page.js +109 -0
- package/src/react-extension/components/Authentication/ChooseAccountRecoveryPreference/ChooseAccountRecoveryPreference.test.stories.js +60 -0
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.js +5 -29
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.data.js +17 -18
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.js +48 -25
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.page.js +16 -9
- package/src/react-extension/components/Authentication/ChooseSecurityToken/ChooseSecurityToken.test.stories.js +20 -16
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.js +40 -36
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.data.js +18 -14
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.js +189 -103
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.page.js +50 -11
- package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.stories.js +31 -19
- package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/DisplayBrowserNotSupported.js +0 -9
- package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/DisplayBrowserNotSupported.test.js +1 -1
- package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/{DisplayBrowserNotSupportedPage.js → DisplayBrowserNotSupported.test.page.js} +2 -5
- package/src/react-extension/components/Authentication/DisplayBrowserNotSupported/DisplayBrowserNotSupported.test.stories.js +21 -15
- package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.js +0 -9
- package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.data.js +36 -0
- package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.js +34 -0
- package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.page.js +49 -0
- package/src/react-extension/components/Authentication/DisplayExpiredTokenError/DisplayExpiredTokenError.test.stories.js +23 -15
- package/src/react-extension/components/Authentication/DisplayRequireInvitationError/DisplayRequireInvitationError.js +0 -9
- package/src/react-extension/components/Authentication/DisplayRequireInvitationError/DisplayRequireInvitationError.test.js +1 -1
- package/src/react-extension/components/Authentication/DisplayRequireInvitationError/{DisplayRequireInvitationErrorPage.js → DisplayRequireInvitationError.test.page.js} +0 -3
- package/src/react-extension/components/Authentication/DisplayRequireInvitationError/DisplayRequireInvitationError.test.stories.js +21 -15
- package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.js +91 -10
- package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.data.js +56 -0
- package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.js +46 -0
- package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.page.js +79 -0
- package/src/react-extension/components/Authentication/DisplayUnexpectedError/DisplayUnexpectedError.test.stories.js +48 -15
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.js +12 -53
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.data.js +16 -16
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.js +10 -13
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.page.js +16 -6
- package/src/react-extension/components/Authentication/DownloadRecoveryKit/DownloadRecoveryKit.test.stories.js +21 -15
- package/src/react-extension/components/Authentication/EnterNameForm/EnterNameForm.test.data.js +17 -3
- package/src/react-extension/components/Authentication/EnterNameForm/EnterNameForm.test.page.js +0 -1
- package/src/react-extension/components/Authentication/EnterNameForm/EnterNameForm.test.stories.js +21 -15
- package/src/react-extension/components/Authentication/EnterUsernameForm/EnterUsernameForm.test.data.js +28 -11
- package/src/react-extension/components/Authentication/EnterUsernameForm/EnterUsernameForm.test.stories.js +21 -16
- package/src/react-extension/components/Authentication/HandleSessionExpired/HandleSessionExpired.test.data.js +17 -3
- package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.js +56 -19
- package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.data.js +25 -17
- package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.js +204 -58
- package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.page.js +43 -7
- package/src/react-extension/components/Authentication/ImportGpgKey/ImportGpgKey.test.stories.js +31 -19
- package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.js +0 -9
- package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.data.js +17 -3
- package/src/react-extension/components/Authentication/InstallExtension/InstallExtension.test.stories.js +62 -18
- package/src/react-extension/components/Authentication/{IntroduceSetupExtension/IntroduceSetupExtension.js → IntroduceExtension/IntroduceExtension.js} +8 -19
- package/src/react-extension/components/Authentication/IntroduceExtension/IntroduceExtension.test.data.js +24 -0
- package/src/react-extension/components/Authentication/{IntroduceSetupExtension/IntroduceSetupExtension.test.js → IntroduceExtension/IntroduceExtension.test.js} +16 -6
- package/src/react-extension/components/Authentication/{IntroduceSetupExtension/IntroduceSetupExtension.test.page.js → IntroduceExtension/IntroduceExtension.test.page.js} +3 -4
- package/src/react-extension/components/Authentication/IntroduceExtension/IntroduceExtension.test.stories.js +39 -0
- package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.data.js +27 -9
- package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.js +2 -8
- package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.page.js +4 -9
- package/src/react-extension/components/Authentication/NotifyExpiredSession/NotifyExpiredSession.test.stories.js +23 -14
- package/src/react-extension/components/Authentication/RequestAccountRecovery/RequestAccountRecovery.js +70 -0
- package/src/react-extension/components/Authentication/RequestAccountRecovery/RequestAccountRecovery.test.data.js +25 -0
- package/src/react-extension/components/Authentication/RequestAccountRecovery/RequestAccountRecovery.test.js +49 -0
- package/src/react-extension/components/Authentication/RequestAccountRecovery/RequestAccountRecovery.test.page.js +74 -0
- package/src/react-extension/components/Authentication/RequestAccountRecovery/RequestAccountRecovery.test.stories.js +40 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayExpiredTokenError/DisplayExpiredTokenError.js +41 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayExpiredTokenError/DisplayExpiredTokenError.test.data.js +36 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayExpiredTokenError/DisplayExpiredTokenError.test.js +35 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayExpiredTokenError/DisplayExpiredTokenError.test.page.js +50 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayExpiredTokenError/DisplayExpiredTokenError.test.stories.js +41 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayRestartFromScratchError/DisplayRestartFromScratchError.js +42 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayRestartFromScratchError/DisplayRestartFromScratchError.test.js +43 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayRestartFromScratchError/DisplayRestartFromScratchError.test.page.js +62 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/DisplayRestartFromScratchError/DisplayRestartFromScratchError.test.stories.js +40 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/OrchestrateAccountRecovery/InsertAccountRecoveryIframe.js +64 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/OrchestrateAccountRecovery/OrchestrateAccountRecovery.js +84 -0
- package/src/react-extension/components/AuthenticationAccountRecovery/OrchestrateApiAccountRecovery/OrchestrateApiAccountRecovery.js +66 -0
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.js +8 -22
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.data.js +25 -0
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.js +52 -0
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.page.js +82 -0
- package/src/react-extension/components/AuthenticationLogin/AcceptLoginServerKeyChange/AcceptLoginServerKeyChange.test.stories.js +23 -16
- package/src/react-extension/components/AuthenticationLogin/Login/Login.js +156 -145
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.data.js +67 -0
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.js +157 -0
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.page.js +155 -0
- package/src/react-extension/components/AuthenticationLogin/Login/Login.test.stories.js +32 -27
- package/src/react-extension/components/AuthenticationLogin/OrchestrateLogin/OrchestrateLoginBoxFooter.js +48 -0
- package/src/react-extension/components/AuthenticationLogin/OrchestrateLogin/OrchestrateLoginBoxMain.js +90 -0
- package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.js +12 -3
- package/src/react-extension/components/AuthenticationPassphrase/InputPassphrase/InputPassphrase.test.stories.js +1 -1
- package/src/react-extension/components/AuthenticationRecover/RecoverAuthentication/RecoverAuthentication.js +90 -82
- package/src/react-extension/components/AuthenticationSetup/SetupAuthentication/SetupAuthentication.js +80 -87
- package/src/react-extension/components/Common/ActionFeedback/DisplayActionFeedbacks.test.js +8 -3
- package/src/react-extension/components/Common/Avatar/UserAvatar.js +6 -1
- package/src/react-extension/components/Common/Avatar/UserAvatar.test.data.js +27 -0
- package/src/react-extension/components/Common/Avatar/UserAvatar.test.stories.js +47 -0
- package/src/react-extension/components/Common/Dialog/ManageDialogs/ManageDialogs.js +7 -2
- package/src/react-extension/components/Common/Error/HandleErrorEvents/HandleErrorEvents.js +2 -3
- package/src/react-extension/components/Common/Error/NotifyError/NotifyError.js +78 -15
- package/src/react-extension/components/Common/Icons/Icon.js +7 -0
- package/src/react-extension/components/Common/Internationalisation/TranslationProvider.js +1 -0
- package/src/react-extension/components/Common/Loading/LoadingSpinner/LoadingSpinner.js +15 -2
- package/src/react-extension/components/Common/Loading/LoadingSpinner/LoadingSpinner.test.stories.js +49 -0
- package/src/react-extension/components/Common/Route/HandleApplicationFirstLoadRoute.js +77 -0
- package/src/react-extension/components/Common/Route/HandleRouteFallback.js +14 -46
- package/src/react-extension/components/Common/Tab/Tabs.js +3 -1
- package/src/react-extension/components/Common/Workflow/ManageWorkflows/ManageWorkflows.js +72 -0
- package/src/react-extension/components/InsertAppIframe.js +12 -6
- package/src/react-extension/components/Resource/CreateResource/CreateResource.js +2 -4
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.data.js +2 -2
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.js +17 -2
- package/src/react-extension/components/Resource/CreateResource/CreateResource.test.stories.js +19 -3
- package/src/react-extension/components/Resource/DeleteResource/DeleteResource.js +2 -4
- package/src/react-extension/components/Resource/DeleteResource/DeleteResource.test.js +20 -6
- package/src/react-extension/components/Resource/DeleteResource/DeleteResource.test.stories.js +12 -0
- package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.test.stories.js +107 -6
- package/src/react-extension/components/Resource/EditResource/EditResource.js +2 -4
- package/src/react-extension/components/Resource/EditResource/EditResource.test.data.js +2 -2
- package/src/react-extension/components/Resource/EditResource/EditResource.test.js +3 -0
- package/src/react-extension/components/Resource/EditResource/EditResource.test.stories.js +18 -4
- package/src/react-extension/components/Resource/ExportResources/ExportResources.js +5 -7
- package/src/react-extension/components/Resource/ExportResources/ExportResources.test.js +9 -2
- package/src/react-extension/components/Resource/ExportResources/ExportResources.test.stories.js +4 -2
- package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.js +5 -7
- package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.test.js +8 -2
- package/src/react-extension/components/Resource/ExportResources/ExportResourcesCredentials.test.stories.js +4 -2
- package/src/react-extension/components/Resource/FilterResourcesByFolders/FilterResourcesByFolders.test.stories.js +24 -8
- package/src/react-extension/components/Resource/FilterResourcesByTags/FilterResourcesByTagsList.js +2 -4
- package/src/react-extension/components/Resource/ImportResources/ImportResources.js +2 -4
- package/src/react-extension/components/Resource/ImportResources/ImportResources.test.js +10 -2
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.js +4 -6
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.test.js +9 -2
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesKeyUnlock.test.stories.js +9 -1
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.js +4 -2
- package/src/react-extension/components/Resource/ImportResources/ImportResourcesResult.test.stories.js +19 -1
- package/src/react-extension/components/ResourceComment/AddResourceComment/AddResourceComment.test.stories.js +15 -3
- package/src/react-extension/components/ResourceComment/ConfirmResourceCommentDeletion/ConfirmResourceCommentDeletion.test.stories.js +8 -3
- package/src/react-extension/components/ResourceComment/DisplayResourceCommentList/DisplayResourceCommentList.test.stories.js +9 -8
- package/src/react-extension/components/ResourceDescription/EditResourceDescription/EditResourceDescription.test.stories.js +6 -3
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsActivity.test.stories.js +1 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsDescription.test.stories.js +1 -1
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsInformation.test.data.js +11 -0
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsInformation.test.js +11 -4
- package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsTag.test.stories.js +11 -10
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js +2 -4
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.js +16 -5
- package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.stories.js +13 -0
- package/src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.js +8 -10
- package/src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.test.js +12 -5
- package/src/react-extension/components/ResourceFolder/DefineResourceFolderMoveStrategy/DefineResourceFolderMoveStrategy.test.stories.js +4 -1
- package/src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.js +2 -4
- package/src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.test.js +2 -5
- package/src/react-extension/components/ResourceFolder/DeleteResourceFolder/DeleteResourceFolder.test.stories.js +6 -2
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js +2 -4
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.js +15 -4
- package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.stories.js +10 -2
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsActivity.test.stories.js +4 -2
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.test.js +2 -3
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsInformation.test.stories.js +3 -1
- package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetailsPermissions.test.stories.js +3 -1
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePassphraseGenerator.test.stories.js +2 -1
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.js +1 -1
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/ConfigurePasswordGenerator.test.stories.js +2 -3
- package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.test.stories.js +7 -3
- package/src/react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.js +2 -4
- package/src/react-extension/components/ResourceTag/DeleteResourceTag/DeleteResourceTag.test.stories.js +6 -2
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js +2 -4
- package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.stories.js +6 -2
- package/src/react-extension/components/Share/ShareDialog.js +2 -4
- package/src/react-extension/components/Share/ShareDialog.test.js +14 -3
- package/src/react-extension/components/Share/ShareDialog.test.stories.js +5 -3
- package/src/react-extension/components/User/ConfirmDisableUserMFA/ConfirmDisableUserMFA.js +4 -6
- package/src/react-extension/components/User/ConfirmDisableUserMFA/ConfirmDisableUserMFA.test.js +6 -2
- package/src/react-extension/components/User/ConfirmDisableUserMFA/ConfirmDisableUserMFA.test.stories.js +5 -0
- package/src/react-extension/components/User/CreateUser/CreateUser.js +2 -4
- package/src/react-extension/components/User/CreateUser/CreateUser.test.stories.js +14 -3
- package/src/react-extension/components/User/DeleteUser/DeleteUser.js +2 -4
- package/src/react-extension/components/User/DeleteUser/DeleteUser.test.stories.js +9 -2
- package/src/react-extension/components/User/DeleteUser/DeleteUserWithConflicts.js +2 -4
- package/src/react-extension/components/User/DeleteUser/DeleteUserWithConflicts.test.stories.js +7 -1
- package/src/react-extension/components/User/DisplayExpiredAccountRecovery/DisplayExpiredAccountRecovery.js +79 -0
- package/src/react-extension/components/User/DisplayExpiredAccountRecovery/DisplayExpiredAccountRecovery.test.stories.js +32 -0
- package/src/react-extension/components/User/DisplayUserBadgeMenu/DisplayUserBadgeMenu.js +13 -3
- package/src/react-extension/components/User/DisplayUserBadgeMenu/DisplayUserBadgeMenu.test.stories.js +7 -9
- package/src/react-extension/components/User/DisplayUserWorkspace/DisplayUserWorkspace.js +5 -1
- package/src/react-extension/components/User/DisplayUserWorkspace/DisplayUserWorkspace.test.data.js +18 -9
- package/src/react-extension/components/User/DisplayUserWorkspace/DisplayUserWorkspace.test.js +2 -2
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.js +48 -6
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.test.data.js +16 -1
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.test.js +14 -0
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.test.page.js +8 -0
- package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.test.stories.js +55 -0
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.js +35 -0
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.data.js +33 -13
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.js +16 -3
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.page.js +19 -6
- package/src/react-extension/components/User/DisplayUsers/DisplayUsers.test.stories.js +38 -0
- package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.js +46 -10
- package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.test.data.js +21 -6
- package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.test.js +38 -5
- package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.test.page.js +10 -0
- package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.test.stories.js +53 -0
- package/src/react-extension/components/User/EditUser/EditUser.js +2 -4
- package/src/react-extension/components/User/EditUser/EditUser.test.stories.js +8 -1
- package/src/react-extension/components/User/FilterUsersByGroups/DisplayGroupContextualMenu.js +2 -4
- package/src/react-extension/components/User/HandleReviewAccountRecoveryRequestRoute/HandleReviewAccountRecoveryRequestRoute.js +98 -0
- package/src/react-extension/components/User/HandleReviewAccountRecoveryRequestRoute/HandleReviewAccountRecoveryRequestRoute.test.data.js +56 -0
- package/src/react-extension/components/User/HandleReviewAccountRecoveryRequestRoute/HandleReviewAccountRecoveryRequestRoute.test.js +54 -0
- package/src/react-extension/components/User/HandleReviewAccountRecoveryRequestRoute/HandleReviewAccountRecoveryRequestRoute.test.page.js +37 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.js +36 -3
- package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.test.data.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.test.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetailsAccountRecovery/DisplayUserDetailsAccountRecovery.js +234 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsAccountRecovery/DisplayUserDetailsAccountRecovery.test.data.js +125 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsAccountRecovery/DisplayUserDetailsAccountRecovery.test.js +150 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsAccountRecovery/DisplayUserDetailsAccountRecovery.test.page.js +113 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsAccountRecovery/DisplayUserDetailsAccountRecovery.test.stories.js +142 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsActivity/DisplayUserDetailsActivity.js +467 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsActivity/DisplayUserDetailsActivity.test.data.js +167 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsActivity/DisplayUserDetailsActivity.test.js +106 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsActivity/DisplayUserDetailsActivity.test.page.js +101 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsActivity/DisplayUserDetailsActivity.test.stories.js +143 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsGroups/DisplayUserDetailsGroups.js +5 -0
- package/src/react-extension/components/UserDetails/DisplayUserDetailsGroups/DisplayUserDetailsGroups.test.stories.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetailsInformation/DisplayUserDetailsInformation.test.data.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetailsInformation/DisplayUserDetailsInformation.test.stories.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.test.data.js +1 -1
- package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.test.stories.js +1 -1
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.js +2 -4
- package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.stories.js +5 -1
- package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroup.js +2 -4
- package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroup.test.stories.js +8 -1
- package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroupWithConflicts.js +2 -4
- package/src/react-extension/components/UserGroup/DeleteUserGroup/DeleteUserGroupWithConflicts.test.stories.js +8 -1
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetails/DisplayUserGroupDetails.test.data.js +1 -1
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetails/DisplayUserGroupDetails.test.js +1 -1
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsInformation/DisplayUserGroupDetailsInformation.test.data.js +1 -1
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsMembers/DisplayUserGroupDetailsMembers.test.data.js +1 -1
- package/src/react-extension/components/UserGroup/DisplayUserGroupDetailsMembers/DisplayUserGroupDetailsMembers.test.stories.js +2 -1
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.js +2 -4
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.data.js +1 -1
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.js +13 -2
- package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.stories.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.test.js +5 -2
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.js +11 -1
- package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.js +1 -1
- package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.test.js +11 -3
- package/src/react-extension/components/UserSetting/ChangeUserSecurityToken/ChangeUserSecurityToken.test.stories.js +5 -1
- package/src/react-extension/components/UserSetting/DisplayUserAccountRecovery/DisplayAccountRecoveryUserSettings.js +240 -0
- package/src/react-extension/components/UserSetting/DisplayUserAccountRecovery/DisplayAccountRecoveryUserSettings.test.data.js +53 -0
- package/src/react-extension/components/UserSetting/DisplayUserAccountRecovery/DisplayAccountRecoveryUserSettings.test.js +110 -0
- package/src/react-extension/components/UserSetting/DisplayUserAccountRecovery/DisplayAccountRecoveryUserSettings.test.page.js +85 -0
- package/src/react-extension/components/UserSetting/DisplayUserAccountRecovery/DisplayAccountRecoveryUserSettings.test.stories.js +65 -0
- package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.js +3 -4
- package/src/react-extension/components/UserSetting/DisplayUserGpgInformation/DisplayUserGpgInformation.test.stories.js +1 -1
- package/src/react-extension/components/UserSetting/DisplayUserProfile/DisplayUserProfile.test.stories.js +1 -1
- package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspace/DisplayUserSettingsWorkspace.js +16 -2
- package/src/react-extension/components/UserSetting/DisplayUserSettingsWorkspaceBreadcrumb/DisplayUserSettingsWorkspaceBreadcrumb.js +2 -1
- package/src/react-extension/components/UserSetting/DisplayUserTheme/DisplayUserTheme.js +2 -4
- package/src/react-extension/components/UserSetting/DisplayUserTheme/DisplayUserTheme.test.stories.js +18 -12
- package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.js +2 -4
- package/src/react-extension/components/UserSetting/EditUserProfile/EditUserProfile.test.stories.js +17 -3
- package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.js +29 -0
- package/src/react-extension/components/UserSetting/NavigateIntoUserSettingsWorkspace/NavigateIntoUserSettingsWorkspace.test.stories.js +5 -0
- package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.js +2 -4
- package/src/react-extension/components/UserSetting/UploadUserProfileAvatar/UploadUserProfileAvatar.test.stories.js +10 -3
- package/src/react-extension/contexts/AccountRecoveryUserContext.js +223 -0
- package/src/react-extension/contexts/AccountRecoveryUserContext.test.data.js +55 -0
- package/src/react-extension/contexts/AccountRecoveryUserContext.test.js +58 -0
- package/src/react-extension/contexts/ActionFeedbackContext.test.data.js +28 -0
- package/src/react-extension/contexts/AdminAccountRecoveryContext.js +211 -0
- package/src/react-extension/contexts/AdminAccountRecoveryContext.test.data.js +66 -0
- package/src/react-extension/contexts/AdminAccountRecoveryContext.test.js +229 -0
- package/src/react-extension/contexts/AdministrationWorkspaceContext.js +27 -0
- package/src/react-extension/contexts/ApiAccountRecoveryContext.js +148 -0
- package/src/react-extension/contexts/ApiRecoverContext.js +14 -15
- package/src/react-extension/contexts/ApiSetupContext.js +8 -8
- package/src/react-extension/contexts/Authentication/AuthenticationAccountRecoveryContext.js +282 -0
- package/src/react-extension/contexts/Authentication/AuthenticationAccountRecoveryContext.test.data.js +51 -0
- package/src/react-extension/contexts/Authentication/AuthenticationAccountRecoveryContext.test.js +231 -0
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.js +264 -0
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.data.js +79 -0
- package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.js +234 -0
- package/src/react-extension/contexts/Authentication/AuthenticationRecoverContext.js +325 -0
- package/src/react-extension/contexts/Authentication/AuthenticationRecoverContext.test.data.js +63 -0
- package/src/react-extension/contexts/Authentication/AuthenticationRecoverContext.test.js +379 -0
- package/src/react-extension/contexts/Authentication/AuthenticationSetupContext.js +339 -0
- package/src/react-extension/contexts/Authentication/AuthenticationSetupContext.test.data.js +63 -0
- package/src/react-extension/contexts/Authentication/AuthenticationSetupContext.test.js +364 -0
- package/src/react-extension/contexts/DialogContext.test.data.js +27 -0
- package/src/react-extension/contexts/ExtAppContext.js +0 -6
- package/src/react-extension/contexts/ExtAppContext.test.data.js +50 -0
- package/src/react-extension/contexts/NavigationContext.js +26 -2
- package/src/react-extension/contexts/ResourceWorkspaceContext.js +9 -2
- package/src/react-extension/contexts/ResourceWorkspaceContext.test.page.js +10 -1
- package/src/react-extension/contexts/UserSettingsContext.js +1 -2
- package/src/react-extension/contexts/UserWorkspaceContext.js +35 -10
- package/src/react-extension/contexts/UserWorkspaceContext.test.data.js +13 -0
- package/src/react-extension/contexts/UserWorkspaceContext.test.page.js +6 -1
- package/src/react-extension/contexts/WorkflowContext.js +89 -0
- package/src/react-extension/contexts/WorkflowContext.test.data.js +27 -0
- package/src/react-extension/lib/Error/GpgKeyError.js +22 -0
- package/src/react-extension/lib/Error/InvalidMasterPasswordError.js +23 -0
- package/src/react-extension/lib/Error/ServerKeyChangedError.js +22 -0
- package/src/react-extension/test/fixture/Settings/siteSettings.js +4 -0
- package/src/react-extension/test/fixture/Settings/userSettings.js +1 -1
- package/src/react-extension/test/mock/MockPort.js +2 -2
- package/src/react-extension/test/mock/MockStorage.js +0 -2
- package/src/react-extension/test/mock/components/Internationalisation/MockTranslationProvider.js +2 -1
- package/src/react-extension/test/mock/components/React/mockSetState.js +22 -0
- package/src/react-quickaccess/ExtQuickAccess.js +10 -1
- package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.js +1 -1
- package/src/react-quickaccess/components/FilterResourcesByGroupPage/FilterResourcesByGroupPage.test.stories.js +6 -10
- package/src/react-quickaccess/components/FilterResourcesByTagPage/FilterResourcesByTagPage.test.stories.js +6 -10
- package/src/react-quickaccess/components/LoginPage/LoginPage.js +2 -6
- package/src/react-quickaccess/components/LoginPage/LoginPage.test.stories.js +1 -0
- package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.js +17 -3
- package/src/react-quickaccess/components/PassphraseDialog/PassphraseDialog.test.stories.js +5 -3
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.js +31 -2
- package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.data.js +1 -1
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.js +32 -3
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.data.js +6 -3
- package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.js +29 -19
- package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.test.data.js +2 -0
- package/src/react-web-integration/components/AskInFormMenuDisplay/AskInFormMenuDisplay.test.stories.js +12 -9
- package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.js +1 -1
- package/src/react-web-integration/components/DisplayInFormMenu/DisplayInFormMenu.test.stories.js +127 -164
- package/src/react-web-integration/lib/Dom/DomUtils.js +23 -1
- package/src/react-web-integration/lib/InForm/InFormFieldSelector.js +7 -1
- package/src/react-web-integration/lib/InForm/InFormManager.js +24 -14
- package/src/react-web-integration/lib/InForm/InformManager.test.data.js +80 -2
- package/src/react-web-integration/lib/InForm/InformManager.test.js +147 -7
- package/src/react-web-integration/lib/InForm/InformManager.test.page.js +16 -2
- package/src/shared/lib/Error/EntityValidationError.js +81 -0
- package/src/shared/lib/apiClient/apiClient.test.js +1 -1
- package/src/shared/services/accountRecovery/ApiAppAccountRecoveryUserService.js +78 -0
- package/src/shared/services/accountRecovery/ExtAppAccountRecoveryUserService.js +24 -0
- package/test/jest.setup.js +8 -0
- package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.js +0 -97
- package/src/react-extension/components/Authentication/AskForAuthenticationHelp/AskForAuthenticationHelp.test.stories.js +0 -33
- package/src/react-extension/components/Authentication/CheckPassphrase/GenerateKeyOnPassphraseLostSecondaryAction.js +0 -41
- package/src/react-extension/components/Authentication/CheckPassphrase/HelpOnPassphraseLostSecondaryAction.js +0 -41
- package/src/react-extension/components/Authentication/CheckPassphrase/HelpOnPrivateKeyLostSecondaryAction.js +0 -41
- package/src/react-extension/components/Authentication/ImportGpgKey/GenerateKeySecondaryAction.js +0 -40
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.data.js +0 -11
- package/src/react-extension/components/Authentication/IntroduceSetupExtension/IntroduceSetupExtension.test.stories.js +0 -34
- package/src/react-extension/components/AuthenticationLogin/DisplayLoginError/DisplayLoginError.js +0 -87
- package/src/react-extension/components/AuthenticationLogin/DisplayLoginError/DisplayLoginError.test.stories.js +0 -33
- package/src/react-extension/components/AuthenticationLogin/DisplayLoginInProgress/DisplayLoginInProgress.js +0 -49
- package/src/react-extension/components/AuthenticationLogin/DisplayLoginInProgress/DisplayLoginProgress.test.stories.js +0 -33
- package/src/react-extension/components/AuthenticationLogin/OrchestrateLogin/OrchestrateLogin.js +0 -102
- package/src/react-extension/components/Internationalisation/ChangeLocale/ChangeExtAuthenticationLocale.js +0 -63
- package/src/react-extension/contexts/AuthenticationContext.js +0 -467
- package/src/react-extension/contexts/AuthenticationContext.test.data.js +0 -15
- package/src/react-extension/contexts/AuthenticationContext.test.js +0 -252
|
@@ -1,123 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.0.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
1
15
|
/**
|
|
2
16
|
* Unit tests on CreateGpgKey in regard of specifications
|
|
3
17
|
*/
|
|
4
|
-
import {
|
|
18
|
+
import {defaultProps} from "./CreateGpgKey.test.data";
|
|
5
19
|
import CreateGpgKeyPage from "./CreateGpgKey.test.page";
|
|
20
|
+
import each from "jest-each";
|
|
21
|
+
import {CreateGpgKeyVariation} from "./CreateGpgKey";
|
|
6
22
|
import {waitFor} from "@testing-library/react";
|
|
7
23
|
|
|
8
24
|
beforeEach(() => {
|
|
9
25
|
jest.resetModules();
|
|
10
26
|
});
|
|
11
27
|
|
|
12
|
-
describe("
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
28
|
+
describe("CreateGpgKey", () => {
|
|
29
|
+
each([
|
|
30
|
+
{displayAs: CreateGpgKeyVariation.SETUP}, // Create a gpg key for the setup workflow
|
|
31
|
+
{displayAs: CreateGpgKeyVariation.GENERATE_ACCOUNT_RECOVERY_GPG_KEY}, // Create a gpg key for the account recovery workflow
|
|
32
|
+
]).describe("Common behavior to all context", _props => {
|
|
33
|
+
it(`As AN I should be able to enter a passphrase, scenario: ${JSON.stringify(_props)}`, async() => {
|
|
34
|
+
const props = defaultProps(_props);
|
|
35
|
+
const page = new CreateGpgKeyPage(props);
|
|
36
|
+
|
|
37
|
+
expect.assertions(1);
|
|
38
|
+
const expectedPassphrase = 'La belle vie';
|
|
39
|
+
await page.fill(expectedPassphrase);
|
|
40
|
+
expect(page.passphrase).toBe(expectedPassphrase);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it(`As AN I should initially see the passphrase I typed as obfuscated, scenario: ${JSON.stringify(_props)}`, async() => {
|
|
44
|
+
const props = defaultProps(_props);
|
|
45
|
+
const page = new CreateGpgKeyPage(props);
|
|
46
|
+
|
|
47
|
+
expect.assertions(1);
|
|
48
|
+
const passphrase = 'La belle vie';
|
|
49
|
+
await page.fill(passphrase);
|
|
50
|
+
expect(page.isObfuscated).toBeTruthy();
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it('As AN I should be able to see the non-obfuscate passphrase I typed, scenario: ${JSON.stringify(_props)}', async() => {
|
|
54
|
+
const props = defaultProps(_props);
|
|
55
|
+
const page = new CreateGpgKeyPage(props);
|
|
56
|
+
|
|
57
|
+
expect.assertions(1);
|
|
58
|
+
const passphrase = 'La belle vie';
|
|
59
|
+
await page.fill(passphrase);
|
|
60
|
+
await page.toggleObfuscate();
|
|
61
|
+
expect(page.isObfuscated).toBeFalsy();
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it('As AN I should see the passphrase very weak strength updated on change, scenario: ${JSON.stringify(_props)}', async() => {
|
|
65
|
+
const props = defaultProps(_props);
|
|
66
|
+
const page = new CreateGpgKeyPage(props);
|
|
67
|
+
|
|
68
|
+
expect.assertions(1);
|
|
69
|
+
const veryWeakPassphrase = 'blabla';
|
|
70
|
+
await page.fill(veryWeakPassphrase);
|
|
71
|
+
await waitFor(() => expect(page.isVeryWeakPassphrase).toBeTruthy());
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
it('As AN I should see the passphrase weak strength updated on change, scenario: ${JSON.stringify(_props)}', async() => {
|
|
75
|
+
const props = defaultProps(_props);
|
|
76
|
+
const page = new CreateGpgKeyPage(props);
|
|
77
|
+
|
|
78
|
+
expect.assertions(1);
|
|
79
|
+
const weakPassphrase = 'blablablablab';
|
|
80
|
+
await page.fill(weakPassphrase);
|
|
81
|
+
await waitFor(() => expect(page.isWeakPassphrase).toBeTruthy());
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
it('As AN I should see the passphrase fair strength updated on change, scenario: ${JSON.stringify(_props)}', async() => {
|
|
85
|
+
const props = defaultProps(_props);
|
|
86
|
+
const page = new CreateGpgKeyPage(props);
|
|
87
|
+
|
|
88
|
+
expect.assertions(1);
|
|
89
|
+
const fairPassphrase = 'abcdefgh1234=5';
|
|
90
|
+
await page.fill(fairPassphrase);
|
|
91
|
+
await waitFor(() => expect(page.isFairPassphrase).toBeTruthy());
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
it('As AN I should see the passphrase strong strength updated on change, scenario: ${JSON.stringify(_props)}', async() => {
|
|
95
|
+
const props = defaultProps(_props);
|
|
96
|
+
const page = new CreateGpgKeyPage(props);
|
|
97
|
+
|
|
98
|
+
expect.assertions(1);
|
|
99
|
+
const strongPassphrase = 'abcdefgh1234=5ABCD';
|
|
100
|
+
await page.fill(strongPassphrase);
|
|
101
|
+
await waitFor(() => expect(page.isStrongPassphrase).toBeTruthy());
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
it('As AN I should see the passphrase very strong strength updated on change, scenario: ${JSON.stringify(_props)}', async() => {
|
|
105
|
+
const props = defaultProps(_props);
|
|
106
|
+
const page = new CreateGpgKeyPage(props);
|
|
107
|
+
|
|
108
|
+
expect.assertions(1);
|
|
109
|
+
const veryStrongPassphrase = 'abcdefgh1234=5ABCD===';
|
|
110
|
+
await page.fill(veryStrongPassphrase);
|
|
111
|
+
await waitFor(() => expect(page.isVeryStrongPassphrase).toBeTruthy());
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
it('As AN I should not go to the next step if the passphrase is not strong enough, scenario: ${JSON.stringify(_props)}', async() => {
|
|
115
|
+
const props = defaultProps(_props);
|
|
116
|
+
const page = new CreateGpgKeyPage(props);
|
|
117
|
+
|
|
118
|
+
expect.assertions(1);
|
|
119
|
+
const veryWeakPassphrase = 'blabla';
|
|
120
|
+
await page.fill(veryWeakPassphrase);
|
|
121
|
+
expect(page.canGoToNextStep).toBeFalsy();
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
it('As AN I should not go to the next step if the passphrase is empty, scenario: ${JSON.stringify(_props)}', async() => {
|
|
125
|
+
const props = defaultProps(_props);
|
|
126
|
+
const page = new CreateGpgKeyPage(props);
|
|
127
|
+
|
|
128
|
+
expect.assertions(1);
|
|
129
|
+
const veryWeakPassphrase = '';
|
|
130
|
+
await page.fill(veryWeakPassphrase);
|
|
131
|
+
expect(page.canGoToNextStep).toBeFalsy();
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
it('As AN I should go to the next step if the passphrase is strong enough, scenario: ${JSON.stringify(_props)}', async() => {
|
|
135
|
+
const props = defaultProps(_props);
|
|
136
|
+
const page = new CreateGpgKeyPage(props);
|
|
137
|
+
|
|
138
|
+
expect.assertions(1);
|
|
139
|
+
const veryStrongPassphrase = 'abcdefgh1234=5ABCD===';
|
|
140
|
+
await page.fill(veryStrongPassphrase);
|
|
141
|
+
expect(page.canGoToNextStep).toBeTruthy();
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
it('As AN I cannot update the form fields while submitting the form, scenario: ${JSON.stringify(_props)}', async() => {
|
|
145
|
+
let generateResolve = null;
|
|
146
|
+
const onComplete = jest.fn(() => new Promise(resolve => generateResolve = resolve));
|
|
147
|
+
const props = defaultProps({..._props, onComplete});
|
|
148
|
+
const page = new CreateGpgKeyPage(props);
|
|
149
|
+
|
|
150
|
+
expect.hasAssertions();
|
|
151
|
+
const veryStrongPassphrase = 'abcdefgh1234=5ABCD===';
|
|
152
|
+
await page.fill(veryStrongPassphrase);
|
|
153
|
+
const inProgressFn = () => {
|
|
154
|
+
expect(page.canChange).toBeFalsy();
|
|
155
|
+
generateResolve();
|
|
156
|
+
};
|
|
157
|
+
await page.generateKey(inProgressFn);
|
|
158
|
+
expect(onComplete).toHaveBeenCalled();
|
|
159
|
+
expect(generateResolve).toBeDefined();
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
it('As AN I should see a processing feedback while submitting the form, scenario: ${JSON.stringify(_props)}', async() => {
|
|
163
|
+
let generateResolve = null;
|
|
164
|
+
const onComplete = jest.fn(() => new Promise(resolve => generateResolve = resolve));
|
|
165
|
+
const props = defaultProps({..._props, onComplete});
|
|
166
|
+
const page = new CreateGpgKeyPage(props);
|
|
167
|
+
|
|
168
|
+
expect.hasAssertions();
|
|
169
|
+
const inProgressFn = () => {
|
|
170
|
+
expect(page.isProcessing).toBeTruthy();
|
|
171
|
+
};
|
|
172
|
+
const veryStrongPassphrase = 'abcdefgh1234=5ABCD===';
|
|
173
|
+
await page.fill(veryStrongPassphrase);
|
|
174
|
+
await page.generateKey(inProgressFn);
|
|
175
|
+
expect(onComplete).toHaveBeenCalled();
|
|
176
|
+
expect(generateResolve).toBeDefined();
|
|
177
|
+
});
|
|
56
178
|
});
|
|
57
179
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
});
|
|
180
|
+
describe('As AN on the Setup workflow', () => {
|
|
181
|
+
it('As AN on the setup workflow I should be able to be prompted to enter a passphrase', async() => {
|
|
182
|
+
const props = defaultProps({displayAs: CreateGpgKeyVariation.SETUP});
|
|
183
|
+
const page = new CreateGpgKeyPage(props);
|
|
63
184
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
await waitFor(() => expect(page.isVeryStrongPassphrase).toBeTruthy());
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
it('As AN I should not go to the next step if the passphrase is not strong enough', async() => {
|
|
71
|
-
const veryWeakPassphrase = 'blabla';
|
|
72
|
-
await page.fill(veryWeakPassphrase);
|
|
73
|
-
expect(page.canGoToNextStep).toBeFalsy();
|
|
74
|
-
});
|
|
185
|
+
expect.assertions(1);
|
|
186
|
+
expect(page.title).toBe("Welcome to Passbolt, please select a passphrase!");
|
|
187
|
+
});
|
|
75
188
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
expect(page.canGoToNextStep).toBeFalsy();
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
it('As AN I should go to the next step if the passphrase is strong enough', async() => {
|
|
83
|
-
const veryStrongPassphrase = 'abcdefgh1234=5ABCD===';
|
|
84
|
-
await page.fill(veryStrongPassphrase);
|
|
85
|
-
expect(page.canGoToNextStep).toBeTruthy();
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
it('As AN I cannot update the form fields while submitting the form', async() => {
|
|
90
|
-
const veryStrongPassphrase = 'abcdefgh1234=5ABCD===';
|
|
91
|
-
await page.fill(veryStrongPassphrase);
|
|
92
|
-
|
|
93
|
-
let generateResolve = null;
|
|
94
|
-
const requestMockImpl = jest.fn(() => new Promise(resolve => generateResolve = resolve));
|
|
95
|
-
jest.spyOn(context, 'onGenerateGpgKeyRequested').mockImplementationOnce(requestMockImpl);
|
|
96
|
-
const inProgressFn = () => {
|
|
97
|
-
expect(page.canChange).toBeFalsy();
|
|
98
|
-
generateResolve();
|
|
99
|
-
};
|
|
100
|
-
await page.generateKey(inProgressFn);
|
|
101
|
-
expect(context.onGenerateGpgKeyRequested).toHaveBeenCalled();
|
|
102
|
-
expect(generateResolve).toBeDefined();
|
|
103
|
-
});
|
|
189
|
+
it(`As AN on the setup workflow I should be able to import an existing key instead`, async() => {
|
|
190
|
+
const props = defaultProps({displayAs: CreateGpgKeyVariation.SETUP});
|
|
191
|
+
const page = new CreateGpgKeyPage(props);
|
|
104
192
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const requestMockImpl = jest.fn(() => new Promise(resolve => generateResolve = resolve));
|
|
111
|
-
jest.spyOn(context, 'onGenerateGpgKeyRequested').mockImplementationOnce(requestMockImpl);
|
|
112
|
-
const inProgressFn = () => {
|
|
113
|
-
expect(page.isProcessing).toBeTruthy();
|
|
114
|
-
};
|
|
115
|
-
await page.generateKey(inProgressFn);
|
|
116
|
-
expect(generateResolve).toBeDefined();
|
|
193
|
+
expect.assertions(2);
|
|
194
|
+
expect(page.secondaryActionLink.textContent).toContain("Or use an existing private key.");
|
|
195
|
+
await page.clickSecondaryActionLink();
|
|
196
|
+
expect(props.onSecondaryActionClick).toHaveBeenCalled();
|
|
197
|
+
});
|
|
117
198
|
});
|
|
118
199
|
|
|
200
|
+
describe('As AN on the Recover workflow', () => {
|
|
201
|
+
it('As AN on the setup workflow I should be able to be prompted to enter a new passphrase', async() => {
|
|
202
|
+
const props = defaultProps({displayAs: CreateGpgKeyVariation.SETUP});
|
|
203
|
+
const page = new CreateGpgKeyPage(props);
|
|
119
204
|
|
|
120
|
-
|
|
121
|
-
|
|
205
|
+
expect.assertions(1);
|
|
206
|
+
expect(page.title).toBe("Welcome to Passbolt, please select a passphrase!");
|
|
207
|
+
});
|
|
122
208
|
});
|
|
123
209
|
});
|
package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.page.js
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.0.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
1
15
|
import {fireEvent, render, waitFor} from "@testing-library/react";
|
|
2
16
|
import React from "react";
|
|
3
17
|
import CreateGpgKey from "./CreateGpgKey";
|
|
4
|
-
import AuthenticationContextProvider from "../../../contexts/AuthenticationContext";
|
|
5
18
|
import MockTranslationProvider from "../../../test/mock/components/Internationalisation/MockTranslationProvider";
|
|
6
19
|
|
|
7
20
|
/**
|
|
@@ -10,17 +23,27 @@ import MockTranslationProvider from "../../../test/mock/components/International
|
|
|
10
23
|
export default class CreateGpgKeyPage {
|
|
11
24
|
/**
|
|
12
25
|
* Default constructor
|
|
13
|
-
* @param
|
|
14
|
-
|
|
26
|
+
* @param {object} props Props to attach
|
|
27
|
+
*/
|
|
28
|
+
constructor(props) {
|
|
29
|
+
this._page = render(this.jsx(props));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Get the component jsx
|
|
34
|
+
* @param {object} props Props to attach
|
|
35
|
+
*/
|
|
36
|
+
jsx(props) {
|
|
37
|
+
return <MockTranslationProvider>
|
|
38
|
+
<CreateGpgKey {...props}/>
|
|
39
|
+
</MockTranslationProvider>;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Returns the title
|
|
15
44
|
*/
|
|
16
|
-
|
|
17
|
-
this._page
|
|
18
|
-
<MockTranslationProvider>
|
|
19
|
-
<AuthenticationContextProvider value={context}>
|
|
20
|
-
<CreateGpgKey {...props}></CreateGpgKey>
|
|
21
|
-
</AuthenticationContextProvider>
|
|
22
|
-
</MockTranslationProvider>
|
|
23
|
-
);
|
|
45
|
+
get title() {
|
|
46
|
+
return this._page.container.querySelector('h1').textContent;
|
|
24
47
|
}
|
|
25
48
|
|
|
26
49
|
/**
|
|
@@ -58,6 +81,13 @@ export default class CreateGpgKeyPage {
|
|
|
58
81
|
return this._page.container.querySelector('.button.primary');
|
|
59
82
|
}
|
|
60
83
|
|
|
84
|
+
/**
|
|
85
|
+
* Returns the secondary action link element
|
|
86
|
+
*/
|
|
87
|
+
get secondaryActionLink() {
|
|
88
|
+
return this._page.container.querySelector('.form-actions a');
|
|
89
|
+
}
|
|
90
|
+
|
|
61
91
|
/**
|
|
62
92
|
* Returns true if the current passphrase is very weak
|
|
63
93
|
*/
|
|
@@ -148,4 +178,13 @@ export default class CreateGpgKeyPage {
|
|
|
148
178
|
fireEvent.click(this.obfuscateButton, leftClick);
|
|
149
179
|
await waitFor(() => {});
|
|
150
180
|
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Click on the secondary action link.
|
|
184
|
+
*/
|
|
185
|
+
async clickSecondaryActionLink(inProgressFn = () => {}) {
|
|
186
|
+
const leftClick = {button: 0};
|
|
187
|
+
fireEvent.click(this.secondaryActionLink, leftClick);
|
|
188
|
+
await waitFor(inProgressFn);
|
|
189
|
+
}
|
|
151
190
|
}
|
package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.stories.js
CHANGED
|
@@ -1,33 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.0.0
|
|
13
|
+
*/
|
|
1
14
|
import React from "react";
|
|
2
15
|
import {MemoryRouter, Route} from "react-router-dom";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
|
|
16
|
+
import CreateGpgKey, {CreateGpgKeyVariation} from "./CreateGpgKey";
|
|
17
|
+
import {defaultProps} from "./CreateGpgKey.test.data";
|
|
6
18
|
|
|
7
19
|
export default {
|
|
8
20
|
title: 'Passbolt/Authentication/CreateGpgKey',
|
|
9
21
|
component: CreateGpgKey
|
|
10
22
|
};
|
|
11
23
|
|
|
12
|
-
const context = {
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
|
|
16
24
|
const Template = args =>
|
|
17
|
-
<
|
|
18
|
-
<div
|
|
19
|
-
<div className="
|
|
20
|
-
<
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
</MemoryRouter>
|
|
24
|
-
</div>
|
|
25
|
+
<div id="container" className="container page login">
|
|
26
|
+
<div className="content">
|
|
27
|
+
<div className="login-form">
|
|
28
|
+
<MemoryRouter initialEntries={['/']}>
|
|
29
|
+
<Route component={routerProps => <CreateGpgKey {...args} {...routerProps}/>}/>
|
|
30
|
+
</MemoryRouter>
|
|
25
31
|
</div>
|
|
26
32
|
</div>
|
|
27
|
-
</
|
|
33
|
+
</div>;
|
|
28
34
|
|
|
29
|
-
|
|
30
|
-
export const Initial = Template.bind({});
|
|
31
|
-
Initial.parameters = {
|
|
35
|
+
const defaultParameters = {
|
|
32
36
|
css: "ext_authentication"
|
|
33
37
|
};
|
|
38
|
+
|
|
39
|
+
export const Setup = Template.bind({});
|
|
40
|
+
Setup.args = defaultProps({displayAs: CreateGpgKeyVariation.SETUP});
|
|
41
|
+
Setup.parameters = defaultParameters;
|
|
42
|
+
|
|
43
|
+
export const GenerateAccountRecoveryGpgKey = Template.bind({});
|
|
44
|
+
GenerateAccountRecoveryGpgKey.args = defaultProps({displayAs: CreateGpgKeyVariation.GENERATE_ACCOUNT_RECOVERY_GPG_KEY});
|
|
45
|
+
GenerateAccountRecoveryGpgKey.parameters = defaultParameters;
|
|
@@ -20,14 +20,6 @@ const DOWNLOAD_FIREFOX_URL = "https://www.mozilla.org/firefox/download/thanks/";
|
|
|
20
20
|
const DOWNLOAD_CHROME_URL = "https://www.google.com/chrome/";
|
|
21
21
|
|
|
22
22
|
class DisplayBrowserNotSupported extends Component {
|
|
23
|
-
/**
|
|
24
|
-
* Get the translate function
|
|
25
|
-
* @returns {function(...[*]=)}
|
|
26
|
-
*/
|
|
27
|
-
get translate() {
|
|
28
|
-
return this.props.t;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
23
|
/**
|
|
32
24
|
* Render the component
|
|
33
25
|
* @returns {JSX}
|
|
@@ -52,6 +44,5 @@ class DisplayBrowserNotSupported extends Component {
|
|
|
52
44
|
|
|
53
45
|
DisplayBrowserNotSupported.propTypes = {
|
|
54
46
|
context: PropTypes.any, // The application context
|
|
55
|
-
t: PropTypes.func, // The translation function
|
|
56
47
|
};
|
|
57
48
|
export default withAppContext(withTranslation('common')(DisplayBrowserNotSupported));
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* Unit tests on DisplayError in regard of specifications
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
import DisplayBrowserNotSupportedPage from "./
|
|
19
|
+
import DisplayBrowserNotSupportedPage from "./DisplayBrowserNotSupported.test.page";
|
|
20
20
|
|
|
21
21
|
beforeEach(() => {
|
|
22
22
|
jest.resetModules();
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
|
|
2
1
|
/**
|
|
3
2
|
* Passbolt ~ Open source password manager for teams
|
|
4
|
-
* Copyright (c)
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
5
4
|
*
|
|
6
5
|
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
7
6
|
* For full copyright and license information, please see the LICENSE.txt
|
|
8
7
|
* Redistributions of files must retain the above copyright notice.
|
|
9
8
|
*
|
|
10
|
-
* @copyright Copyright (c)
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
11
10
|
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
12
11
|
* @link https://www.passbolt.com Passbolt(tm)
|
|
13
12
|
* @since 2.11.0
|
|
@@ -24,8 +23,6 @@ import MockTranslationProvider from "../../../test/mock/components/International
|
|
|
24
23
|
export default class DisplayBrowserNotSupportedPage {
|
|
25
24
|
/**
|
|
26
25
|
* Default constructor
|
|
27
|
-
* @param appContext An app context
|
|
28
|
-
* @param props Props to attach
|
|
29
26
|
*/
|
|
30
27
|
constructor() {
|
|
31
28
|
this._page = render(
|
|
@@ -1,30 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 2.11.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
1
15
|
import React from "react";
|
|
2
16
|
import {MemoryRouter, Route} from "react-router-dom";
|
|
3
|
-
import {AuthenticationContext} from "../../../contexts/AuthenticationContext";
|
|
4
17
|
import DisplayBrowserNotSupported from "./DisplayBrowserNotSupported";
|
|
5
18
|
|
|
6
|
-
|
|
7
19
|
export default {
|
|
8
20
|
title: 'Passbolt/Authentication/DisplayBrowserNotSupported',
|
|
9
21
|
component: DisplayBrowserNotSupported
|
|
10
22
|
};
|
|
11
23
|
|
|
12
|
-
const context = {
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
|
|
16
24
|
const Template = args =>
|
|
17
|
-
<
|
|
18
|
-
<div
|
|
19
|
-
<div className="
|
|
20
|
-
<
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
</MemoryRouter>
|
|
24
|
-
</div>
|
|
25
|
+
<div id="container" className="container page login">
|
|
26
|
+
<div className="content">
|
|
27
|
+
<div className="login-form">
|
|
28
|
+
<MemoryRouter initialEntries={['/']}>
|
|
29
|
+
<Route component={routerProps => <DisplayBrowserNotSupported {...args} {...routerProps}/>}/>
|
|
30
|
+
</MemoryRouter>
|
|
25
31
|
</div>
|
|
26
32
|
</div>
|
|
27
|
-
</
|
|
33
|
+
</div>;
|
|
28
34
|
|
|
29
35
|
|
|
30
36
|
export const Initial = Template.bind({});
|
|
@@ -17,14 +17,6 @@ import PropTypes from "prop-types";
|
|
|
17
17
|
import {Trans, withTranslation} from "react-i18next";
|
|
18
18
|
|
|
19
19
|
class DisplayExpiredTokenError extends Component {
|
|
20
|
-
/**
|
|
21
|
-
* Get the translate function
|
|
22
|
-
* @returns {function(...[*]=)}
|
|
23
|
-
*/
|
|
24
|
-
get translate() {
|
|
25
|
-
return this.props.t;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
20
|
/**
|
|
29
21
|
* Render the component
|
|
30
22
|
* @returns {JSX}
|
|
@@ -44,6 +36,5 @@ class DisplayExpiredTokenError extends Component {
|
|
|
44
36
|
|
|
45
37
|
DisplayExpiredTokenError.propTypes = {
|
|
46
38
|
context: PropTypes.any, // The application context
|
|
47
|
-
t: PropTypes.func, // The translation function
|
|
48
39
|
};
|
|
49
40
|
export default withAppContext(withTranslation('common')(DisplayExpiredTokenError));
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Passbolt ~ Open source password manager for teams
|
|
3
|
+
* Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under GNU Affero General Public License version 3 of the or any later version.
|
|
6
|
+
* For full copyright and license information, please see the LICENSE.txt
|
|
7
|
+
* Redistributions of files must retain the above copyright notice.
|
|
8
|
+
*
|
|
9
|
+
* @copyright Copyright (c) 2022 Passbolt SA (https://www.passbolt.com)
|
|
10
|
+
* @license https://opensource.org/licenses/AGPL-3.0 AGPL License
|
|
11
|
+
* @link https://www.passbolt.com Passbolt(tm)
|
|
12
|
+
* @since 3.6.0
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Returns the default app context for the unit test
|
|
17
|
+
* @param appContext An existing app context
|
|
18
|
+
* @returns {any}
|
|
19
|
+
*/
|
|
20
|
+
export function defaultAppContext(appContext) {
|
|
21
|
+
const defaultAppContext = {
|
|
22
|
+
trustedDomain: "https://passbolt.local"
|
|
23
|
+
};
|
|
24
|
+
return Object.assign(defaultAppContext, appContext || {});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Default props
|
|
29
|
+
* @returns {{}}
|
|
30
|
+
*/
|
|
31
|
+
export function defaultProps(props) {
|
|
32
|
+
const defaultProps = {
|
|
33
|
+
context: defaultAppContext(),
|
|
34
|
+
};
|
|
35
|
+
return Object.assign(defaultProps, props || {});
|
|
36
|
+
}
|