mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-17 06:52:59 +00:00
userEvent is async now
This commit is contained in:
@@ -67,7 +67,7 @@ test("Removes users when they fail Regex", async () => {
|
|||||||
|
|
||||||
fireEvent.blur(textarea, { target: { value: "foo \n bar\na@b.co\n \n\n" } });
|
fireEvent.blur(textarea, { target: { value: "foo \n bar\na@b.co\n \n\n" } });
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(callbackSpy).toHaveBeenCalledWith(["foo", "bar", "a@b.co"], false);
|
expect(callbackSpy).toHaveBeenCalledWith(["foo", "bar", "a@b.co"], false);
|
||||||
@@ -84,10 +84,10 @@ test("Correctly submits admin", async () => {
|
|||||||
let submit = screen.getByTestId("submit");
|
let submit = screen.getByTestId("submit");
|
||||||
let check = screen.getByTestId("check");
|
let check = screen.getByTestId("check");
|
||||||
|
|
||||||
userEvent.click(check);
|
await userEvent.click(check);
|
||||||
fireEvent.blur(textarea, { target: { value: "foo" } });
|
fireEvent.blur(textarea, { target: { value: "foo" } });
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(callbackSpy).toHaveBeenCalledWith(["foo"], true);
|
expect(callbackSpy).toHaveBeenCalledWith(["foo"], true);
|
||||||
@@ -103,7 +103,7 @@ test("Shows a UI error dialogue when user creation fails", async () => {
|
|||||||
let submit = screen.getByTestId("submit");
|
let submit = screen.getByTestId("submit");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to create user.");
|
let errorDialog = screen.getByText("Failed to create user.");
|
||||||
@@ -122,7 +122,7 @@ test("Shows a more specific UI error dialogue when user creation returns an impr
|
|||||||
let submit = screen.getByTestId("submit");
|
let submit = screen.getByTestId("submit");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText(
|
let errorDialog = screen.getByText(
|
||||||
|
@@ -63,9 +63,10 @@ test("Calls createGroup on submit", async () => {
|
|||||||
|
|
||||||
let input = screen.getByTestId("group-input");
|
let input = screen.getByTestId("group-input");
|
||||||
let submit = screen.getByTestId("submit");
|
let submit = screen.getByTestId("submit");
|
||||||
|
const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime });
|
||||||
|
|
||||||
userEvent.type(input, "groupname");
|
await user.type(input, "groupname");
|
||||||
await act(async () => fireEvent.click(submit));
|
await act(async () => await fireEvent.click(submit));
|
||||||
|
|
||||||
expect(callbackSpy).toHaveBeenNthCalledWith(1, "groupname");
|
expect(callbackSpy).toHaveBeenNthCalledWith(1, "groupname");
|
||||||
});
|
});
|
||||||
@@ -80,7 +81,7 @@ test("Shows a UI error dialogue when group creation fails", async () => {
|
|||||||
let submit = screen.getByTestId("submit");
|
let submit = screen.getByTestId("submit");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to create group.");
|
let errorDialog = screen.getByText("Failed to create group.");
|
||||||
@@ -99,7 +100,7 @@ test("Shows a more specific UI error dialogue when user creation returns an impr
|
|||||||
let submit = screen.getByTestId("submit");
|
let submit = screen.getByTestId("submit");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText(
|
let errorDialog = screen.getByText(
|
||||||
|
@@ -80,7 +80,7 @@ test("Calls the delete user function when the button is pressed", async () => {
|
|||||||
let deleteUser = screen.getByTestId("delete-user");
|
let deleteUser = screen.getByTestId("delete-user");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(deleteUser);
|
await fireEvent.click(deleteUser);
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(callbackSpy).toHaveBeenCalled();
|
expect(callbackSpy).toHaveBeenCalled();
|
||||||
@@ -95,7 +95,7 @@ test("Submits the edits when the button is pressed", async () => {
|
|||||||
|
|
||||||
let submit = screen.getByTestId("submit");
|
let submit = screen.getByTestId("submit");
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(callbackSpy).toHaveBeenCalled();
|
expect(callbackSpy).toHaveBeenCalled();
|
||||||
@@ -113,7 +113,7 @@ test("Shows a UI error dialogue when user edit fails", async () => {
|
|||||||
|
|
||||||
fireEvent.blur(usernameInput, { target: { value: "whatever" } });
|
fireEvent.blur(usernameInput, { target: { value: "whatever" } });
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to edit user.");
|
let errorDialog = screen.getByText("Failed to edit user.");
|
||||||
@@ -134,7 +134,7 @@ test("Shows a UI error dialogue when user edit returns an improper status code",
|
|||||||
|
|
||||||
fireEvent.blur(usernameInput, { target: { value: "whatever" } });
|
fireEvent.blur(usernameInput, { target: { value: "whatever" } });
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to edit user.");
|
let errorDialog = screen.getByText("Failed to edit user.");
|
||||||
|
@@ -80,13 +80,13 @@ test("Adds user from input to user selectables on button click", async () => {
|
|||||||
let input = screen.getByTestId("username-input");
|
let input = screen.getByTestId("username-input");
|
||||||
let validateUser = screen.getByTestId("validate-user");
|
let validateUser = screen.getByTestId("validate-user");
|
||||||
let submit = screen.getByTestId("submit");
|
let submit = screen.getByTestId("submit");
|
||||||
|
const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime });
|
||||||
userEvent.type(input, "bar");
|
await user.type(input, "bar");
|
||||||
fireEvent.click(validateUser);
|
await fireEvent.click(validateUser);
|
||||||
await act(async () => okPacket);
|
await act(async () => okPacket);
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(callbackSpy).toHaveBeenNthCalledWith(1, ["bar"], "group");
|
expect(callbackSpy).toHaveBeenNthCalledWith(1, ["bar"], "group");
|
||||||
@@ -100,7 +100,7 @@ test("Removes a user recently added from input from the selectables list", async
|
|||||||
});
|
});
|
||||||
|
|
||||||
let selectedUser = screen.getByText("foo");
|
let selectedUser = screen.getByText("foo");
|
||||||
fireEvent.click(selectedUser);
|
await await fireEvent.click(selectedUser);
|
||||||
|
|
||||||
let unselectedUser = screen.getByText("foo");
|
let unselectedUser = screen.getByText("foo");
|
||||||
|
|
||||||
@@ -117,14 +117,14 @@ test("Grays out a user, already in the group, when unselected and calls deleteUs
|
|||||||
let submit = screen.getByTestId("submit");
|
let submit = screen.getByTestId("submit");
|
||||||
|
|
||||||
let groupUser = screen.getByText("foo");
|
let groupUser = screen.getByText("foo");
|
||||||
fireEvent.click(groupUser);
|
await fireEvent.click(groupUser);
|
||||||
|
|
||||||
let unselectedUser = screen.getByText("foo");
|
let unselectedUser = screen.getByText("foo");
|
||||||
expect(unselectedUser.className).toBe("item unselected");
|
expect(unselectedUser.className).toBe("item unselected");
|
||||||
|
|
||||||
// test deleteUser call
|
// test deleteUser call
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(callbackSpy).toHaveBeenNthCalledWith(1, ["foo"], "group");
|
expect(callbackSpy).toHaveBeenNthCalledWith(1, ["foo"], "group");
|
||||||
@@ -140,7 +140,7 @@ test("Calls deleteGroup on button click", async () => {
|
|||||||
let deleteGroup = screen.getByTestId("delete-group");
|
let deleteGroup = screen.getByTestId("delete-group");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(deleteGroup);
|
await fireEvent.click(deleteGroup);
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(callbackSpy).toHaveBeenNthCalledWith(1, "group");
|
expect(callbackSpy).toHaveBeenNthCalledWith(1, "group");
|
||||||
@@ -154,12 +154,12 @@ test("Shows a UI error dialogue when group edit fails", async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
let groupUser = screen.getByText("foo");
|
let groupUser = screen.getByText("foo");
|
||||||
fireEvent.click(groupUser);
|
await fireEvent.click(groupUser);
|
||||||
|
|
||||||
let submit = screen.getByTestId("submit");
|
let submit = screen.getByTestId("submit");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to edit group.");
|
let errorDialog = screen.getByText("Failed to edit group.");
|
||||||
@@ -176,12 +176,12 @@ test("Shows a UI error dialogue when group edit returns an improper status code"
|
|||||||
});
|
});
|
||||||
|
|
||||||
let groupUser = screen.getByText("foo");
|
let groupUser = screen.getByText("foo");
|
||||||
fireEvent.click(groupUser);
|
await fireEvent.click(groupUser);
|
||||||
|
|
||||||
let submit = screen.getByTestId("submit");
|
let submit = screen.getByTestId("submit");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to edit group.");
|
let errorDialog = screen.getByText("Failed to edit group.");
|
||||||
@@ -200,7 +200,7 @@ test("Shows a UI error dialogue when group delete fails", async () => {
|
|||||||
let deleteGroup = screen.getByTestId("delete-group");
|
let deleteGroup = screen.getByTestId("delete-group");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(deleteGroup);
|
await fireEvent.click(deleteGroup);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to delete group.");
|
let errorDialog = screen.getByText("Failed to delete group.");
|
||||||
@@ -219,7 +219,7 @@ test("Shows a UI error dialogue when group delete returns an improper status cod
|
|||||||
let deleteGroup = screen.getByTestId("delete-group");
|
let deleteGroup = screen.getByTestId("delete-group");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(deleteGroup);
|
await fireEvent.click(deleteGroup);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to delete group.");
|
let errorDialog = screen.getByText("Failed to delete group.");
|
||||||
|
@@ -138,7 +138,7 @@ test("Interacting with PaginationFooter causes page refresh", async () => {
|
|||||||
|
|
||||||
let next = screen.getByTestId("paginate-next");
|
let next = screen.getByTestId("paginate-next");
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(next);
|
await fireEvent.click(next);
|
||||||
});
|
});
|
||||||
expect(updateGroupsSpy).toBeCalledWith(2, 2);
|
expect(updateGroupsSpy).toBeCalledWith(2, 2);
|
||||||
// mocked updateGroups means callback after load doesn't fire
|
// mocked updateGroups means callback after load doesn't fire
|
||||||
|
@@ -453,7 +453,7 @@ const ServerDashboard = (props) => {
|
|||||||
setStateFilter(event.target.checked ? "active" : null);
|
setStateFilter(event.target.checked ? "active" : null);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<Form.Check.Label for="active-servers-filter">
|
<Form.Check.Label htmlFor="active-servers-filter">
|
||||||
{"only active servers"}
|
{"only active servers"}
|
||||||
</Form.Check.Label>
|
</Form.Check.Label>
|
||||||
</Form.Check>
|
</Form.Check>
|
||||||
|
@@ -291,7 +291,7 @@ test("Invokes the startServer event on button click", async () => {
|
|||||||
expect(start_elems.length).toBe(Object.keys(bar_servers).length);
|
expect(start_elems.length).toBe(Object.keys(bar_servers).length);
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(start_elems[0]);
|
await fireEvent.click(start_elems[0]);
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(callbackSpy).toHaveBeenCalled();
|
expect(callbackSpy).toHaveBeenCalled();
|
||||||
@@ -307,7 +307,7 @@ test("Invokes the stopServer event on button click", async () => {
|
|||||||
let stop = screen.getByText("Stop Server");
|
let stop = screen.getByText("Stop Server");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(stop);
|
await fireEvent.click(stop);
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(callbackSpy).toHaveBeenCalled();
|
expect(callbackSpy).toHaveBeenCalled();
|
||||||
@@ -323,7 +323,7 @@ test("Invokes the shutdownHub event on button click", async () => {
|
|||||||
let shutdown = screen.getByText("Shutdown Hub");
|
let shutdown = screen.getByText("Shutdown Hub");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(shutdown);
|
await fireEvent.click(shutdown);
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(callbackSpy).toHaveBeenCalled();
|
expect(callbackSpy).toHaveBeenCalled();
|
||||||
@@ -338,7 +338,7 @@ test("Sorts according to username", async () => {
|
|||||||
|
|
||||||
expect(searchParams.get("sort")).toEqual(null);
|
expect(searchParams.get("sort")).toEqual(null);
|
||||||
let handler = screen.getByTestId(testId);
|
let handler = screen.getByTestId(testId);
|
||||||
fireEvent.click(handler);
|
await fireEvent.click(handler);
|
||||||
expect(searchParams.get("sort")).toEqual("name");
|
expect(searchParams.get("sort")).toEqual("name");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
@@ -346,7 +346,7 @@ test("Sorts according to username", async () => {
|
|||||||
handler = screen.getByTestId(testId);
|
handler = screen.getByTestId(testId);
|
||||||
});
|
});
|
||||||
|
|
||||||
fireEvent.click(handler);
|
await fireEvent.click(handler);
|
||||||
expect(searchParams.get("sort")).toEqual("-name");
|
expect(searchParams.get("sort")).toEqual("-name");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
@@ -354,7 +354,7 @@ test("Sorts according to username", async () => {
|
|||||||
handler = screen.getByTestId(testId);
|
handler = screen.getByTestId(testId);
|
||||||
});
|
});
|
||||||
|
|
||||||
fireEvent.click(handler);
|
await fireEvent.click(handler);
|
||||||
expect(searchParams.get("sort")).toEqual("name");
|
expect(searchParams.get("sort")).toEqual("name");
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -367,7 +367,7 @@ test("Sorts according to last activity", async () => {
|
|||||||
|
|
||||||
expect(searchParams.get("sort")).toEqual(null);
|
expect(searchParams.get("sort")).toEqual(null);
|
||||||
let handler = screen.getByTestId(testId);
|
let handler = screen.getByTestId(testId);
|
||||||
fireEvent.click(handler);
|
await fireEvent.click(handler);
|
||||||
expect(searchParams.get("sort")).toEqual("last_activity");
|
expect(searchParams.get("sort")).toEqual("last_activity");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
@@ -375,7 +375,7 @@ test("Sorts according to last activity", async () => {
|
|||||||
handler = screen.getByTestId(testId);
|
handler = screen.getByTestId(testId);
|
||||||
});
|
});
|
||||||
|
|
||||||
fireEvent.click(handler);
|
await fireEvent.click(handler);
|
||||||
expect(searchParams.get("sort")).toEqual("-last_activity");
|
expect(searchParams.get("sort")).toEqual("-last_activity");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
@@ -383,7 +383,7 @@ test("Sorts according to last activity", async () => {
|
|||||||
handler = screen.getByTestId(testId);
|
handler = screen.getByTestId(testId);
|
||||||
});
|
});
|
||||||
|
|
||||||
fireEvent.click(handler);
|
await fireEvent.click(handler);
|
||||||
expect(searchParams.get("sort")).toEqual("last_activity");
|
expect(searchParams.get("sort")).toEqual("last_activity");
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -397,7 +397,7 @@ test("Filter according to server status (running/not running)", async () => {
|
|||||||
const label = "only active servers";
|
const label = "only active servers";
|
||||||
let handler = screen.getByLabelText(label);
|
let handler = screen.getByLabelText(label);
|
||||||
expect(handler.checked).toEqual(false);
|
expect(handler.checked).toEqual(false);
|
||||||
fireEvent.click(handler);
|
await fireEvent.click(handler);
|
||||||
|
|
||||||
// FIXME: need to force a rerender to get updated checkbox
|
// FIXME: need to force a rerender to get updated checkbox
|
||||||
// I don't think this should be required
|
// I don't think this should be required
|
||||||
@@ -408,7 +408,7 @@ test("Filter according to server status (running/not running)", async () => {
|
|||||||
expect(searchParams.get("state")).toEqual("active");
|
expect(searchParams.get("state")).toEqual("active");
|
||||||
expect(handler.checked).toEqual(true);
|
expect(handler.checked).toEqual(true);
|
||||||
|
|
||||||
fireEvent.click(handler);
|
await fireEvent.click(handler);
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
rerender(serverDashboardJsx());
|
rerender(serverDashboardJsx());
|
||||||
@@ -433,7 +433,7 @@ test("Shows server details with button click", async () => {
|
|||||||
expect(collapseBar).not.toHaveClass("show");
|
expect(collapseBar).not.toHaveClass("show");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(button);
|
await fireEvent.click(button);
|
||||||
jest.runAllTimers();
|
jest.runAllTimers();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -441,7 +441,7 @@ test("Shows server details with button click", async () => {
|
|||||||
expect(collapseBar).not.toHaveClass("show");
|
expect(collapseBar).not.toHaveClass("show");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(button);
|
await fireEvent.click(button);
|
||||||
jest.runAllTimers();
|
jest.runAllTimers();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -450,7 +450,7 @@ test("Shows server details with button click", async () => {
|
|||||||
expect(collapseBar).not.toHaveClass("show");
|
expect(collapseBar).not.toHaveClass("show");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(button);
|
await fireEvent.click(button);
|
||||||
jest.runAllTimers();
|
jest.runAllTimers();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -480,7 +480,7 @@ test("Shows a UI error dialogue when start all servers fails", async () => {
|
|||||||
let startAll = screen.getByTestId("start-all");
|
let startAll = screen.getByTestId("start-all");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(startAll);
|
await fireEvent.click(startAll);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to start servers.");
|
let errorDialog = screen.getByText("Failed to start servers.");
|
||||||
@@ -496,7 +496,7 @@ test("Shows a UI error dialogue when stop all servers fails", async () => {
|
|||||||
let stopAll = screen.getByTestId("stop-all");
|
let stopAll = screen.getByTestId("stop-all");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(stopAll);
|
await fireEvent.click(stopAll);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to stop servers.");
|
let errorDialog = screen.getByText("Failed to stop servers.");
|
||||||
@@ -513,7 +513,7 @@ test("Shows a UI error dialogue when start user server fails", async () => {
|
|||||||
expect(start_elems.length).toBe(Object.keys(bar_servers).length);
|
expect(start_elems.length).toBe(Object.keys(bar_servers).length);
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(start_elems[0]);
|
await fireEvent.click(start_elems[0]);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to start server.");
|
let errorDialog = screen.getByText("Failed to start server.");
|
||||||
@@ -531,7 +531,7 @@ test("Shows a UI error dialogue when start user server returns an improper statu
|
|||||||
expect(start_elems.length).toBe(Object.keys(bar_servers).length);
|
expect(start_elems.length).toBe(Object.keys(bar_servers).length);
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(start_elems[0]);
|
await fireEvent.click(start_elems[0]);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to start server.");
|
let errorDialog = screen.getByText("Failed to start server.");
|
||||||
@@ -550,7 +550,7 @@ test("Shows a UI error dialogue when stop user servers fails", async () => {
|
|||||||
let stop = screen.getByText("Stop Server");
|
let stop = screen.getByText("Stop Server");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(stop);
|
await fireEvent.click(stop);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to stop server.");
|
let errorDialog = screen.getByText("Failed to stop server.");
|
||||||
@@ -569,7 +569,7 @@ test("Shows a UI error dialogue when stop user server returns an improper status
|
|||||||
let stop = screen.getByText("Stop Server");
|
let stop = screen.getByText("Stop Server");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(stop);
|
await fireEvent.click(stop);
|
||||||
});
|
});
|
||||||
|
|
||||||
let errorDialog = screen.getByText("Failed to stop server.");
|
let errorDialog = screen.getByText("Failed to stop server.");
|
||||||
@@ -584,12 +584,13 @@ test("Search for user calls updateUsers with name filter", async () => {
|
|||||||
render(serverDashboardJsx());
|
render(serverDashboardJsx());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime });
|
||||||
let search = screen.getByLabelText("user-search");
|
let search = screen.getByLabelText("user-search");
|
||||||
|
|
||||||
expect(mockUpdateUsers.mock.calls).toHaveLength(1);
|
expect(mockUpdateUsers.mock.calls).toHaveLength(1);
|
||||||
|
|
||||||
expect(searchParams.get("offset")).toEqual("2");
|
expect(searchParams.get("offset")).toEqual("2");
|
||||||
userEvent.type(search, "a");
|
await user.type(search, "a");
|
||||||
expect(search.value).toEqual("a");
|
expect(search.value).toEqual("a");
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
jest.runAllTimers();
|
jest.runAllTimers();
|
||||||
@@ -599,7 +600,7 @@ test("Search for user calls updateUsers with name filter", async () => {
|
|||||||
// FIXME: useSelector mocks prevent updateUsers from being called
|
// FIXME: useSelector mocks prevent updateUsers from being called
|
||||||
// expect(mockUpdateUsers.mock.calls).toHaveLength(2);
|
// expect(mockUpdateUsers.mock.calls).toHaveLength(2);
|
||||||
// expect(mockUpdateUsers).toBeCalledWith(0, 100, "a");
|
// expect(mockUpdateUsers).toBeCalledWith(0, 100, "a");
|
||||||
userEvent.type(search, "b");
|
await user.type(search, "b");
|
||||||
expect(search.value).toEqual("ab");
|
expect(search.value).toEqual("ab");
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
jest.runAllTimers();
|
jest.runAllTimers();
|
||||||
@@ -672,7 +673,7 @@ test("Start server and confirm pending state", async () => {
|
|||||||
expect(buttons[2].textContent).toBe("Edit User");
|
expect(buttons[2].textContent).toBe("Edit User");
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
fireEvent.click(buttons[0]);
|
await fireEvent.click(buttons[0]);
|
||||||
});
|
});
|
||||||
expect(mockUpdateUsers.mock.calls).toHaveLength(1);
|
expect(mockUpdateUsers.mock.calls).toHaveLength(1);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user