diff options
author | 2019-05-04 20:56:59 +0300 | |
---|---|---|
committer | 2023-01-13 10:37:54 +0300 | |
commit | 3d7d213e3ddc5bf4f71d536f31677b768aa3b7c0 (patch) | |
tree | b88a1582b164571284cc0613e223f44b1202cd6f /vnext | |
parent | 82780d0de04a534dfbcebfdb0cfece022058a266 (diff) |
MessageInput: clear body on submit correctly
react-use-form-state 0.10 feature
Diffstat (limited to 'vnext')
-rw-r--r-- | vnext/src/components/MessageInput.js | 3 | ||||
-rw-r--r-- | vnext/src/components/__tests__/MessageInput-test.js | 34 |
2 files changed, 19 insertions, 18 deletions
diff --git a/vnext/src/components/MessageInput.js b/vnext/src/components/MessageInput.js index ef96b3b5..e4988d59 100644 --- a/vnext/src/components/MessageInput.js +++ b/vnext/src/components/MessageInput.js @@ -54,8 +54,7 @@ export default function MessageInput({ text, data, rows, children, onSend }) { to: data.to || {} }); setAttach(''); - formState.values.body = ''; - textareaRef.current.value = ''; + formState.clearField('body'); textareaRef.current.style.height = ''; updateFocus(); }; diff --git a/vnext/src/components/__tests__/MessageInput-test.js b/vnext/src/components/__tests__/MessageInput-test.js index 77a71d77..7ac69ed0 100644 --- a/vnext/src/components/__tests__/MessageInput-test.js +++ b/vnext/src/components/__tests__/MessageInput-test.js @@ -12,11 +12,11 @@ const testMessage = { to: {} }; -window.matchMedia = window.matchMedia || function() { +window.matchMedia = window.matchMedia || function () { return { matches: true, - addListener: function() { }, - removeListener: function() { } + addListener: function () { }, + removeListener: function () { } }; }; @@ -59,18 +59,23 @@ it('Submits on ctrl-enter', () => { }); }); let textarea = messageInput.root.findByType('textarea'); - textarea.props.onKeyPress({ - charCode: 13, - which: 13, - keyCode: 13, - ctrlKey: false + act(() => { + + textarea.props.onKeyPress({ + charCode: 13, + which: 13, + keyCode: 13, + ctrlKey: false + }); }); expect(onSend).toHaveBeenCalledTimes(0); - textarea.props.onKeyPress({ - charCode: 13, - which: 13, - keyCode: 13, - ctrlKey: true + act(() => { + textarea.props.onKeyPress({ + charCode: 13, + which: 13, + keyCode: 13, + ctrlKey: true + }); }); expect(onSend).toHaveBeenCalledTimes(1); expect(textarea.props.value).toEqual(''); @@ -83,11 +88,8 @@ it('Submits on ctrl-enter', () => { }); }); expect(textarea.props.value).toEqual(' '); - /* - TODO: waiting for react-use-form-state reset act(() => { messageInput.root.findByType('form').props.onSubmit({ event: {} }); }); expect(textarea.props.value).toEqual('', 'Value should be cleared after submit'); - */ }); |