Skip to content

Commit

Permalink
remove nextTick() from tests
Browse files Browse the repository at this point in the history
  • Loading branch information
alisonelizabeth committed Jun 6, 2020
1 parent 32616c4 commit d0fc261
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 38 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

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

import { setupEnvironment, pageHelpers, nextTick } from './helpers';
import { setupEnvironment, pageHelpers } from './helpers';
import { ComponentTemplateListTestBed } from './helpers/component_template_list.helpers';
import { API_BASE_PATH } from '../../../../../../common/constants';
import { ComponentTemplateListItem } from '../../types';
Expand All @@ -26,6 +26,14 @@ describe('<ComponentTemplateList />', () => {
server.restore();
});

beforeEach(async () => {
await act(async () => {
testBed = await setup();
});

testBed.component.update();
});

describe('With component templates', () => {
const componentTemplate1: ComponentTemplateListItem = {
name: 'test_component_template_1',
Expand All @@ -47,18 +55,9 @@ describe('<ComponentTemplateList />', () => {

httpRequestsMockHelpers.setLoadComponentTemplatesResponse(componentTemplates);

beforeEach(async () => {
testBed = await setup();

await act(async () => {
await nextTick(100);
});

testBed.component.update();
});

test('should render the list view', async () => {
const { table } = testBed;

// Verify table content
const { tableCellsValues } = table.getMetaData('componentTemplatesTable');
tableCellsValues.forEach((row, i) => {
Expand Down Expand Up @@ -86,15 +85,10 @@ describe('<ComponentTemplateList />', () => {
});

test('should delete a component template', async () => {
const { actions } = testBed;
const { actions, component } = testBed;
const { name: componentTemplateName } = componentTemplate1;

httpRequestsMockHelpers.setDeleteComponentTemplateResponse({
itemsDeleted: [componentTemplateName],
errors: [],
});

act(() => {
await act(async () => {
actions.clickDeleteActionAt(0);
});

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

httpRequestsMockHelpers.setDeleteComponentTemplateResponse({
itemsDeleted: [componentTemplateName],
errors: [],
});

await act(async () => {
confirmButton!.click();
});

const latestRequest = server.requests[server.requests.length - 1];
component.update();

const deleteRequest = server.requests[server.requests.length - 2];

expect(latestRequest.method).toBe('DELETE');
expect(latestRequest.url).toBe(
expect(deleteRequest.method).toBe('DELETE');
expect(deleteRequest.url).toBe(
`${API_BASE_PATH}/component_templates/${componentTemplateName}`
);
expect(latestRequest.status).toEqual(200);
expect(deleteRequest.status).toEqual(200);
});
});

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

testBed = await setup();

await act(async () => {
await nextTick(100);
testBed = await setup();
});

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

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

testBed = await setup();

await act(async () => {
await nextTick(100);
testBed = await setup();
});

testBed.component.update();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,23 @@
*/
/* eslint-disable @kbn/eslint/no-restricted-paths */
import React from 'react';
import axios from 'axios';
import axiosXhrAdapter from 'axios/lib/adapters/xhr';

import { HttpSetup } from 'kibana/public';
import { BASE_PATH, API_BASE_PATH } from '../../../../../../../common/constants';
import {
notificationServiceMock,
fatalErrorsServiceMock,
docLinksServiceMock,
injectedMetadataServiceMock,
} from '../../../../../../../../../../src/core/public/mocks';

// eslint-disable-next-line @kbn/eslint/no-restricted-paths
import { HttpService } from '../../../../../../../../../../src/core/public/http';

import { init as initHttpRequests } from './http_requests';
import { ComponentTemplatesProvider } from '../../../component_templates_context';

const httpServiceSetupMock = new HttpService().setup({
injectedMetadata: injectedMetadataServiceMock.createSetupContract(),
fatalErrors: fatalErrorsServiceMock.createSetupContract(),
});
const mockHttpClient = axios.create({ adapter: axiosXhrAdapter });

const appDependencies = {
httpClient: httpServiceSetupMock,
httpClient: (mockHttpClient as unknown) as HttpSetup,
apiBasePath: API_BASE_PATH,
appBasePath: BASE_PATH,
trackMetric: () => {},
Expand Down

0 comments on commit d0fc261

Please sign in to comment.