diff --git a/src/redesign/login/LoginFailure.jsx b/src/redesign/login/LoginFailure.jsx index 86e855f6..fa9e4d2e 100644 --- a/src/redesign/login/LoginFailure.jsx +++ b/src/redesign/login/LoginFailure.jsx @@ -24,31 +24,23 @@ const LoginFailureMessage = (props) => { let errorList; let link; let resetLink = ( - <> - - {intl.formatMessage(messages['login.incorrect.credentials.error.reset.link.text'])} - - + + {intl.formatMessage(messages['login.incorrect.credentials.error.reset.link.text'])} + ); switch (errorCode) { case NON_COMPLIANT_PASSWORD_EXCEPTION: { errorList = ( - {intl.formatMessage(messages['non.compliant.password.title'])}, - lineBreak:
, - }} - /> + <> + {intl.formatMessage(messages['non.compliant.password.title'])} +

{intl.formatMessage(messages['non.compliant.password.message'])}

+ ); break; } case FORBIDDEN_REQUEST: - errorList = intl.formatMessage(messages['login.rate.limit.reached.message']); + errorList =

{intl.formatMessage(messages['login.rate.limit.reached.message'])}

; break; case INACTIVE_USER: { const supportLink = ( @@ -57,25 +49,27 @@ const LoginFailureMessage = (props) => { ); errorList = ( - , - email: {props.loginError.email}, - supportLink, - }} - /> +

+ , + email: {props.loginError.email}, + supportLink, + }} + /> +

); break; } case INTERNAL_SERVER_ERROR: - errorList = intl.formatMessage(messages['internal.server.error.message']); + errorList =

{intl.formatMessage(messages['internal.server.error.message'])}

; break; case INVALID_FORM: - errorList = intl.formatMessage(messages['login.form.invalid.error.message']); + errorList =

{intl.formatMessage(messages['login.form.invalid.error.message'])}

; break; case FAILED_LOGIN_ATTEMPT: { resetLink = ( @@ -84,33 +78,41 @@ const LoginFailureMessage = (props) => { ); errorList = ( - , - remainingAttempts: context.remainingAttempts, - resetLink, - }} - /> + <> +

+ +

+

+ +

+ ); break; } case ACCOUNT_LOCKED_OUT: { errorList = ( - , - resetLink, - }} - /> + <> +

{intl.formatMessage(messages['account.locked.out.message.1'])}

+

+ +

+ ); break; } @@ -119,11 +121,13 @@ const LoginFailureMessage = (props) => { errorList = intl.formatMessage(messages['login.incorrect.credentials.error']); } else if (context.failureCount === 2) { errorList = ( - +

+ +

); } break; @@ -154,7 +158,7 @@ const LoginFailureMessage = (props) => { return ( {intl.formatMessage(messages['login.failure.header.title'])} -

{ errorList }

+ { errorList }
); }; diff --git a/src/redesign/login/messages.jsx b/src/redesign/login/messages.jsx index d82dfa51..0156c5d6 100644 --- a/src/redesign/login/messages.jsx +++ b/src/redesign/login/messages.jsx @@ -87,6 +87,18 @@ const messages = defineMessages({ defaultMessage: 'We recently changed our password requirements', description: 'A title that appears in bold before error message for non-compliant password', }, + 'non.compliant.password.message': { + id: 'non.compliant.password.message', + defaultMessage: 'Your current password does not meet the new security requirements. ' + + 'We just sent a password-reset message to the email address associated with this account. ' + + 'Thank you for helping us keep your data safe.', + description: 'Error message for non-compliant password', + }, + 'account.locked.out.message.1': { + id: 'account.locked.out.message.1', + defaultMessage: 'To protect your account, it\'s been temporarily locked. Try again in 30 minutes.', + description: 'Part of message for when user account has been locked out after multiple failed login attempts', + }, 'first.time.here': { id: 'first.time.here', defaultMessage: 'First time here?', @@ -180,14 +192,9 @@ const messages = defineMessages({ }, 'login.incorrect.credentials.error': { id: 'login.incorrect.credentials.error', - defaultMessage: 'The username, email or password you entered is incorrect. Please try again.', + defaultMessage: 'The username, email, or password you entered is incorrect. Please try again.', description: 'Error message for incorrect email or password', }, - 'login.incorrect.credentials.error.with.reset.link': { - id: 'login.incorrect.credentials.error.with.reset.link', - defaultMessage: 'The username, email or password you entered is incorrect. Please try again or {resetLink}.', - description: 'Error message for incorrect email or password with reset link', - }, 'login.failed.attempt.error': { id: 'login.failed.attempt.error', defaultMessage: 'You have {remainingAttempts} more sign in attempts before your account is temporarily locked.', diff --git a/src/redesign/login/tests/LoginFailure.test.jsx b/src/redesign/login/tests/LoginFailure.test.jsx index 6011b851..853f6127 100644 --- a/src/redesign/login/tests/LoginFailure.test.jsx +++ b/src/redesign/login/tests/LoginFailure.test.jsx @@ -32,7 +32,7 @@ describe('LoginFailureMessage', () => { , ); - const expectedMessage = 'We couldn\'t sign you in.We recently changed our password requirements ' + const expectedMessage = 'We couldn\'t sign you in.We recently changed our password requirements' + 'Your current password does not meet the new security requirements. We just sent a ' + 'password-reset message to the email address associated with this account. ' + 'Thank you for helping us keep your data safe.'; @@ -85,7 +85,7 @@ describe('LoginFailureMessage', () => { , ); const expectedMessage = 'We couldn\'t sign you in.The username, email or password you entered is incorrect. ' - + 'You have 3 more sign in attempts before your account is temporarily locked. If you\'ve forgotten your password, click here to reset it.'; + + 'You have 3 more sign in attempts before your account is temporarily locked.If you\'ve forgotten your password, click here to reset it.'; expect(loginFailureMessage.find('#login-failure-alert').first().text()).toEqual(expectedMessage); }); @@ -107,7 +107,7 @@ describe('LoginFailureMessage', () => { , ); - const expectedMessage = 'We couldn\'t sign you in.The username, email or password you entered is incorrect. Please try again.'; + const expectedMessage = 'We couldn\'t sign you in.The username, email, or password you entered is incorrect. Please try again.'; expect(loginFailureMessage.find('#login-failure-alert').first().text()).toEqual(expectedMessage); }); @@ -129,7 +129,7 @@ describe('LoginFailureMessage', () => { , ); - const expectedMessage = 'We couldn\'t sign you in.The username, email or password you entered is incorrect. Please try again or reset your password.'; + const expectedMessage = 'We couldn\'t sign you in.The username, email, or password you entered is incorrect. Please try again or reset your password.'; expect(loginFailureMessage.find('#login-failure-alert').first().text()).toEqual(expectedMessage); });