mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
* Use our internal uiSettings mock in all context mocks We were previously only using our internal uiSettings mock (which returns real values) in our TestProviders component, as all tests either needed: * specific mocks, in which case we'd call jest.mock() ourselves * broad mocks, for which platform's kibana_react mocks were usually sufficient However, a recent addition in the Timeline component added a usage of uiSettings that could not use the default mock. With this change, one can either jest.mock('lib/kibana') or use the TestProviders wrapper to get real values for UI settings in test. * Remove production code guarding against tests This coalescence was due to the service not being properly mocked in test, which is now fixed.
This commit is contained in:
parent
0b2a9e7fc0
commit
f411d2f65e
2 changed files with 14 additions and 8 deletions
|
@ -81,8 +81,7 @@ class TimelineQueryComponent extends QueryTemplate<
|
|||
sourceId,
|
||||
sortField,
|
||||
} = this.props;
|
||||
// I needed to do that to avoid test to yell at me since there is no good way yet to mock withKibana
|
||||
const defaultKibanaIndex = kibana.services.uiSettings.get<string[]>(DEFAULT_INDEX_KEY) ?? [];
|
||||
const defaultKibanaIndex = kibana.services.uiSettings.get<string[]>(DEFAULT_INDEX_KEY);
|
||||
const defaultIndex = isEmpty(indexPattern)
|
||||
? [...defaultKibanaIndex, ...indexToAdd]
|
||||
: indexPattern?.title.split(',') ?? [];
|
||||
|
|
|
@ -71,7 +71,18 @@ export const createUseUiSetting$Mock = () => {
|
|||
};
|
||||
|
||||
export const createUseKibanaMock = () => {
|
||||
const services = { ...createKibanaCoreStartMock(), ...createKibanaPluginsStartMock() };
|
||||
const core = createKibanaCoreStartMock();
|
||||
const plugins = createKibanaPluginsStartMock();
|
||||
const useUiSetting = createUseUiSettingMock();
|
||||
|
||||
const services = {
|
||||
...core,
|
||||
...plugins,
|
||||
uiSettings: {
|
||||
...core.uiSettings,
|
||||
get: useUiSetting,
|
||||
},
|
||||
};
|
||||
|
||||
return () => ({ services });
|
||||
};
|
||||
|
@ -87,15 +98,11 @@ export const createWithKibanaMock = () => {
|
|||
|
||||
export const createKibanaContextProviderMock = () => {
|
||||
const kibana = createUseKibanaMock()();
|
||||
const uiSettings = {
|
||||
...kibana.services.uiSettings,
|
||||
get: createUseUiSettingMock(),
|
||||
};
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
return ({ services, ...rest }: any) =>
|
||||
React.createElement(KibanaContextProvider, {
|
||||
...rest,
|
||||
services: { ...kibana.services, uiSettings, ...services },
|
||||
services: { ...kibana.services, ...services },
|
||||
});
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue