mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-16 22:43:00 +00:00
consistent use of fakeTimers
This commit is contained in:
@@ -22,6 +22,9 @@
|
|||||||
"plugins": []
|
"plugins": []
|
||||||
},
|
},
|
||||||
"jest": {
|
"jest": {
|
||||||
|
"fakeTimers": {
|
||||||
|
"enableGlobally": true
|
||||||
|
},
|
||||||
"moduleNameMapper": {
|
"moduleNameMapper": {
|
||||||
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
|
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
|
||||||
"\\.(css|less)$": "identity-obj-proxy"
|
"\\.(css|less)$": "identity-obj-proxy"
|
||||||
|
@@ -45,6 +45,7 @@ beforeEach(() => {
|
|||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
useDispatch.mockClear();
|
useDispatch.mockClear();
|
||||||
|
jest.runAllTimers();
|
||||||
});
|
});
|
||||||
|
|
||||||
test("Renders", async () => {
|
test("Renders", async () => {
|
||||||
@@ -78,15 +79,15 @@ test("Correctly submits admin", async () => {
|
|||||||
await act(async () => {
|
await act(async () => {
|
||||||
render(addUserJsx(callbackSpy));
|
render(addUserJsx(callbackSpy));
|
||||||
});
|
});
|
||||||
|
|
||||||
let textarea = screen.getByTestId("user-textarea");
|
let textarea = screen.getByTestId("user-textarea");
|
||||||
let submit = screen.getByTestId("submit");
|
let submit = screen.getByTestId("submit");
|
||||||
let check = screen.getByTestId("check");
|
let check = screen.getByTestId("check");
|
||||||
|
|
||||||
await userEvent.click(check);
|
await fireEvent.blur(textarea, { target: { value: "foo" } });
|
||||||
fireEvent.blur(textarea, { target: { value: "foo" } });
|
await fireEvent.click(check);
|
||||||
|
await fireEvent.click(submit);
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
await fireEvent.click(submit);
|
await jest.runAllTimers();
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(callbackSpy).toHaveBeenCalledWith(["foo"], true);
|
expect(callbackSpy).toHaveBeenCalledWith(["foo"], true);
|
||||||
|
@@ -44,6 +44,7 @@ beforeEach(() => {
|
|||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
useDispatch.mockClear();
|
useDispatch.mockClear();
|
||||||
|
jest.runAllTimers();
|
||||||
});
|
});
|
||||||
|
|
||||||
test("Renders", async () => {
|
test("Renders", async () => {
|
||||||
|
@@ -57,6 +57,7 @@ beforeEach(() => {
|
|||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
useDispatch.mockClear();
|
useDispatch.mockClear();
|
||||||
|
jest.runAllTimers();
|
||||||
});
|
});
|
||||||
|
|
||||||
test("Renders", async () => {
|
test("Renders", async () => {
|
||||||
|
@@ -57,6 +57,7 @@ beforeEach(() => {
|
|||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
useSelector.mockClear();
|
useSelector.mockClear();
|
||||||
|
jest.runAllTimers();
|
||||||
});
|
});
|
||||||
|
|
||||||
test("Renders", async () => {
|
test("Renders", async () => {
|
||||||
@@ -81,8 +82,10 @@ test("Adds user from input to user selectables on button click", async () => {
|
|||||||
let submit = screen.getByTestId("submit");
|
let submit = screen.getByTestId("submit");
|
||||||
const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime });
|
const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime });
|
||||||
await user.type(input, "bar");
|
await user.type(input, "bar");
|
||||||
await fireEvent.click(validateUser);
|
await user.click(validateUser);
|
||||||
await act(async () => okPacket);
|
await act(async () => {
|
||||||
|
await jest.runAllTimers();
|
||||||
|
});
|
||||||
|
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
await fireEvent.click(submit);
|
await fireEvent.click(submit);
|
||||||
|
@@ -70,6 +70,7 @@ afterEach(() => {
|
|||||||
useSelector.mockClear();
|
useSelector.mockClear();
|
||||||
mockReducers.mockClear();
|
mockReducers.mockClear();
|
||||||
useSearchParams.mockClear();
|
useSearchParams.mockClear();
|
||||||
|
jest.runAllTimers();
|
||||||
});
|
});
|
||||||
|
|
||||||
test("Renders", async () => {
|
test("Renders", async () => {
|
||||||
|
@@ -206,7 +206,6 @@ let mockUpdateUsers = jest.fn(({ offset, limit, sort, name_filter, state }) => {
|
|||||||
let searchParams = new URLSearchParams();
|
let searchParams = new URLSearchParams();
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
jest.useFakeTimers();
|
|
||||||
useSelector.mockImplementation((callback) => {
|
useSelector.mockImplementation((callback) => {
|
||||||
return callback(mockAppState());
|
return callback(mockAppState());
|
||||||
});
|
});
|
||||||
@@ -391,8 +390,6 @@ test("Filter according to server status (running/not running)", async () => {
|
|||||||
await act(async () => {
|
await act(async () => {
|
||||||
rerender = render(serverDashboardJsx()).rerender;
|
rerender = render(serverDashboardJsx()).rerender;
|
||||||
});
|
});
|
||||||
console.log(rerender);
|
|
||||||
console.log("begin test");
|
|
||||||
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);
|
||||||
@@ -430,17 +427,14 @@ test("Shows server details with button click", async () => {
|
|||||||
expect(collapse).toHaveClass("collapse");
|
expect(collapse).toHaveClass("collapse");
|
||||||
expect(collapse).not.toHaveClass("show");
|
expect(collapse).not.toHaveClass("show");
|
||||||
expect(collapseBar).not.toHaveClass("show");
|
expect(collapseBar).not.toHaveClass("show");
|
||||||
|
await fireEvent.click(button);
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
await fireEvent.click(button);
|
|
||||||
jest.runAllTimers();
|
jest.runAllTimers();
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(collapse).toHaveClass("collapse show");
|
expect(collapse).toHaveClass("collapse show");
|
||||||
expect(collapseBar).not.toHaveClass("show");
|
expect(collapseBar).not.toHaveClass("show");
|
||||||
|
await fireEvent.click(button);
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
await fireEvent.click(button);
|
|
||||||
jest.runAllTimers();
|
jest.runAllTimers();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -448,8 +442,8 @@ test("Shows server details with button click", async () => {
|
|||||||
expect(collapse).not.toHaveClass("show");
|
expect(collapse).not.toHaveClass("show");
|
||||||
expect(collapseBar).not.toHaveClass("show");
|
expect(collapseBar).not.toHaveClass("show");
|
||||||
|
|
||||||
|
await fireEvent.click(button);
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
await fireEvent.click(button);
|
|
||||||
jest.runAllTimers();
|
jest.runAllTimers();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user