sinon clock doesn't seem to help

jest has what we need already
This commit is contained in:
Min RK
2024-03-06 02:02:15 +01:00
parent f13e69b172
commit f4f30db334
3 changed files with 9 additions and 92 deletions

79
jsx/package-lock.json generated
View File

@@ -45,7 +45,6 @@
"jest": "^29.5.0",
"jest-environment-jsdom": "^29.5.0",
"prettier": "^2.8.7",
"sinon": "^15.0.3",
"style-loader": "^3.3.2",
"webpack": "^5.79.0",
"webpack-cli": "^5.0.1",
@@ -2467,29 +2466,6 @@
"@sinonjs/commons": "^3.0.0"
}
},
"node_modules/@sinonjs/samsam": {
"version": "8.0.0",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"@sinonjs/commons": "^2.0.0",
"lodash.get": "^4.4.2",
"type-detect": "^4.0.8"
}
},
"node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": {
"version": "2.0.0",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"type-detect": "4.0.8"
}
},
"node_modules/@sinonjs/text-encoding": {
"version": "0.7.2",
"dev": true,
"license": "(Unlicense OR Apache-2.0)"
},
"node_modules/@swc/helpers": {
"version": "0.4.14",
"license": "MIT",
@@ -4385,14 +4361,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/diff": {
"version": "5.1.0",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.3.1"
}
},
"node_modules/diff-sequences": {
"version": "29.4.3",
"dev": true,
@@ -7211,11 +7179,6 @@
"node": ">=4.0"
}
},
"node_modules/just-extend": {
"version": "4.2.1",
"dev": true,
"license": "MIT"
},
"node_modules/kind-of": {
"version": "6.0.3",
"dev": true,
@@ -7310,11 +7273,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/lodash.get": {
"version": "4.4.2",
"dev": true,
"license": "MIT"
},
"node_modules/lodash.merge": {
"version": "4.6.2",
"dev": true,
@@ -7523,26 +7481,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/nise": {
"version": "5.1.4",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"@sinonjs/commons": "^2.0.0",
"@sinonjs/fake-timers": "^10.0.2",
"@sinonjs/text-encoding": "^0.7.1",
"just-extend": "^4.0.2",
"path-to-regexp": "^1.7.0"
}
},
"node_modules/nise/node_modules/@sinonjs/commons": {
"version": "2.0.0",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"type-detect": "4.0.8"
}
},
"node_modules/node-forge": {
"version": "1.3.1",
"dev": true,
@@ -9039,23 +8977,6 @@
"dev": true,
"license": "ISC"
},
"node_modules/sinon": {
"version": "15.1.2",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"@sinonjs/commons": "^3.0.0",
"@sinonjs/fake-timers": "^10.1.0",
"@sinonjs/samsam": "^8.0.0",
"diff": "^5.1.0",
"nise": "^5.1.4",
"supports-color": "^7.2.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/sinon"
}
},
"node_modules/sisteransi": {
"version": "1.0.5",
"dev": true,

View File

@@ -65,7 +65,6 @@
"jest": "^29.5.0",
"jest-environment-jsdom": "^29.5.0",
"prettier": "^2.8.7",
"sinon": "^15.0.3",
"style-loader": "^3.3.2",
"webpack": "^5.79.0",
"webpack-cli": "^5.0.1",

View File

@@ -18,9 +18,6 @@ import regeneratorRuntime from "regenerator-runtime";
import ServerDashboard from "./ServerDashboard";
import { initialState, reducers } from "../../Store";
import * as sinon from "sinon";
let clock;
jest.mock("react-redux", () => ({
...jest.requireActual("react-redux"),
@@ -147,7 +144,7 @@ var mockReducers = jest.fn((state, action) => {
let searchParams = new URLSearchParams();
beforeEach(() => {
clock = sinon.useFakeTimers();
jest.useFakeTimers();
useSelector.mockImplementation((callback) => {
return callback(mockAppState());
});
@@ -165,7 +162,7 @@ afterEach(() => {
useSearchParams.mockClear();
useSelector.mockClear();
mockReducers.mockClear();
clock.restore();
jest.runAllTimers();
});
test("Renders", async () => {
@@ -368,7 +365,7 @@ test("Shows server details with button click", async () => {
await act(async () => {
fireEvent.click(button);
await clock.tick(400);
jest.runAllTimers();
});
expect(collapse).toHaveClass("collapse show");
@@ -376,7 +373,7 @@ test("Shows server details with button click", async () => {
await act(async () => {
fireEvent.click(button);
await clock.tick(400);
jest.runAllTimers();
});
expect(collapse).toHaveClass("collapse");
@@ -385,7 +382,7 @@ test("Shows server details with button click", async () => {
await act(async () => {
fireEvent.click(button);
await clock.tick(400);
jest.runAllTimers();
});
expect(collapse).toHaveClass("collapse show");
@@ -670,7 +667,7 @@ test("Search for user calls updateUsers with name filter", async () => {
userEvent.type(search, "a");
expect(search.value).toEqual("a");
await act(async () => {
await clock.tick(400);
jest.runAllTimers();
});
expect(searchParams.get("name_filter")).toEqual("a");
// FIXME: useSelector mocks prevent updateUsers from being called
@@ -701,7 +698,7 @@ test("Interacting with PaginationFooter causes state update and refresh via useE
let next = screen.getByTestId("paginate-next");
await act(async () => {
fireEvent.click(next);
await clock.tick(400);
jest.runAllTimers();
});
expect(searchParams.get("offset")).toEqual("100");
@@ -736,7 +733,7 @@ test("Start server and confirm pending state", async () => {
let mockStartServer = jest.fn(() => {
return new Promise(async (resolve) =>
clock.setTimeout(() => {
setTimeout(() => {
resolve({ status: 200 });
}, 100),
);
@@ -784,7 +781,7 @@ test("Start server and confirm pending state", async () => {
expect(buttons[1]).toBeEnabled();
await act(async () => {
await clock.tick(100);
jest.runAllTimers();
});
expect(mockUpdateUsers.mock.calls).toHaveLength(2);
});