consistent use of fakeTimers

This commit is contained in:
Min RK
2024-08-29 14:44:16 +02:00
parent 992bc98ff1
commit 6ccb809a2a
7 changed files with 19 additions and 15 deletions

View File

@@ -22,6 +22,9 @@
"plugins": []
},
"jest": {
"fakeTimers": {
"enableGlobally": true
},
"moduleNameMapper": {
"\\.(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"

View File

@@ -45,6 +45,7 @@ beforeEach(() => {
afterEach(() => {
useDispatch.mockClear();
jest.runAllTimers();
});
test("Renders", async () => {
@@ -78,15 +79,15 @@ test("Correctly submits admin", async () => {
await act(async () => {
render(addUserJsx(callbackSpy));
});
let textarea = screen.getByTestId("user-textarea");
let submit = screen.getByTestId("submit");
let check = screen.getByTestId("check");
await userEvent.click(check);
fireEvent.blur(textarea, { target: { value: "foo" } });
await fireEvent.blur(textarea, { target: { value: "foo" } });
await fireEvent.click(check);
await fireEvent.click(submit);
await act(async () => {
await fireEvent.click(submit);
await jest.runAllTimers();
});
expect(callbackSpy).toHaveBeenCalledWith(["foo"], true);

View File

@@ -44,6 +44,7 @@ beforeEach(() => {
afterEach(() => {
useDispatch.mockClear();
jest.runAllTimers();
});
test("Renders", async () => {

View File

@@ -57,6 +57,7 @@ beforeEach(() => {
afterEach(() => {
useDispatch.mockClear();
jest.runAllTimers();
});
test("Renders", async () => {

View File

@@ -57,6 +57,7 @@ beforeEach(() => {
afterEach(() => {
useSelector.mockClear();
jest.runAllTimers();
});
test("Renders", async () => {
@@ -81,8 +82,10 @@ test("Adds user from input to user selectables on button click", async () => {
let submit = screen.getByTestId("submit");
const user = userEvent.setup({ advanceTimers: jest.advanceTimersByTime });
await user.type(input, "bar");
await fireEvent.click(validateUser);
await act(async () => okPacket);
await user.click(validateUser);
await act(async () => {
await jest.runAllTimers();
});
await act(async () => {
await fireEvent.click(submit);

View File

@@ -70,6 +70,7 @@ afterEach(() => {
useSelector.mockClear();
mockReducers.mockClear();
useSearchParams.mockClear();
jest.runAllTimers();
});
test("Renders", async () => {

View File

@@ -206,7 +206,6 @@ let mockUpdateUsers = jest.fn(({ offset, limit, sort, name_filter, state }) => {
let searchParams = new URLSearchParams();
beforeEach(() => {
jest.useFakeTimers();
useSelector.mockImplementation((callback) => {
return callback(mockAppState());
});
@@ -391,8 +390,6 @@ test("Filter according to server status (running/not running)", async () => {
await act(async () => {
rerender = render(serverDashboardJsx()).rerender;
});
console.log(rerender);
console.log("begin test");
const label = "only active servers";
let handler = screen.getByLabelText(label);
expect(handler.checked).toEqual(false);
@@ -430,17 +427,14 @@ test("Shows server details with button click", async () => {
expect(collapse).toHaveClass("collapse");
expect(collapse).not.toHaveClass("show");
expect(collapseBar).not.toHaveClass("show");
await fireEvent.click(button);
await act(async () => {
await fireEvent.click(button);
jest.runAllTimers();
});
expect(collapse).toHaveClass("collapse show");
expect(collapseBar).not.toHaveClass("show");
await fireEvent.click(button);
await act(async () => {
await fireEvent.click(button);
jest.runAllTimers();
});
@@ -448,8 +442,8 @@ test("Shows server details with button click", async () => {
expect(collapse).not.toHaveClass("show");
expect(collapseBar).not.toHaveClass("show");
await fireEvent.click(button);
await act(async () => {
await fireEvent.click(button);
jest.runAllTimers();
});