diff --git a/packages/base/src/page/Account/components/UserEmail.tsx b/packages/base/src/page/Account/components/UserEmail.tsx index e219856e1..bca481de9 100644 --- a/packages/base/src/page/Account/components/UserEmail.tsx +++ b/packages/base/src/page/Account/components/UserEmail.tsx @@ -37,9 +37,7 @@ const UserEmail: React.FC = ({ }); }; const emailValidator = (value: string): boolean => { - if (!value) return false; - - if (!emailValidate(value)) { + if (value && !emailValidate(value)) { messageApi.error(t('dmsAccount.emailErrorMessage.type')); return false; } diff --git a/packages/base/src/page/Account/components/__tests__/UserEmail.test.tsx b/packages/base/src/page/Account/components/__tests__/UserEmail.test.tsx index c040780e6..c1a1e0696 100644 --- a/packages/base/src/page/Account/components/__tests__/UserEmail.test.tsx +++ b/packages/base/src/page/Account/components/__tests__/UserEmail.test.tsx @@ -7,11 +7,20 @@ import account from '../../../../testUtils/mockApi/account'; describe('test base/page/Account/UserEmail', () => { const updateUserInfoSpy = jest.fn(); const messageSuccessSpy = jest.fn(); + const messageErrorSpy = jest.fn(); const customRender = (email?: string) => { return renderWithTheme( @@ -34,7 +43,7 @@ describe('test base/page/Account/UserEmail', () => { }); it('execute the onSubmit after triggering the enter event', async () => { - const { container } = customRender(); + const { container } = customRender('test@gmail.com'); fireEvent.mouseEnter( getBySelector('.ant-row,.ant-row-space-between.ant-row-middle', container) @@ -46,10 +55,36 @@ describe('test base/page/Account/UserEmail', () => { fireEvent.change(inputEle, { target: { - value: 'submit@gmail.com' + value: 'submit.com' + } + }); + fireEvent.keyDown(inputEle, { + key: 'Enter', + code: 'Enter', + keyCode: 13 + }); + expect(messageErrorSpy).toBeCalledTimes(1); + expect(messageErrorSpy).toBeCalledWith('请输入正确格式的邮箱地址'); + + fireEvent.change(inputEle, { + target: { + value: 'test@gmail.com' } }); + fireEvent.keyDown(inputEle, { + key: 'Enter', + code: 'Enter', + keyCode: 13 + }); + expect(messageErrorSpy).toBeCalledTimes(2); + expect(messageErrorSpy).toBeCalledWith('新邮箱地址不能与旧地址一致'); + expect(updateCurrentUserSpy).toBeCalledTimes(0); + fireEvent.change(inputEle, { + target: { + value: 'submit@gmail.com' + } + }); fireEvent.keyDown(inputEle, { key: 'Enter', code: 'Enter', diff --git a/packages/base/src/page/Account/components/__tests__/UserPhone.test.tsx b/packages/base/src/page/Account/components/__tests__/UserPhone.test.tsx index 76fbd7106..0fdee4ef9 100644 --- a/packages/base/src/page/Account/components/__tests__/UserPhone.test.tsx +++ b/packages/base/src/page/Account/components/__tests__/UserPhone.test.tsx @@ -7,11 +7,20 @@ import account from '../../../../testUtils/mockApi/account'; describe('test base/page/Account/UserPhone', () => { const updateUserInfoSpy = jest.fn(); const messageSuccessSpy = jest.fn(); + const messageErrorSpy = jest.fn(); const customRender = (phone?: string) => { return renderWithTheme( @@ -34,7 +43,7 @@ describe('test base/page/Account/UserPhone', () => { }); it('execute the onSubmit after triggering the enter event', async () => { - const { container } = customRender(); + const { container } = customRender('13112134353'); fireEvent.mouseEnter( getBySelector('.ant-row,.ant-row-space-between.ant-row-middle', container) @@ -44,6 +53,33 @@ describe('test base/page/Account/UserPhone', () => { const inputEle = getBySelector('input.ant-input#editInput', container); + fireEvent.change(inputEle, { + target: { + value: 'submit.com' + } + }); + fireEvent.keyDown(inputEle, { + key: 'Enter', + code: 'Enter', + keyCode: 13 + }); + expect(messageErrorSpy).toBeCalledTimes(1); + expect(messageErrorSpy).toBeCalledWith('请输入正确格式的手机号码'); + + fireEvent.change(inputEle, { + target: { + value: '13112134353' + } + }); + fireEvent.keyDown(inputEle, { + key: 'Enter', + code: 'Enter', + keyCode: 13 + }); + expect(messageErrorSpy).toBeCalledTimes(2); + expect(messageErrorSpy).toBeCalledWith('新手机号码不能与旧号码一致'); + expect(updateCurrentUserSpy).toBeCalledTimes(0); + fireEvent.change(inputEle, { target: { value: '13214334343' diff --git a/packages/base/src/page/Account/components/__tests__/__snapshots__/UserEmail.test.tsx.snap b/packages/base/src/page/Account/components/__tests__/__snapshots__/UserEmail.test.tsx.snap index 31f15cf82..864e16c5b 100644 --- a/packages/base/src/page/Account/components/__tests__/__snapshots__/UserEmail.test.tsx.snap +++ b/packages/base/src/page/Account/components/__tests__/__snapshots__/UserEmail.test.tsx.snap @@ -25,7 +25,7 @@ exports[`test base/page/Account/UserEmail execute the onSubmit after triggering class="ant-space-item" style="margin-right: 8px;" > - - + test@gmail.com
- - + 13112134353