Ver Fonte

fix(frontend): Prevent from submitting empty characters (#5545)

sp.wack há 1 ano atrás
pai
commit
08b1031666

+ 16 - 0
frontend/__tests__/components/chat/chat-input.test.tsx

@@ -51,6 +51,22 @@ describe("ChatInput", () => {
     expect(onSubmitMock).not.toHaveBeenCalled();
   });
 
+  it("should not call onSubmit when the message is only whitespace", async () => {
+    const user = userEvent.setup();
+    render(<ChatInput onSubmit={onSubmitMock} />);
+    const textarea = screen.getByRole("textbox");
+
+    await user.type(textarea, "   ");
+    await user.keyboard("{Enter}");
+
+    expect(onSubmitMock).not.toHaveBeenCalled();
+
+    await user.type(textarea, " \t\n");
+    await user.keyboard("{Enter}");
+
+    expect(onSubmitMock).not.toHaveBeenCalled();
+  });
+
   it("should disable submit", async () => {
     const user = userEvent.setup();
     render(<ChatInput disabled onSubmit={onSubmitMock} />);

+ 1 - 1
frontend/src/components/features/chat/chat-input.tsx

@@ -84,7 +84,7 @@ export function ChatInput({
 
   const handleSubmitMessage = () => {
     const message = value || textareaRef.current?.value || "";
-    if (message) {
+    if (message.trim()) {
       onSubmit(message);
       onChange?.("");
       if (textareaRef.current) {