Skip to content

Commit b4534aa

Browse files
committed
fix tests
1 parent efcad4b commit b4534aa

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

web/setup-tests.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ jest.mock('./src/api/routes', () => ({
106106
getPods: jest.fn(async () => ['ABCD']),
107107
getNamespaces: jest.fn(async () => ['EFGH']),
108108
getConfig: jest.fn(async () => ({ portNaming: { enable: true, portNames: new Map() } })),
109+
getRole: jest.fn(async () => ('admin')),
109110
getLokiReady: jest.fn(async () => 'ready'),
110111
}));
111112

web/src/components/__tests__/netflow-tab.spec.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const useResolvedExtensionsMock = useResolvedExtensions as jest.Mock;
1717

1818
jest.mock('../../api/routes', () => ({
1919
getConfig: jest.fn(() => Promise.resolve(FullConfigResultSample)),
20+
getRole: jest.fn(() => Promise.resolve('admin')),
2021
getFlowRecords: jest.fn(() => Promise.resolve([])),
2122
getFlowMetrics: jest.fn(() =>
2223
Promise.resolve({

web/src/components/__tests__/netflow-traffic.spec.tsx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import * as React from 'react';
55
import { act } from 'react-dom/test-utils';
66
import { AlertsResult, SilencedAlert } from '../../api/alert';
77
import { FlowMetricsResult, GenericMetricsResult } from '../../api/loki';
8-
import { getConfig, getFlowGenericMetrics, getFlowMetrics, getFlowRecords } from '../../api/routes';
8+
import { getConfig, getFlowGenericMetrics, getFlowMetrics, getFlowRecords, getRole } from '../../api/routes';
99
import { FlowQuery } from '../../model/flow-query';
1010
import NetflowTraffic from '../netflow-traffic';
1111
import NetflowTrafficParent from '../netflow-traffic-parent';
@@ -19,6 +19,7 @@ const useResolvedExtensionsMock = useResolvedExtensions as jest.Mock;
1919
jest.mock('../../api/routes', () => ({
2020
// mock the most complete configuration to test all queries
2121
getConfig: jest.fn(() => Promise.resolve(FullConfigResultSample)),
22+
getRole: jest.fn(() => Promise.resolve('admin')),
2223
getFlowRecords: jest.fn(() => Promise.resolve(FlowsResultSample)),
2324
getFlowMetrics: jest.fn(() =>
2425
Promise.resolve({
@@ -37,6 +38,7 @@ jest.mock('../../api/routes', () => ({
3738
}));
3839

3940
const getConfigMock = getConfig as jest.Mock;
41+
const getRoleMock = getRole as jest.Mock;
4042
const getFlowsMock = getFlowRecords as jest.Mock;
4143
const getMetricsMock = getFlowMetrics as jest.Mock;
4244
const getGenericMetricsMock = getFlowGenericMetrics as jest.Mock;
@@ -72,7 +74,7 @@ describe('<NetflowTraffic />', () => {
7274

7375
it('should render refresh components', async () => {
7476
act(() => {
75-
const cheerio = render(<NetflowTrafficParent />);
77+
const cheerio = render(<NetflowTraffic />);
7678
expect(cheerio.find('#refresh-dropdown-container').length).toEqual(1);
7779
expect(cheerio.find('#refresh-button').length).toEqual(1);
7880
});
@@ -115,6 +117,7 @@ describe('<NetflowTraffic />', () => {
115117
await waitFor(() => {
116118
//config is get only once
117119
expect(getConfigMock).toHaveBeenCalledTimes(1);
120+
expect(getRoleMock).toHaveBeenCalledTimes(1);
118121
expect(getFlowsMock).toHaveBeenCalledTimes(0);
119122
expect(getMetricsMock).toHaveBeenCalledTimes(expectedMetricsQueries.length);
120123
expectedMetricsQueries.forEach((q, i) =>
@@ -126,6 +129,7 @@ describe('<NetflowTraffic />', () => {
126129
await waitFor(() => {
127130
//config is get only once
128131
expect(getConfigMock).toHaveBeenCalledTimes(1);
132+
expect(getRoleMock).toHaveBeenCalledTimes(1);
129133
expect(getFlowsMock).toHaveBeenCalledTimes(0);
130134
//should have called getMetricsMock & getGenericMetricsMock original count twice
131135
expect(getMetricsMock).toHaveBeenCalledTimes(expectedMetricsQueries.length * 2);
@@ -137,6 +141,7 @@ describe('<NetflowTraffic />', () => {
137141
const wrapper = mount(<NetflowTrafficParent />);
138142
await waitFor(() => {
139143
expect(getConfigMock).toHaveBeenCalled();
144+
expect(getRoleMock).toHaveBeenCalled();
140145
});
141146
await act(async () => {
142147
expect(wrapper.find('#filter-toolbar').last()).toBeTruthy();
@@ -152,6 +157,7 @@ describe('<NetflowTraffic />', () => {
152157
await waitFor(() => {
153158
//config is get only once
154159
expect(getConfigMock).toHaveBeenCalledTimes(1);
160+
expect(getRoleMock).toHaveBeenCalledTimes(1);
155161
expect(getFlowsMock).toHaveBeenCalledTimes(0);
156162
/** should have called getMetricsMock 2 times on render:
157163
* 2 queries for metrics on current scope & app scope
@@ -161,11 +167,13 @@ describe('<NetflowTraffic />', () => {
161167
expect(getGenericMetricsMock).toHaveBeenCalledTimes(0);
162168
});
163169
await act(async () => {
164-
wrapper.find('#refresh-button').at(0).simulate('click');
170+
await wrapper.update(); // force component did mount to occurs
171+
wrapper.find('#refresh-button').last().simulate('click');
165172
});
166173
await waitFor(() => {
167174
//config is get only once
168175
expect(getConfigMock).toHaveBeenCalledTimes(1);
176+
expect(getRoleMock).toHaveBeenCalledTimes(1);
169177
expect(getFlowsMock).toHaveBeenCalledTimes(0);
170178
//should have called getMetricsMock 4 times after click (2 * 2)
171179
expect(getMetricsMock).toHaveBeenCalledTimes(4);

0 commit comments

Comments
 (0)