Skip to content

Commit 7ee36e2

Browse files
committed
chore: test for entities
1 parent 7dc01f0 commit 7ee36e2

File tree

2 files changed

+61
-23
lines changed

2 files changed

+61
-23
lines changed

src/containers/Nodes/getNodes.ts

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// TEST FOR MANY ENTITIES
2+
13
import type {FetchData} from '../../components/PaginatedTable';
24
import type {NodesFilters, NodesPreparedEntity} from '../../store/reducers/nodes/types';
35
import {prepareNodesData} from '../../store/reducers/nodes/utils';
@@ -41,9 +43,9 @@ export const getNodes: FetchData<
4143
storage,
4244
tablets,
4345
limit,
44-
offset,
45-
sort,
46+
offset: 0,
4647
path,
48+
sort,
4749
database,
4850
filter: searchValue,
4951
problems_only: getProblemParamValue(problemFilter),
@@ -53,9 +55,22 @@ export const getNodes: FetchData<
5355
);
5456
const preparedResponse = prepareNodesData(response);
5557

58+
let mockedData = preparedResponse.Nodes?.slice();
59+
60+
for (let i = 0; i < 1000; i++) {
61+
mockedData = mockedData?.concat(
62+
preparedResponse.Nodes?.map((data, j) => ({
63+
...data,
64+
NodeId: data.NodeId + i + j,
65+
Host: data.Host || String(i) + j,
66+
})) || [],
67+
);
68+
}
69+
const paginatedData = mockedData?.slice(offset, offset + limit);
70+
5671
return {
57-
data: preparedResponse.Nodes || [],
58-
found: preparedResponse.FoundNodes || 0,
59-
total: preparedResponse.TotalNodes || 0,
72+
data: paginatedData || [],
73+
found: mockedData?.length || 0,
74+
total: mockedData?.length || 0,
6075
};
6176
};
Lines changed: 41 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// TEST FOR MANY ENTITIES
2+
13
import type {FetchData} from '../../../components/PaginatedTable';
24
import type {
35
PreparedStorageNode,
@@ -8,6 +10,10 @@ import type {NodesRequestParams} from '../../../types/api/nodes';
810
import {prepareSortValue} from '../../../utils/filters';
911
import {getUptimeParamValue, isSortableNodesProperty} from '../../../utils/nodes';
1012

13+
const getConcurrentId = (limit?: number, offset?: number) => {
14+
return `getStorageNodes|offset${offset}|limit${limit}`;
15+
};
16+
1117
export const getStorageNodes: FetchData<
1218
PreparedStorageNode,
1319
PreparedStorageNodeFilters,
@@ -30,25 +36,42 @@ export const getStorageNodes: FetchData<
3036
? prepareSortValue(columnId, sortOrder)
3137
: undefined;
3238

33-
const response = await window.api.getNodes({
34-
type,
35-
storage,
36-
limit,
37-
offset,
38-
sort,
39-
filter: searchValue,
40-
uptime: getUptimeParamValue(nodesUptimeFilter),
41-
with: visibleEntities,
42-
database,
43-
node_id: nodeId,
44-
group_id: groupId,
45-
filter_group: filterGroup,
46-
filter_group_by: filterGroupBy,
47-
});
39+
const response = await window.api.getNodes(
40+
{
41+
type,
42+
storage,
43+
limit,
44+
offset: 0,
45+
sort,
46+
filter: searchValue,
47+
uptime: getUptimeParamValue(nodesUptimeFilter),
48+
with: visibleEntities,
49+
database,
50+
node_id: nodeId,
51+
group_id: groupId,
52+
filter_group: filterGroup,
53+
filter_group_by: filterGroupBy,
54+
},
55+
{concurrentId: getConcurrentId(limit, offset), signal: params.signal},
56+
);
4857
const preparedResponse = prepareStorageNodesResponse(response);
58+
59+
let mockedData = preparedResponse.nodes?.slice();
60+
61+
for (let i = 0; i < 1000; i++) {
62+
mockedData = mockedData?.concat(
63+
preparedResponse.nodes?.map((data, j) => ({
64+
...data,
65+
NodeId: data.NodeId + i + j,
66+
Host: data.Host || String(i) + j,
67+
})) || [],
68+
);
69+
}
70+
const paginatedData = mockedData?.slice(offset, offset + limit);
71+
4972
return {
50-
data: preparedResponse.nodes || [],
51-
found: preparedResponse.found || 0,
52-
total: preparedResponse.total || 0,
73+
data: paginatedData || [],
74+
found: mockedData?.length || 0,
75+
total: mockedData?.length || 0,
5376
};
5477
};

0 commit comments

Comments
 (0)