Removed js modules files from static

This commit is contained in:
Yuriy Kulakov
2021-05-21 20:52:22 +03:00
parent ee2959e16a
commit be6a8d1196
15 changed files with 27 additions and 27 deletions

View File

@@ -0,0 +1,98 @@
import React from "react";
import {render, unmountComponentAtNode} from "react-dom";
import {act} from "react-dom/test-utils";
import {Table} from "../src/control";
import * as test_data from "./test_users.json"
import axios from "axios";
import MockAdapter from "axios-mock-adapter";
let mock = null
let container = null
beforeEach(() => {
mock = new MockAdapter(axios);
mock.onGet('/api/users').reply(200, test_data)
container = document.createElement('div')
container.id = "table"
document.body.appendChild(container)
})
afterEach(() => {
unmountComponentAtNode(container);
mock.restore()
container.remove();
container = null;
});
it("has no rows without axios request", () => {
act(() => {
render(<Table/>, container);
});
let tbody = container.querySelector("#tbody")
expect(tbody.getElementsByTagName('tr').length).toBe(0);
});
it("shows valid number of free workplaces", async () => {
await act(async () => {
render(<Table/>, container)
})
let element = container.querySelector('#licences_remaining')
let licences = Number(element.innerHTML.replace(/Свободных мест: /, ''))
expect(licences).toEqual(1)
});
it("Pretext must be deleted on render", () => {
act(() => {
render(<Table/>, container)
})
expect(document.body).not.toContain(container.querySelector('#loading'))
});
it("has valid number of table rows with axios request", async () => {
await act(async () => {
render(<Table/>, container)
})
let tbody = container.querySelector("#tbody")
expect(tbody.getElementsByTagName('tr').length)
.toEqual(test_data.users.length + test_data.zendesk_users.length)
});
it("show valid number for engineers and light agents", async () => {
await act(async () => {
render(<Table/>, container)
})
let engineers = container.querySelector('#engineers')
let agents = container.querySelector('#agents')
expect(Number(engineers.textContent)).toEqual(test_data.engineers)
expect(Number(agents.textContent)).toEqual(test_data.light_agents)
});
it("called one request on mount", async () => {
let requests = jest.spyOn(Table.prototype, "getUsers")
await act(async () => {
render(<Table/>, container)
})
expect(requests).toHaveBeenCalledTimes(1)
requests.mockRestore()
})
it("checkbox count equals users from db count", async () => {
await act(async () => {
render(<Table/>, container)
})
let tbody = container.querySelector("#tbody")
let checkboxes = tbody.querySelectorAll("input[type='checkbox']")
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(<Table/>, container)
})
jest.advanceTimersByTime(60000)
expect(requests).toHaveBeenCalledTimes(2)
jest.useRealTimers()
requests.mockRestore()
})

View File

@@ -0,0 +1,32 @@
{
"users": [
{
"user": {
"email": "123@test.ru"
},
"id": 2,
"name": "UserForAccessTest",
"zendesk_role": "light_agent"
}
],
"engineers": 2,
"light_agents": 2,
"zendesk_users": [
{
"name": "Степаненко Ольга s101",
"zendesk_role": "engineer",
"email": "stepanenko_olga@mail.ru"
},
{
"name": "TEST",
"zendesk_role": "engineer",
"email": "akovalev1305@gmail.com"
},
{
"name": "Vasua",
"zendesk_role": "light_agent",
"email": "krav-88@mail.ru"
}
],
"max_agents": 3
}