mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Chore: Remove our typeAsJestMock in favor of jest.mocked (#45114)
This commit is contained in:
parent
7abd372e68
commit
c7a5d2c5c7
@ -6,7 +6,6 @@ import { Router } from 'react-router-dom';
|
|||||||
import { fetchAlertGroups } from './api/alertmanager';
|
import { fetchAlertGroups } from './api/alertmanager';
|
||||||
import { byRole, byTestId, byText } from 'testing-library-selector';
|
import { byRole, byTestId, byText } from 'testing-library-selector';
|
||||||
import { configureStore } from 'app/store/configureStore';
|
import { configureStore } from 'app/store/configureStore';
|
||||||
import { typeAsJestMock } from 'test/helpers/typeAsJestMock';
|
|
||||||
import AlertGroups from './AlertGroups';
|
import AlertGroups from './AlertGroups';
|
||||||
import { mockAlertGroup, mockAlertmanagerAlert, mockDataSource, MockDataSourceSrv } from './mocks';
|
import { mockAlertGroup, mockAlertmanagerAlert, mockDataSource, MockDataSourceSrv } from './mocks';
|
||||||
import { DataSourceType } from './utils/datasource';
|
import { DataSourceType } from './utils/datasource';
|
||||||
@ -16,7 +15,7 @@ jest.mock('./api/alertmanager');
|
|||||||
|
|
||||||
const mocks = {
|
const mocks = {
|
||||||
api: {
|
api: {
|
||||||
fetchAlertGroups: typeAsJestMock(fetchAlertGroups),
|
fetchAlertGroups: jest.mocked(fetchAlertGroups),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -11,7 +11,6 @@ import {
|
|||||||
Route,
|
Route,
|
||||||
} from 'app/plugins/datasource/alertmanager/types';
|
} from 'app/plugins/datasource/alertmanager/types';
|
||||||
import { configureStore } from 'app/store/configureStore';
|
import { configureStore } from 'app/store/configureStore';
|
||||||
import { typeAsJestMock } from 'test/helpers/typeAsJestMock';
|
|
||||||
import { byLabelText, byRole, byTestId, byText } from 'testing-library-selector';
|
import { byLabelText, byRole, byTestId, byText } from 'testing-library-selector';
|
||||||
import AmRoutes from './AmRoutes';
|
import AmRoutes from './AmRoutes';
|
||||||
import { fetchAlertManagerConfig, fetchStatus, updateAlertManagerConfig } from './api/alertmanager';
|
import { fetchAlertManagerConfig, fetchStatus, updateAlertManagerConfig } from './api/alertmanager';
|
||||||
@ -26,12 +25,12 @@ jest.mock('./api/alertmanager');
|
|||||||
jest.mock('./utils/config');
|
jest.mock('./utils/config');
|
||||||
|
|
||||||
const mocks = {
|
const mocks = {
|
||||||
getAllDataSourcesMock: typeAsJestMock(getAllDataSources),
|
getAllDataSourcesMock: jest.mocked(getAllDataSources),
|
||||||
|
|
||||||
api: {
|
api: {
|
||||||
fetchAlertManagerConfig: typeAsJestMock(fetchAlertManagerConfig),
|
fetchAlertManagerConfig: jest.mocked(fetchAlertManagerConfig),
|
||||||
updateAlertManagerConfig: typeAsJestMock(updateAlertManagerConfig),
|
updateAlertManagerConfig: jest.mocked(updateAlertManagerConfig),
|
||||||
fetchStatus: typeAsJestMock(fetchStatus),
|
fetchStatus: jest.mocked(fetchStatus),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -5,7 +5,6 @@ import { locationService, setDataSourceSrv } from '@grafana/runtime';
|
|||||||
import { Provider } from 'react-redux';
|
import { Provider } from 'react-redux';
|
||||||
import { Router } from 'react-router-dom';
|
import { Router } from 'react-router-dom';
|
||||||
import { fetchAlertManagerConfig, updateAlertManagerConfig } from './api/alertmanager';
|
import { fetchAlertManagerConfig, updateAlertManagerConfig } from './api/alertmanager';
|
||||||
import { typeAsJestMock } from 'test/helpers/typeAsJestMock';
|
|
||||||
import { configureStore } from 'app/store/configureStore';
|
import { configureStore } from 'app/store/configureStore';
|
||||||
|
|
||||||
import { mockDataSource, MockDataSourceSrv } from './mocks';
|
import { mockDataSource, MockDataSourceSrv } from './mocks';
|
||||||
@ -19,8 +18,8 @@ jest.mock('./api/alertmanager');
|
|||||||
|
|
||||||
const mocks = {
|
const mocks = {
|
||||||
api: {
|
api: {
|
||||||
fetchAlertManagerConfig: typeAsJestMock(fetchAlertManagerConfig),
|
fetchAlertManagerConfig: jest.mocked(fetchAlertManagerConfig),
|
||||||
updateAlertManagerConfig: typeAsJestMock(updateAlertManagerConfig),
|
updateAlertManagerConfig: jest.mocked(updateAlertManagerConfig),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -15,7 +15,6 @@ import {
|
|||||||
mockRulerGrafanaRule,
|
mockRulerGrafanaRule,
|
||||||
} from './mocks';
|
} from './mocks';
|
||||||
import { DataSourceType, GRAFANA_RULES_SOURCE_NAME } from './utils/datasource';
|
import { DataSourceType, GRAFANA_RULES_SOURCE_NAME } from './utils/datasource';
|
||||||
import { typeAsJestMock } from 'test/helpers/typeAsJestMock';
|
|
||||||
import { getAllDataSources } from './utils/config';
|
import { getAllDataSources } from './utils/config';
|
||||||
import { fetchRules } from './api/prometheus';
|
import { fetchRules } from './api/prometheus';
|
||||||
import { fetchRulerRules } from './api/ruler';
|
import { fetchRulerRules } from './api/ruler';
|
||||||
@ -47,10 +46,10 @@ dataSources.prometheus.meta.alerting = true;
|
|||||||
dataSources.default.meta.alerting = true;
|
dataSources.default.meta.alerting = true;
|
||||||
|
|
||||||
const mocks = {
|
const mocks = {
|
||||||
getAllDataSources: typeAsJestMock(getAllDataSources),
|
getAllDataSources: jest.mocked(getAllDataSources),
|
||||||
api: {
|
api: {
|
||||||
fetchRules: typeAsJestMock(fetchRules),
|
fetchRules: jest.mocked(fetchRules),
|
||||||
fetchRulerRules: typeAsJestMock(fetchRulerRules),
|
fetchRulerRules: jest.mocked(fetchRulerRules),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -6,7 +6,6 @@ import React from 'react';
|
|||||||
import { locationService, setDataSourceSrv } from '@grafana/runtime';
|
import { locationService, setDataSourceSrv } from '@grafana/runtime';
|
||||||
import { act, render, waitFor } from '@testing-library/react';
|
import { act, render, waitFor } from '@testing-library/react';
|
||||||
import { getAllDataSources } from './utils/config';
|
import { getAllDataSources } from './utils/config';
|
||||||
import { typeAsJestMock } from 'test/helpers/typeAsJestMock';
|
|
||||||
import { updateAlertManagerConfig, fetchAlertManagerConfig, fetchStatus, testReceivers } from './api/alertmanager';
|
import { updateAlertManagerConfig, fetchAlertManagerConfig, fetchStatus, testReceivers } from './api/alertmanager';
|
||||||
import {
|
import {
|
||||||
mockDataSource,
|
mockDataSource,
|
||||||
@ -31,14 +30,14 @@ jest.mock('./api/grafana');
|
|||||||
jest.mock('./utils/config');
|
jest.mock('./utils/config');
|
||||||
|
|
||||||
const mocks = {
|
const mocks = {
|
||||||
getAllDataSources: typeAsJestMock(getAllDataSources),
|
getAllDataSources: jest.mocked(getAllDataSources),
|
||||||
|
|
||||||
api: {
|
api: {
|
||||||
fetchConfig: typeAsJestMock(fetchAlertManagerConfig),
|
fetchConfig: jest.mocked(fetchAlertManagerConfig),
|
||||||
fetchStatus: typeAsJestMock(fetchStatus),
|
fetchStatus: jest.mocked(fetchStatus),
|
||||||
updateConfig: typeAsJestMock(updateAlertManagerConfig),
|
updateConfig: jest.mocked(updateAlertManagerConfig),
|
||||||
fetchNotifiers: typeAsJestMock(fetchNotifiers),
|
fetchNotifiers: jest.mocked(fetchNotifiers),
|
||||||
testReceivers: typeAsJestMock(testReceivers),
|
testReceivers: jest.mocked(testReceivers),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -6,7 +6,6 @@ import { DataSourceJsonData, PluginMeta } from '@grafana/data';
|
|||||||
import { locationService } from '@grafana/runtime';
|
import { locationService } from '@grafana/runtime';
|
||||||
import { RedirectToRuleViewer } from './RedirectToRuleViewer';
|
import { RedirectToRuleViewer } from './RedirectToRuleViewer';
|
||||||
import { configureStore } from 'app/store/configureStore';
|
import { configureStore } from 'app/store/configureStore';
|
||||||
import { typeAsJestMock } from '../../../../test/helpers/typeAsJestMock';
|
|
||||||
import { useCombinedRulesMatching } from './hooks/useCombinedRule';
|
import { useCombinedRulesMatching } from './hooks/useCombinedRule';
|
||||||
import { CombinedRule, Rule } from '../../../types/unified-alerting';
|
import { CombinedRule, Rule } from '../../../types/unified-alerting';
|
||||||
import { PromRuleType } from '../../../types/unified-alerting-dto';
|
import { PromRuleType } from '../../../types/unified-alerting-dto';
|
||||||
@ -31,7 +30,7 @@ const renderRedirectToRuleViewer = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const mockRuleSourceByName = () => {
|
const mockRuleSourceByName = () => {
|
||||||
typeAsJestMock(getRulesSourceByName).mockReturnValue({
|
jest.mocked(getRulesSourceByName).mockReturnValue({
|
||||||
name: 'prom test',
|
name: 'prom test',
|
||||||
type: 'prometheus',
|
type: 'prometheus',
|
||||||
uid: 'asdf23',
|
uid: 'asdf23',
|
||||||
@ -44,7 +43,7 @@ const mockRuleSourceByName = () => {
|
|||||||
|
|
||||||
describe('Redirect to Rule viewer', () => {
|
describe('Redirect to Rule viewer', () => {
|
||||||
it('should list rules that match the same name', () => {
|
it('should list rules that match the same name', () => {
|
||||||
typeAsJestMock(useCombinedRulesMatching).mockReturnValue({
|
jest.mocked(useCombinedRulesMatching).mockReturnValue({
|
||||||
result: mockedRules,
|
result: mockedRules,
|
||||||
loading: false,
|
loading: false,
|
||||||
dispatched: true,
|
dispatched: true,
|
||||||
@ -57,7 +56,7 @@ describe('Redirect to Rule viewer', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should redirect to view rule page if only one match', () => {
|
it('should redirect to view rule page if only one match', () => {
|
||||||
typeAsJestMock(useCombinedRulesMatching).mockReturnValue({
|
jest.mocked(useCombinedRulesMatching).mockReturnValue({
|
||||||
result: [mockedRules[0]],
|
result: [mockedRules[0]],
|
||||||
loading: false,
|
loading: false,
|
||||||
dispatched: true,
|
dispatched: true,
|
||||||
|
@ -11,7 +11,6 @@ import { contextSrv } from 'app/core/services/context_srv';
|
|||||||
import { mockDataSource, MockDataSourceSrv } from './mocks';
|
import { mockDataSource, MockDataSourceSrv } from './mocks';
|
||||||
import userEvent from '@testing-library/user-event';
|
import userEvent from '@testing-library/user-event';
|
||||||
import { DataSourceInstanceSettings } from '@grafana/data';
|
import { DataSourceInstanceSettings } from '@grafana/data';
|
||||||
import { typeAsJestMock } from 'test/helpers/typeAsJestMock';
|
|
||||||
import { getAllDataSources } from './utils/config';
|
import { getAllDataSources } from './utils/config';
|
||||||
import { fetchRulerRules, fetchRulerRulesGroup, fetchRulerRulesNamespace, setRulerRuleGroup } from './api/ruler';
|
import { fetchRulerRules, fetchRulerRulesGroup, fetchRulerRulesNamespace, setRulerRuleGroup } from './api/ruler';
|
||||||
import { DataSourceType, GRAFANA_RULES_SOURCE_NAME } from './utils/datasource';
|
import { DataSourceType, GRAFANA_RULES_SOURCE_NAME } from './utils/datasource';
|
||||||
@ -39,13 +38,13 @@ jest.mock('app/features/query/components/QueryEditorRow', () => ({
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
const mocks = {
|
const mocks = {
|
||||||
getAllDataSources: typeAsJestMock(getAllDataSources),
|
getAllDataSources: jest.mocked(getAllDataSources),
|
||||||
|
|
||||||
api: {
|
api: {
|
||||||
fetchRulerRulesGroup: typeAsJestMock(fetchRulerRulesGroup),
|
fetchRulerRulesGroup: jest.mocked(fetchRulerRulesGroup),
|
||||||
setRulerRuleGroup: typeAsJestMock(setRulerRuleGroup),
|
setRulerRuleGroup: jest.mocked(setRulerRuleGroup),
|
||||||
fetchRulerRulesNamespace: typeAsJestMock(fetchRulerRulesNamespace),
|
fetchRulerRulesNamespace: jest.mocked(fetchRulerRulesNamespace),
|
||||||
fetchRulerRules: typeAsJestMock(fetchRulerRules),
|
fetchRulerRules: jest.mocked(fetchRulerRules),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@ import { configureStore } from 'app/store/configureStore';
|
|||||||
import { Provider } from 'react-redux';
|
import { Provider } from 'react-redux';
|
||||||
import RuleList from './RuleList';
|
import RuleList from './RuleList';
|
||||||
import { byLabelText, byRole, byTestId, byText } from 'testing-library-selector';
|
import { byLabelText, byRole, byTestId, byText } from 'testing-library-selector';
|
||||||
import { typeAsJestMock } from 'test/helpers/typeAsJestMock';
|
|
||||||
import { getAllDataSources } from './utils/config';
|
import { getAllDataSources } from './utils/config';
|
||||||
import { fetchRules } from './api/prometheus';
|
import { fetchRules } from './api/prometheus';
|
||||||
import { fetchRulerRules, deleteRulerRulesGroup, deleteNamespace, setRulerRuleGroup } from './api/ruler';
|
import { fetchRulerRules, deleteRulerRulesGroup, deleteNamespace, setRulerRuleGroup } from './api/ruler';
|
||||||
@ -39,14 +38,14 @@ jest.mock('app/core/core', () => ({
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
const mocks = {
|
const mocks = {
|
||||||
getAllDataSourcesMock: typeAsJestMock(getAllDataSources),
|
getAllDataSourcesMock: jest.mocked(getAllDataSources),
|
||||||
|
|
||||||
api: {
|
api: {
|
||||||
fetchRules: typeAsJestMock(fetchRules),
|
fetchRules: jest.mocked(fetchRules),
|
||||||
fetchRulerRules: typeAsJestMock(fetchRulerRules),
|
fetchRulerRules: jest.mocked(fetchRulerRules),
|
||||||
deleteGroup: typeAsJestMock(deleteRulerRulesGroup),
|
deleteGroup: jest.mocked(deleteRulerRulesGroup),
|
||||||
deleteNamespace: typeAsJestMock(deleteNamespace),
|
deleteNamespace: jest.mocked(deleteNamespace),
|
||||||
setRulerRuleGroup: typeAsJestMock(setRulerRuleGroup),
|
setRulerRuleGroup: jest.mocked(setRulerRuleGroup),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -6,7 +6,6 @@ import { DataSourceJsonData, PluginMeta } from '@grafana/data';
|
|||||||
import { locationService } from '@grafana/runtime';
|
import { locationService } from '@grafana/runtime';
|
||||||
import { RuleViewer } from './RuleViewer';
|
import { RuleViewer } from './RuleViewer';
|
||||||
import { configureStore } from 'app/store/configureStore';
|
import { configureStore } from 'app/store/configureStore';
|
||||||
import { typeAsJestMock } from '../../../../test/helpers/typeAsJestMock';
|
|
||||||
import { useCombinedRule } from './hooks/useCombinedRule';
|
import { useCombinedRule } from './hooks/useCombinedRule';
|
||||||
import { GrafanaRouteComponentProps } from 'app/core/navigation/types';
|
import { GrafanaRouteComponentProps } from 'app/core/navigation/types';
|
||||||
import { GRAFANA_RULES_SOURCE_NAME } from './utils/datasource';
|
import { GRAFANA_RULES_SOURCE_NAME } from './utils/datasource';
|
||||||
@ -45,7 +44,7 @@ describe('RuleViewer', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should render page with grafana alert', async () => {
|
it('should render page with grafana alert', async () => {
|
||||||
typeAsJestMock(useCombinedRule).mockReturnValue({
|
jest.mocked(useCombinedRule).mockReturnValue({
|
||||||
result: mockGrafanaRule as CombinedRule,
|
result: mockGrafanaRule as CombinedRule,
|
||||||
loading: false,
|
loading: false,
|
||||||
dispatched: true,
|
dispatched: true,
|
||||||
@ -59,7 +58,7 @@ describe('RuleViewer', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should render page with cloud alert', async () => {
|
it('should render page with cloud alert', async () => {
|
||||||
typeAsJestMock(useCombinedRule).mockReturnValue({
|
jest.mocked(useCombinedRule).mockReturnValue({
|
||||||
result: mockCloudRule as CombinedRule,
|
result: mockCloudRule as CombinedRule,
|
||||||
loading: false,
|
loading: false,
|
||||||
dispatched: true,
|
dispatched: true,
|
||||||
|
@ -5,7 +5,6 @@ import { dateTime } from '@grafana/data';
|
|||||||
import { Provider } from 'react-redux';
|
import { Provider } from 'react-redux';
|
||||||
import { Router } from 'react-router-dom';
|
import { Router } from 'react-router-dom';
|
||||||
import { fetchSilences, fetchAlerts, createOrUpdateSilence } from './api/alertmanager';
|
import { fetchSilences, fetchAlerts, createOrUpdateSilence } from './api/alertmanager';
|
||||||
import { typeAsJestMock } from 'test/helpers/typeAsJestMock';
|
|
||||||
import { configureStore } from 'app/store/configureStore';
|
import { configureStore } from 'app/store/configureStore';
|
||||||
import Silences from './Silences';
|
import Silences from './Silences';
|
||||||
import { mockAlertmanagerAlert, mockDataSource, MockDataSourceSrv, mockSilence } from './mocks';
|
import { mockAlertmanagerAlert, mockDataSource, MockDataSourceSrv, mockSilence } from './mocks';
|
||||||
@ -21,9 +20,9 @@ const TEST_TIMEOUT = 60000;
|
|||||||
|
|
||||||
const mocks = {
|
const mocks = {
|
||||||
api: {
|
api: {
|
||||||
fetchSilences: typeAsJestMock(fetchSilences),
|
fetchSilences: jest.mocked(fetchSilences),
|
||||||
fetchAlerts: typeAsJestMock(fetchAlerts),
|
fetchAlerts: jest.mocked(fetchAlerts),
|
||||||
createOrUpdateSilence: typeAsJestMock(createOrUpdateSilence),
|
createOrUpdateSilence: jest.mocked(createOrUpdateSilence),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { typeAsJestMock } from 'test/helpers/typeAsJestMock';
|
|
||||||
import { getAllDataSources } from '../../utils/config';
|
import { getAllDataSources } from '../../utils/config';
|
||||||
import {
|
import {
|
||||||
fetchAlertManagerConfig,
|
fetchAlertManagerConfig,
|
||||||
@ -36,13 +35,13 @@ jest.mock('../../api/grafana');
|
|||||||
jest.mock('../../utils/config');
|
jest.mock('../../utils/config');
|
||||||
|
|
||||||
const mocks = {
|
const mocks = {
|
||||||
getAllDataSources: typeAsJestMock(getAllDataSources),
|
getAllDataSources: jest.mocked(getAllDataSources),
|
||||||
|
|
||||||
api: {
|
api: {
|
||||||
fetchConfig: typeAsJestMock(fetchAlertManagerConfig),
|
fetchConfig: jest.mocked(fetchAlertManagerConfig),
|
||||||
deleteAlertManagerConfig: typeAsJestMock(deleteAlertManagerConfig),
|
deleteAlertManagerConfig: jest.mocked(deleteAlertManagerConfig),
|
||||||
updateAlertManagerConfig: typeAsJestMock(updateAlertManagerConfig),
|
updateAlertManagerConfig: jest.mocked(updateAlertManagerConfig),
|
||||||
fetchStatus: typeAsJestMock(fetchStatus),
|
fetchStatus: jest.mocked(fetchStatus),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -6,7 +6,6 @@ import { byTestId } from 'testing-library-selector';
|
|||||||
import { configureStore } from 'app/store/configureStore';
|
import { configureStore } from 'app/store/configureStore';
|
||||||
import { AlertGroupPanelOptions } from './types';
|
import { AlertGroupPanelOptions } from './types';
|
||||||
import { getDefaultTimeRange, LoadingState, PanelProps, FieldConfigSource } from '@grafana/data';
|
import { getDefaultTimeRange, LoadingState, PanelProps, FieldConfigSource } from '@grafana/data';
|
||||||
import { typeAsJestMock } from 'test/helpers/typeAsJestMock';
|
|
||||||
import { fetchAlertGroups } from 'app/features/alerting/unified/api/alertmanager';
|
import { fetchAlertGroups } from 'app/features/alerting/unified/api/alertmanager';
|
||||||
import {
|
import {
|
||||||
mockAlertGroup,
|
mockAlertGroup,
|
||||||
@ -32,7 +31,7 @@ jest.mock('@grafana/runtime', () => ({
|
|||||||
|
|
||||||
const mocks = {
|
const mocks = {
|
||||||
api: {
|
api: {
|
||||||
fetchAlertGroups: typeAsJestMock(fetchAlertGroups),
|
fetchAlertGroups: jest.mocked(fetchAlertGroups),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
/* type a mocked function as jest mock, example:
|
|
||||||
* import { doFoo } from 'foo';
|
|
||||||
*
|
|
||||||
* jest.mock('foo');
|
|
||||||
*
|
|
||||||
* const doFooMock = typeAsJestMock(doFoo); // doFooMock is of type jest.Mock with proper return type for doFoo
|
|
||||||
*/
|
|
||||||
|
|
||||||
export const typeAsJestMock = <T extends (...args: any) => any>(fn: T) => fn as unknown as jest.Mock<ReturnType<T>>;
|
|
Loading…
Reference in New Issue
Block a user