Skip to content

Commit

Permalink
fix: adding value length check for full name field
Browse files Browse the repository at this point in the history
  • Loading branch information
Dima Alipov authored and DmytroAlipov committed Aug 27, 2024
1 parent 9688bd3 commit 076b078
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 0 deletions.
19 changes: 19 additions & 0 deletions src/register/RegistrationFields/NameField/NameField.test.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,25 @@ describe('NameField', () => {
);
});

it('should check for long full name error', () => {
const longName = `
5cnx16mn7qTSbtiha1W473ZtV5prGBCEtNrfLkqizJirf
v5kbzBpLRbdh7FY5qujb8viQ9zPziE1fWnbFu5tj4FXaY5GDESvVwjQkE
txUPE3r9mk4HYcSfXVJPWAWRuK2LJZycZWDm0BMFLZ63YdyQAZhjyvjn7
SCqKjSHDx7mgwFp35PF4CxwtwNLxY11eqf5F88wQ9k2JQ9U8uKSFyTKCM
A456CGA5KjUugYdT1qKdvvnXtaQr8WA87m9jpe16
`;
const { container } = render(routerWrapper(reduxWrapper(<IntlNameField {...props} />)));
const nameInput = container.querySelector('input#name');
fireEvent.blur(nameInput, { target: { value: longName, name: 'name' } });

expect(props.handleErrorChange).toHaveBeenCalledTimes(1);
expect(props.handleErrorChange).toHaveBeenCalledWith(
'name',
'Full name can not be longer than 255 symbols',
);
});

it('should clear error on focus', () => {
const { container } = render(routerWrapper(reduxWrapper(<IntlNameField {...props} />)));

Expand Down
2 changes: 2 additions & 0 deletions src/register/RegistrationFields/NameField/validator.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ const validateName = (value, formatMessage) => {
fieldError = formatMessage(messages['empty.name.field.error']);
} else if (URL_REGEX.test(value) || HTML_REGEX.test(value) || INVALID_NAME_REGEX.test(value)) {
fieldError = formatMessage(messages['name.validation.message']);
} else if (value && value.length > 255) {
fieldError = formatMessage(messages['name.validation.length.message']);
}
return fieldError;
};
Expand Down
5 changes: 5 additions & 0 deletions src/register/messages.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,11 @@ const messages = defineMessages({
defaultMessage: 'Enter a valid name',
description: 'Validation message that appears when fullname contain URL',
},
'name.validation.length.message': {
id: 'name.validation.message',
defaultMessage: 'Full name can not be longer than 255 symbols',
description: 'Validation message that appears when fullname contain URL',
},
'password.validation.message': {
id: 'password.validation.message',
defaultMessage: 'Password criteria has not been met',
Expand Down

0 comments on commit 076b078

Please sign in to comment.