From 2f15d74a56c8f7e0851eae08d32b67cb2153cfdd Mon Sep 17 00:00:00 2001 From: Yuriy Kulakov Date: Sun, 16 May 2021 20:43:13 +0300 Subject: [PATCH] Added more tests --- static/main/js/control.js | 0 .../js/control_page/__tests__/control.test.js | 22 +++++++++++++++---- static/main/js/control_page/src/control.js | 6 ++--- 3 files changed, 21 insertions(+), 7 deletions(-) delete mode 100644 static/main/js/control.js diff --git a/static/main/js/control.js b/static/main/js/control.js deleted file mode 100644 index e69de29..0000000 diff --git a/static/main/js/control_page/__tests__/control.test.js b/static/main/js/control_page/__tests__/control.test.js index b782862..5ca3eda 100644 --- a/static/main/js/control_page/__tests__/control.test.js +++ b/static/main/js/control_page/__tests__/control.test.js @@ -6,7 +6,7 @@ import * as test_data from "./test_users.json" import axios from "axios"; import MockAdapter from "axios-mock-adapter"; -let mock; +let mock = null let container = null beforeEach(() => { mock = new MockAdapter(axios); @@ -23,7 +23,7 @@ afterEach(() => { container = null; }); -it("has only main table row without axios request", () => { +it("has no rows without axios request", () => { act(() => { render(, container); }); @@ -67,12 +67,14 @@ it("show valid number for engineers and light agents", async () => { }); it("called one request on mount", async () => { - let req = jest.spyOn(Table.prototype, "get_users") + let requests = jest.spyOn(Table.prototype, "getUsers") await act(async () => { render(
, container) }) - expect(req).toHaveBeenCalledTimes(1) + expect(requests).toHaveBeenCalledTimes(1) + requests.mockRestore() }) + it("checkbox count equals users from db count", async () => { await act(async () => { render(
, container) @@ -82,3 +84,15 @@ it("checkbox count equals users from db count", async () => { let users = test_data.users expect(checkboxes.length).toEqual(users.length) }) + +it("requests occur every one minute", async () => { + jest.useFakeTimers() + let requests = jest.spyOn(Table.prototype, "getUsers") + await act(async () => { + render(
, container) + }) + jest.advanceTimersByTime(60000) + expect(requests).toHaveBeenCalledTimes(2) + jest.useRealTimers() + requests.mockRestore() +}) diff --git a/static/main/js/control_page/src/control.js b/static/main/js/control_page/src/control.js index 3b491c4..b56df2e 100644 --- a/static/main/js/control_page/src/control.js +++ b/static/main/js/control_page/src/control.js @@ -120,7 +120,7 @@ export class Table extends React.Component { }; } - async get_users() { + async getUsers() { await axios.get("/api/users").then((response) => { this.setState({ users: response.data.users, @@ -137,12 +137,12 @@ export class Table extends React.Component { } componentDidMount() { - this.get_users().then(() => {}) + this.getUsers().then(() => {}) .catch(reason => { console.log(reason) }); this.interval = setInterval(() => { - this.get_users().catch(reason => { + this.getUsers().catch(reason => { console.log(reason) }) }, 60000);