Skip to content

Commit d0fc261

Browse files
remove nextTick() from tests
1 parent 32616c4 commit d0fc261

2 files changed

Lines changed: 30 additions & 38 deletions

File tree

x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_list.test.ts

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import { act } from 'react-dom/test-utils';
88

9-
import { setupEnvironment, pageHelpers, nextTick } from './helpers';
9+
import { setupEnvironment, pageHelpers } from './helpers';
1010
import { ComponentTemplateListTestBed } from './helpers/component_template_list.helpers';
1111
import { API_BASE_PATH } from '../../../../../../common/constants';
1212
import { ComponentTemplateListItem } from '../../types';
@@ -26,6 +26,14 @@ describe('<ComponentTemplateList />', () => {
2626
server.restore();
2727
});
2828

29+
beforeEach(async () => {
30+
await act(async () => {
31+
testBed = await setup();
32+
});
33+
34+
testBed.component.update();
35+
});
36+
2937
describe('With component templates', () => {
3038
const componentTemplate1: ComponentTemplateListItem = {
3139
name: 'test_component_template_1',
@@ -47,18 +55,9 @@ describe('<ComponentTemplateList />', () => {
4755

4856
httpRequestsMockHelpers.setLoadComponentTemplatesResponse(componentTemplates);
4957

50-
beforeEach(async () => {
51-
testBed = await setup();
52-
53-
await act(async () => {
54-
await nextTick(100);
55-
});
56-
57-
testBed.component.update();
58-
});
59-
6058
test('should render the list view', async () => {
6159
const { table } = testBed;
60+
6261
// Verify table content
6362
const { tableCellsValues } = table.getMetaData('componentTemplatesTable');
6463
tableCellsValues.forEach((row, i) => {
@@ -86,15 +85,10 @@ describe('<ComponentTemplateList />', () => {
8685
});
8786

8887
test('should delete a component template', async () => {
89-
const { actions } = testBed;
88+
const { actions, component } = testBed;
9089
const { name: componentTemplateName } = componentTemplate1;
9190

92-
httpRequestsMockHelpers.setDeleteComponentTemplateResponse({
93-
itemsDeleted: [componentTemplateName],
94-
errors: [],
95-
});
96-
97-
act(() => {
91+
await act(async () => {
9892
actions.clickDeleteActionAt(0);
9993
});
10094

@@ -110,28 +104,33 @@ describe('<ComponentTemplateList />', () => {
110104
expect(modal).not.toBe(null);
111105
expect(modal!.textContent).toContain('Delete component template');
112106

107+
httpRequestsMockHelpers.setDeleteComponentTemplateResponse({
108+
itemsDeleted: [componentTemplateName],
109+
errors: [],
110+
});
111+
113112
await act(async () => {
114113
confirmButton!.click();
115114
});
116115

117-
const latestRequest = server.requests[server.requests.length - 1];
116+
component.update();
117+
118+
const deleteRequest = server.requests[server.requests.length - 2];
118119

119-
expect(latestRequest.method).toBe('DELETE');
120-
expect(latestRequest.url).toBe(
120+
expect(deleteRequest.method).toBe('DELETE');
121+
expect(deleteRequest.url).toBe(
121122
`${API_BASE_PATH}/component_templates/${componentTemplateName}`
122123
);
123-
expect(latestRequest.status).toEqual(200);
124+
expect(deleteRequest.status).toEqual(200);
124125
});
125126
});
126127

127128
describe('No component templates', () => {
128129
beforeEach(async () => {
129130
httpRequestsMockHelpers.setLoadComponentTemplatesResponse([]);
130131

131-
testBed = await setup();
132-
133132
await act(async () => {
134-
await nextTick(100);
133+
testBed = await setup();
135134
});
136135

137136
testBed.component.update();
@@ -156,10 +155,8 @@ describe('<ComponentTemplateList />', () => {
156155

157156
httpRequestsMockHelpers.setLoadComponentTemplatesResponse(undefined, { body: error });
158157

159-
testBed = await setup();
160-
161158
await act(async () => {
162-
await nextTick(100);
159+
testBed = await setup();
163160
});
164161

165162
testBed.component.update();

x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/setup_environment.tsx

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,23 @@
55
*/
66
/* eslint-disable @kbn/eslint/no-restricted-paths */
77
import React from 'react';
8+
import axios from 'axios';
9+
import axiosXhrAdapter from 'axios/lib/adapters/xhr';
810

11+
import { HttpSetup } from 'kibana/public';
912
import { BASE_PATH, API_BASE_PATH } from '../../../../../../../common/constants';
1013
import {
1114
notificationServiceMock,
12-
fatalErrorsServiceMock,
1315
docLinksServiceMock,
14-
injectedMetadataServiceMock,
1516
} from '../../../../../../../../../../src/core/public/mocks';
1617

17-
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
18-
import { HttpService } from '../../../../../../../../../../src/core/public/http';
19-
2018
import { init as initHttpRequests } from './http_requests';
2119
import { ComponentTemplatesProvider } from '../../../component_templates_context';
2220

23-
const httpServiceSetupMock = new HttpService().setup({
24-
injectedMetadata: injectedMetadataServiceMock.createSetupContract(),
25-
fatalErrors: fatalErrorsServiceMock.createSetupContract(),
26-
});
21+
const mockHttpClient = axios.create({ adapter: axiosXhrAdapter });
2722

2823
const appDependencies = {
29-
httpClient: httpServiceSetupMock,
24+
httpClient: (mockHttpClient as unknown) as HttpSetup,
3025
apiBasePath: API_BASE_PATH,
3126
appBasePath: BASE_PATH,
3227
trackMetric: () => {},

0 commit comments

Comments
 (0)