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.
Files changed (318) hide show
  1. package/build/css/help.min.css +3 -3
  2. package/build/css/public.min.css +3 -3
  3. package/build/css/themes/default/api_authentication.min.css +3 -3
  4. package/build/css/themes/default/api_cloud.min.css +3 -3
  5. package/build/css/themes/default/api_main.min.css +3 -3
  6. package/build/css/themes/default/api_reports.min.css +3 -3
  7. package/build/css/themes/default/api_webinstaller.min.css +3 -3
  8. package/build/css/themes/default/ext_app.min.css +3 -3
  9. package/build/css/themes/default/ext_authentication.min.css +3 -3
  10. package/build/css/themes/default/ext_external.min.css +2 -2
  11. package/build/css/themes/default/ext_in_form_cta.min.css +3 -3
  12. package/build/css/themes/default/ext_in_form_menu.min.css +3 -3
  13. package/build/css/themes/default/ext_quickaccess.min.css +3 -3
  14. package/build/css/themes/midgar/api_authentication.min.css +3 -3
  15. package/build/css/themes/midgar/api_main.min.css +3 -3
  16. package/build/css/themes/midgar/api_reports.min.css +3 -3
  17. package/build/css/themes/midgar/ext_app.min.css +3 -3
  18. package/build/css/themes/midgar/ext_authentication.min.css +3 -3
  19. package/build/css/themes/midgar/ext_in_form_cta.min.css +3 -3
  20. package/build/css/themes/midgar/ext_in_form_menu.min.css +3 -3
  21. package/build/css/themes/midgar/ext_quickaccess.min.css +3 -3
  22. package/build/css/themes/solarized_dark/api_authentication.min.css +1 -1
  23. package/build/css/themes/solarized_dark/api_main.min.css +1 -1
  24. package/build/css/themes/solarized_dark/api_reports.min.css +1 -1
  25. package/build/css/themes/solarized_dark/ext_app.min.css +1 -1
  26. package/build/css/themes/solarized_dark/ext_authentication.min.css +1 -1
  27. package/build/css/themes/solarized_dark/ext_in_form_cta.min.css +1 -1
  28. package/build/css/themes/solarized_dark/ext_in_form_menu.min.css +1 -1
  29. package/build/css/themes/solarized_dark/ext_quickaccess.min.css +1 -1
  30. package/build/css/themes/solarized_light/api_authentication.min.css +1 -1
  31. package/build/css/themes/solarized_light/api_main.min.css +1 -1
  32. package/build/css/themes/solarized_light/api_reports.min.css +1 -1
  33. package/build/css/themes/solarized_light/ext_app.min.css +1 -1
  34. package/build/css/themes/solarized_light/ext_authentication.min.css +1 -1
  35. package/build/css/themes/solarized_light/ext_in_form_cta.min.css +1 -1
  36. package/build/css/themes/solarized_light/ext_in_form_menu.min.css +1 -1
  37. package/build/css/themes/solarized_light/ext_quickaccess.min.css +1 -1
  38. package/build/js/dist/api-account-recovery.js +1 -1
  39. package/build/js/dist/api-app.js +1 -1
  40. package/build/js/dist/api-app.js.LICENSE.txt +75 -5
  41. package/build/js/dist/api-feedback.js +2 -0
  42. package/build/js/dist/api-feedback.js.LICENSE.txt +45 -0
  43. package/build/js/dist/api-recover.js +1 -1
  44. package/build/js/dist/api-setup.js +1 -1
  45. package/build/js/dist/api-triage.js +1 -1
  46. package/build/js/dist/api-vendors.js +1 -1
  47. package/build/js/dist/api-vendors.js.LICENSE.txt +19 -9
  48. package/build/js/dist/src/locales/de-DE/common.json +995 -0
  49. package/build/js/dist/src/locales/en-UK/common.json +1061 -0
  50. package/build/js/dist/src/locales/es-ES/common.json +995 -0
  51. package/build/js/dist/src/locales/fr-FR/common.json +995 -0
  52. package/build/js/dist/src/locales/ja-JP/common.json +980 -0
  53. package/build/js/dist/src/locales/lt-LT/common.json +1025 -0
  54. package/build/js/dist/src/locales/nl-NL/common.json +995 -0
  55. package/build/js/dist/src/locales/pl-PL/common.json +1025 -0
  56. package/build/js/dist/src/locales/sv-SE/common.json +995 -0
  57. package/package.json +18 -1
  58. package/src/img/controls/attention.svg +1 -0
  59. package/src/locales/en-UK/common.json +80 -16
  60. package/src/react-extension/ApiApp.js +17 -5
  61. package/src/react-extension/ApiFeedback.entry.js +24 -0
  62. package/src/react-extension/ExtApp.js +12 -5
  63. package/src/react-extension/ExtAuthenticationLogin.js +17 -15
  64. package/src/react-extension/ExtAuthenticationLogin.test.stories.js +59 -0
  65. package/src/react-extension/ExtBootstrapApp.js +1 -0
  66. package/src/react-extension/components/Administration/AdministrationWorkspace.js +24 -0
  67. package/src/react-extension/components/Administration/AdministrationWorkspace.test.data.js +3 -3
  68. package/src/react-extension/components/Administration/AdministrationWorkspace.test.js +13 -1
  69. package/src/react-extension/components/Administration/AdministrationWorkspace.test.page.js +7 -0
  70. package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.js +101 -0
  71. package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.test.data.js +23 -0
  72. package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.test.stories.js +27 -0
  73. package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.js +1 -1
  74. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.js +78 -2
  75. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.data.js +3 -1
  76. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.js +60 -0
  77. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.page.js +23 -4
  78. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationInternationalisationActions/DisplayAdministrationInternationalisationActions.js +125 -0
  79. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationMfaActions/DisplayAdministrationMfaActions.js +131 -0
  80. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSelfRegistrationActions/DisplayAdministrationSelfRegistrationActions.js +103 -0
  81. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSsoActions/DisplayAdministrationSsoActions.js +91 -0
  82. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSubscriptionActions/DisplayAdministrationSubscriptionActions.js +85 -0
  83. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationUserDirectoryActions/DisplayAdministrationUserDirectoryActions.js +228 -0
  84. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.js +4 -0
  85. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.test.js +9 -0
  86. package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.js +3 -3
  87. package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.data.js +14 -0
  88. package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.page.js +0 -17
  89. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.js +18 -115
  90. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.data.js +11 -13
  91. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.js +38 -43
  92. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.page.js +47 -10
  93. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.stories.js +10 -43
  94. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.js +82 -367
  95. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.data.js +128 -42
  96. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.js +75 -121
  97. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.page.js +46 -16
  98. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.stories.js +18 -14
  99. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.js +103 -0
  100. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.js +53 -0
  101. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.page.js +81 -0
  102. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.stories.js +34 -0
  103. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.js +125 -0
  104. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.data.js +63 -0
  105. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.js +54 -0
  106. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.page.js +88 -0
  107. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.stories.js +35 -0
  108. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.js +381 -0
  109. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.data.js +69 -0
  110. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.js +332 -0
  111. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.page.js +247 -0
  112. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.stories.js +72 -0
  113. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.js +19 -19
  114. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.data.js +1717 -1729
  115. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.js +11 -3
  116. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.page.js +4 -1
  117. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.stories.js +11 -1784
  118. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.js +41 -140
  119. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.data.js +15 -3
  120. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.js +22 -49
  121. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.page.js +19 -11
  122. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.stories.js +9 -3
  123. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.js +5 -6
  124. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.data.js +1717 -1728
  125. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.js +11 -3
  126. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.page.js +4 -1
  127. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.stories.js +11 -1784
  128. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.js +362 -835
  129. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.data.js +427 -418
  130. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.js +134 -175
  131. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.page.js +108 -11
  132. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.stories.js +17 -25
  133. package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.js +4 -2
  134. package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.js +3 -3
  135. package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.js +1 -1
  136. package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.js +32 -7
  137. package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.data.js +0 -3
  138. package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.js +145 -1
  139. package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.page.js +52 -1
  140. package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.stories.js +15 -0
  141. package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.js +340 -0
  142. package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.data.js +56 -0
  143. package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.js +223 -0
  144. package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.page.js +235 -0
  145. package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.stories.js +55 -0
  146. package/src/react-extension/components/Administration/ManageSsoSettings/SsoProviders.data.js +34 -0
  147. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.js +12 -3
  148. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.test.js +27 -0
  149. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.test.page.js +8 -0
  150. package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.js +197 -0
  151. package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.data.js +37 -0
  152. package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.js +187 -0
  153. package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.page.js +120 -0
  154. package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.stories.js +31 -0
  155. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.js +9 -5
  156. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.data.js +4 -0
  157. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.js +11 -42
  158. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.page.js +1 -0
  159. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.js +9 -5
  160. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.data.js +4 -0
  161. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.js +16 -2
  162. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.page.js +17 -1
  163. package/src/react-extension/components/AuthenticationLogin/Login/Login.js +159 -61
  164. package/src/react-extension/components/AuthenticationLogin/Login/Login.test.data.js +14 -11
  165. package/src/react-extension/components/AuthenticationLogin/Login/Login.test.js +79 -0
  166. package/src/react-extension/components/AuthenticationLogin/Login/Login.test.page.js +16 -0
  167. package/src/react-extension/components/AuthenticationLogin/OrchestrateLogin/OrchestrateLoginBoxMain.js +2 -0
  168. package/src/react-extension/components/AuthenticationSetup/SetupAuthentication/SetupAuthentication.js +4 -0
  169. package/src/react-extension/components/Common/Error/ApiError/ApiError.js +119 -0
  170. package/src/react-extension/components/Common/Error/ApiError/ApiError.test.js +43 -0
  171. package/src/react-extension/components/Common/Error/ApiError/ApiError.test.page.js +108 -0
  172. package/src/react-extension/components/Common/Error/ApiError/ApiError.test.stories.js +39 -0
  173. package/src/react-extension/components/Common/Inputs/Autocomplete/Autocomplete.test.js +12 -0
  174. package/src/react-extension/components/Common/Inputs/Autocomplete/AutocompleteItem.js +2 -2
  175. package/src/react-extension/components/Common/Legacy/HandleLegacyAppjs.js +1 -1
  176. package/src/react-extension/components/Common/Navigation/Header/Logo.js +13 -1
  177. package/src/react-extension/components/Resource/CreateResource/CreateResource.js +103 -30
  178. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.js +44 -10
  179. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.page.js +35 -7
  180. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js +3 -3
  181. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesListContextualMenu.js +6 -5
  182. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.js +5 -4
  183. package/src/react-extension/components/Resource/EditResource/EditResource.js +95 -23
  184. package/src/react-extension/components/Resource/EditResource/EditResource.test.js +45 -13
  185. package/src/react-extension/components/Resource/EditResource/EditResource.test.page.js +35 -2
  186. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetails.js +2 -1
  187. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsInformation.js +3 -2
  188. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js +23 -2
  189. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.js +8 -0
  190. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.page.js +26 -2
  191. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js +22 -1
  192. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.js +8 -0
  193. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.page.js +25 -2
  194. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetails.js +2 -1
  195. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.js +2 -1
  196. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js +14 -1
  197. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.js +8 -0
  198. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.page.js +12 -0
  199. package/src/react-extension/components/User/CreateUser/CreateUser.js +42 -3
  200. package/src/react-extension/components/User/CreateUser/CreateUser.test.js +16 -0
  201. package/src/react-extension/components/User/CreateUser/CreateUser.test.page.js +26 -0
  202. package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.js +2 -1
  203. package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.js +5 -5
  204. package/src/react-extension/components/User/EditUser/EditUser.js +29 -2
  205. package/src/react-extension/components/User/EditUser/EditUser.test.js +12 -0
  206. package/src/react-extension/components/User/EditUser/EditUser.test.page.js +26 -0
  207. package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.js +2 -1
  208. package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.test.data.js +1332 -1331
  209. package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.js +2 -1
  210. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.js +19 -1
  211. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.js +9 -0
  212. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.page.js +12 -0
  213. package/src/react-extension/components/UserGroup/DisplayUserGroupDetails/DisplayUserGroupDetails.js +2 -1
  214. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.js +16 -1
  215. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.js +8 -0
  216. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.page.js +26 -1
  217. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.js +1 -1
  218. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.js +6 -4
  219. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.data.js +4 -1
  220. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.js +21 -11
  221. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.page.js +10 -1
  222. package/src/react-extension/contexts/AdminSmtpSettingsContext.js +2 -0
  223. package/src/react-extension/contexts/AdminSmtpSettingsContext.test.data.js +13 -0
  224. package/src/react-extension/contexts/AdminSmtpSettingsContext.test.js +3 -1
  225. package/src/react-extension/contexts/AdminSsoContext.js +558 -0
  226. package/src/react-extension/contexts/AdminSsoContext.test.data.js +51 -0
  227. package/src/react-extension/contexts/Administration/AdministrationInternationalizationContext/AdministrationInternationalizationContext.js +194 -0
  228. package/src/react-extension/contexts/Administration/AdministrationInternationalizationContext/AdministrationInternationalizationContext.test.js +111 -0
  229. package/src/react-extension/contexts/Administration/AdministrationMfa/AdministrationMfaContext.js +265 -0
  230. package/src/react-extension/contexts/Administration/AdministrationMfa/AdministrationMfaContext.test.js +178 -0
  231. package/src/react-extension/contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext.js +453 -0
  232. package/src/react-extension/contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext.test.js +218 -0
  233. package/src/react-extension/contexts/Administration/AdministrationSubscription/AdministrationSubscription.js +168 -0
  234. package/src/react-extension/contexts/Administration/AdministrationSubscription/AdministrationSubscription.test.js +73 -0
  235. package/src/react-extension/contexts/Administration/AdministrationUserDirectory/AdministrationUserDirectoryContext.js +353 -0
  236. package/src/react-extension/contexts/Administration/AdministrationUserDirectory/AdministrationUserDirectoryContext.test.js +220 -0
  237. package/src/react-extension/contexts/AdministrationWorkspaceContext.js +17 -178
  238. package/src/react-extension/contexts/AdministrationWorkspaceContext.test.js +0 -26
  239. package/src/react-extension/contexts/ApiAppContext.test.data.js +4 -2
  240. package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.js +54 -4
  241. package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.data.js +10 -1
  242. package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.js +92 -14
  243. package/src/react-extension/contexts/Authentication/AuthenticationSetupContext.js +1 -0
  244. package/src/react-extension/contexts/NavigationContext.js +34 -0
  245. package/src/react-extension/contexts/SsoContext.js +151 -0
  246. package/src/react-extension/contexts/SsoContext.test.data.js +36 -0
  247. package/src/react-extension/contexts/SsoContext.test.js +104 -0
  248. package/src/react-extension/lib/Domain/DomainUtil.js +70 -0
  249. package/src/react-extension/lib/Domain/DomainUtil.test.js +129 -0
  250. package/src/react-extension/lib/Domain/Domains.js +6113 -0
  251. package/src/react-extension/lib/Error/InputValidator.js +24 -0
  252. package/src/react-extension/lib/Map/DynamicRef.js +49 -0
  253. package/src/react-extension/lib/Map/DynamicRef.test.js +56 -0
  254. package/src/react-extension/lib/Map/MapObject.js +48 -0
  255. package/src/react-extension/lib/Map/MapObject.test.js +43 -0
  256. package/src/react-quickaccess/ExtQuickAccess.js +7 -4
  257. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.js +3 -1
  258. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.data.js +4 -0
  259. package/src/react-quickaccess/components/LoginPage/LoginPage.js +115 -4
  260. package/src/react-quickaccess/components/LoginPage/LoginPage.test.data.js +10 -0
  261. package/src/react-quickaccess/components/LoginPage/LoginPage.test.stories.js +30 -3
  262. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.js +33 -1
  263. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.data.js +25 -0
  264. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.js +60 -0
  265. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.page.js +60 -0
  266. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.js +33 -1
  267. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.js +36 -7
  268. package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.js +3 -2
  269. package/src/react-quickaccess/contexts/SsoContext.js +150 -0
  270. package/src/react-web-integration/lib/InForm/InFormFieldSelector.js +5 -0
  271. package/src/shared/constants/inputs.const.js +30 -0
  272. package/src/shared/lib/Browser/clipBoard.js +45 -0
  273. package/src/shared/lib/Browser/clipBoard.test.js +59 -0
  274. package/src/shared/models/Mfa/Duo.js +36 -0
  275. package/src/shared/models/Mfa/Duo.test.js +59 -0
  276. package/src/shared/models/Mfa/MfaDTO.js +51 -0
  277. package/src/shared/models/Mfa/MfaDTO.test.js +48 -0
  278. package/src/shared/models/Mfa/MfaEnumeration.js +17 -0
  279. package/src/shared/models/Mfa/MfaModel.js +48 -0
  280. package/src/shared/models/Mfa/MfaModel.test.js +37 -0
  281. package/src/shared/models/Mfa/Yubikey.js +35 -0
  282. package/src/shared/models/Mfa/Yubikey.test.js +47 -0
  283. package/src/shared/models/selfRegistration/SelfRegistrationDomainsViewModel.js +55 -0
  284. package/src/shared/models/selfRegistration/SelfRegistrationDomainsViewModel.test.js +37 -0
  285. package/src/shared/models/selfRegistration/SelfRegistrationDto.js +42 -0
  286. package/src/shared/models/selfRegistration/SelfRegistrationDto.test.js +48 -0
  287. package/src/shared/models/selfRegistration/SelfRegistrationEnumeration.js +17 -0
  288. package/src/shared/models/subscription/SubscriptionDto.js +34 -0
  289. package/src/shared/models/subscription/SubscriptionDto.test.js +31 -0
  290. package/src/shared/models/subscription/SubscriptionModel.js +33 -0
  291. package/src/shared/models/subscription/SubscriptionModel.test.js +48 -0
  292. package/src/shared/models/user/UserModel.js +37 -0
  293. package/src/shared/models/userDirectory/UserDirectoryDTO.js +57 -0
  294. package/src/shared/models/userDirectory/UserDirectoryDTO.test.js +40 -0
  295. package/src/shared/models/userDirectory/UserDirectoryEnum.js +22 -0
  296. package/src/shared/models/userDirectory/UserDirectoryModel.js +64 -0
  297. package/src/shared/models/userDirectory/UserDirectoryModel.test.js +37 -0
  298. package/src/shared/services/actions/subscription/SubscriptionActionService.js +69 -0
  299. package/src/shared/services/actions/subscription/SubscriptionActionService.test.js +73 -0
  300. package/src/shared/services/api/Internationalisation/InternationalisationService.js +46 -0
  301. package/src/shared/services/api/Mfa/MfaService.js +54 -0
  302. package/src/shared/services/{accountRecovery → api/accountRecovery}/ApiAppAccountRecoveryUserService.js +2 -2
  303. package/src/shared/services/{accountRecovery → api/accountRecovery}/ExtAppAccountRecoveryUserService.js +0 -0
  304. package/src/shared/services/api/secrets/pownedService.js +64 -0
  305. package/src/shared/services/api/secrets/pownedService.test.js +63 -0
  306. package/src/shared/services/api/selfRegistration/selfRegistrationService.js +64 -0
  307. package/src/shared/services/api/user/UserService.js +45 -0
  308. package/src/shared/services/api/userDirectory/UserDirectoryService.js +108 -0
  309. package/src/shared/services/forms/Mfa/MfaFormService.js +195 -0
  310. package/src/shared/services/forms/Mfa/MfaFormService.test.js +341 -0
  311. package/src/shared/services/forms/selfRegistration/SelfRegistrationFormService.js +92 -0
  312. package/src/shared/services/forms/selfRegistration/SelfRegistrationFormService.test.js +101 -0
  313. package/src/shared/services/forms/userDirectory/UserDirectoryFormService.js +118 -0
  314. package/src/shared/services/forms/userDirectory/UserDirectoryFormService.test.js +128 -0
  315. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.js +0 -205
  316. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.data.js +0 -37
  317. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.js +0 -197
  318. 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 === "file" && smtpContext.isSettingsModified();
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="smtp-provider-list">
313
+ <div className="provider-list">
289
314
  {SmtpProviders.map(provider =>
290
- <div key={provider.id} className="smtp-provider button" id={provider.id} onClick={() => this.props.adminSmtpSettingsContext.changeProvider(provider)}>
291
- <div className="smtp-provider-logo">
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="smtp-provider-name">{provider.name}</p>
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 .smtp-provider-list .smtp-provider");
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
+ };