aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2019-05-04 20:56:59 +0300
committerGravatar Vitaly Takmazov2023-01-13 10:37:54 +0300
commit3d7d213e3ddc5bf4f71d536f31677b768aa3b7c0 (patch)
treeb88a1582b164571284cc0613e223f44b1202cd6f
parent82780d0de04a534dfbcebfdb0cfece022058a266 (diff)
MessageInput: clear body on submit correctly
react-use-form-state 0.10 feature
-rw-r--r--vnext/src/components/MessageInput.js3
-rw-r--r--vnext/src/components/__tests__/MessageInput-test.js34
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');
- */
});