diff --git a/jsx/src/components/AddUser/AddUser.jsx b/jsx/src/components/AddUser/AddUser.jsx index 894b59aa..3826ad2c 100644 --- a/jsx/src/components/AddUser/AddUser.jsx +++ b/jsx/src/components/AddUser/AddUser.jsx @@ -60,7 +60,10 @@ const AddUser = (props) => { placeholder="usernames separated by line" data-testid="user-textarea" onBlur={(e) => { - let split_users = e.target.value.split("\n"); + let split_users = e.target.value + .split("\n") + .map((u) => u.trim()) + .filter((u) => u.length > 0); setUsers(split_users); }} > diff --git a/jsx/src/components/AddUser/AddUser.test.js b/jsx/src/components/AddUser/AddUser.test.js index 0bc776f5..e3965f15 100644 --- a/jsx/src/components/AddUser/AddUser.test.js +++ b/jsx/src/components/AddUser/AddUser.test.js @@ -70,12 +70,12 @@ test("Removes users when they fail Regex", async () => { let textarea = screen.getByTestId("user-textarea"); let submit = screen.getByTestId("submit"); - fireEvent.blur(textarea, { target: { value: "foo\nbar\n!!*&*" } }); + fireEvent.blur(textarea, { target: { value: "foo \n bar\na@b.co\n \n\n" } }); await act(async () => { fireEvent.click(submit); }); - expect(callbackSpy).toHaveBeenCalledWith(["foo", "bar"], false); + expect(callbackSpy).toHaveBeenCalledWith(["foo", "bar", "a@b.co"], false); }); test("Correctly submits admin", async () => { diff --git a/jsx/src/components/CreateGroup/CreateGroup.jsx b/jsx/src/components/CreateGroup/CreateGroup.jsx index b3302f25..66b8b9d8 100644 --- a/jsx/src/components/CreateGroup/CreateGroup.jsx +++ b/jsx/src/components/CreateGroup/CreateGroup.jsx @@ -59,7 +59,7 @@ const CreateGroup = (props) => { value={groupName} placeholder="group name..." onChange={(e) => { - setGroupName(e.target.value); + setGroupName(e.target.value.trim()); }} >