Skip to content

Commit

Permalink
[7.x] [Index management] Unskip jest tests (#76672) (#77460)
Browse files Browse the repository at this point in the history
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
  • Loading branch information
sebelga and elasticmachine committed Sep 15, 2020
1 parent b71eb50 commit 334af08
Show file tree
Hide file tree
Showing 27 changed files with 858 additions and 516 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,17 @@ const registerHttpRequestMockHelpers = (server: SinonFakeServer) => {
]);
};

const setLoadComponentTemplatesResponse = (response?: HttpResponse, error?: any) => {
const status = error ? error.status || 400 : 200;
const body = error ? error.body : response;

server.respondWith('GET', `${API_BASE_PATH}/component_templates`, [
status,
{ 'Content-Type': 'application/json' },
JSON.stringify(body),
]);
};

return {
setLoadTemplatesResponse,
setLoadIndicesResponse,
Expand All @@ -114,6 +125,7 @@ const registerHttpRequestMockHelpers = (server: SinonFakeServer) => {
setCreateTemplateResponse,
setUpdateTemplateResponse,
setSimulateTemplateResponse,
setLoadComponentTemplatesResponse,
};
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,11 @@ import { ExtensionsService } from '../../../public/services';
import { UiMetricService } from '../../../public/application/services/ui_metric';
import { setUiMetricService } from '../../../public/application/services/api';
import { setExtensionsService } from '../../../public/application/store/selectors';
import { MappingsEditorProvider } from '../../../public/application/components';
import {
MappingsEditorProvider,
ComponentTemplatesProvider,
} from '../../../public/application/components';
import { componentTemplatesMockDependencies } from '../../../public/application/components/component_templates/__jest__';
import { init as initHttpRequests } from './http_requests';

const mockHttpClient = axios.create({ adapter: axiosXhrAdapter });
Expand All @@ -34,9 +38,11 @@ export const services = {
extensionsService: new ExtensionsService(),
uiMetricService: new UiMetricService('index_management'),
};

services.uiMetricService.setup({ reportUiStats() {} } as any);
setExtensionsService(services.extensionsService);
setUiMetricService(services.uiMetricService);

const appDependencies = {
services,
core: { getUrlForApp: () => {} },
Expand Down Expand Up @@ -66,9 +72,11 @@ export const WithAppDependencies = (Comp: any, overridingDependencies: any = {})
return (
<AppContextProvider value={mergedDependencies}>
<MappingsEditorProvider>
<GlobalFlyoutProvider>
<Comp {...props} />
</GlobalFlyoutProvider>
<ComponentTemplatesProvider value={componentTemplatesMockDependencies}>
<GlobalFlyoutProvider>
<Comp {...props} />
</GlobalFlyoutProvider>
</ComponentTemplatesProvider>
</MappingsEditorProvider>
</AppContextProvider>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,5 @@ export const ALIASES = {
};

export const MAPPINGS = {
_source: {},
_meta: {},
properties: {},
};
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
import React from 'react';
import { act } from 'react-dom/test-utils';

import { getTemplate } from '../../../test/fixtures';
import { setupEnvironment, nextTick } from '../helpers';
import { getComposableTemplate } from '../../../test/fixtures';
import { setupEnvironment } from '../helpers';

import { TEMPLATE_NAME, INDEX_PATTERNS as DEFAULT_INDEX_PATTERNS, MAPPINGS } from './constants';
import { setup } from './template_clone.helpers';
Expand Down Expand Up @@ -41,32 +41,35 @@ jest.mock('@elastic/eui', () => {
};
});

// FLAKY: https://github.com/elastic/kibana/issues/59849
describe.skip('<TemplateClone />', () => {
const templateToClone = getComposableTemplate({
name: TEMPLATE_NAME,
indexPatterns: ['indexPattern1'],
template: {
mappings: MAPPINGS,
},
});

describe('<TemplateClone />', () => {
let testBed: TemplateFormTestBed;

const { server, httpRequestsMockHelpers } = setupEnvironment();

afterAll(() => {
server.restore();
beforeAll(() => {
jest.useFakeTimers();
httpRequestsMockHelpers.setLoadComponentTemplatesResponse([]);
httpRequestsMockHelpers.setLoadTemplateResponse(templateToClone);
});

const templateToClone = getTemplate({
name: TEMPLATE_NAME,
indexPatterns: ['indexPattern1'],
template: {
mappings: MAPPINGS,
},
isLegacy: true,
afterAll(() => {
server.restore();
jest.useRealTimers();
});

beforeEach(async () => {
httpRequestsMockHelpers.setLoadTemplateResponse(templateToClone);

await act(async () => {
testBed = await setup();
await testBed.waitFor('templateForm');
});
testBed.component.update();
});

test('should set the correct page title', () => {
Expand All @@ -80,30 +83,26 @@ describe.skip('<TemplateClone />', () => {
beforeEach(async () => {
const { actions } = testBed;

await act(async () => {
// Complete step 1 (logistics)
// Specify index patterns, but do not change name (keep default)
await actions.completeStepOne({
indexPatterns: DEFAULT_INDEX_PATTERNS,
});

// Bypass step 2 (index settings)
await actions.completeStepTwo();

// Bypass step 3 (mappings)
await actions.completeStepThree();

// Bypass step 4 (aliases)
await actions.completeStepFour();
// Logistics
// Specify index patterns, but do not change name (keep default)
await actions.completeStepOne({
indexPatterns: DEFAULT_INDEX_PATTERNS,
});
// Component templates
await actions.completeStepTwo();
// Index settings
await actions.completeStepThree();
// Mappings
await actions.completeStepFour();
// Aliases
await actions.completeStepFive();
});

it('should send the correct payload', async () => {
const { actions } = testBed;

await act(async () => {
actions.clickSubmitButton();
await nextTick();
actions.clickNextButton();
});

const latestRequest = server.requests[server.requests.length - 1];
Expand All @@ -113,6 +112,8 @@ describe.skip('<TemplateClone />', () => {
name: `${templateToClone.name}-copy`,
indexPatterns: DEFAULT_INDEX_PATTERNS,
};
// @ts-expect-error
delete expected.template; // As no settings, mappings or aliases have been defined, no "template" param is sent

expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected);
});
Expand Down
Loading

0 comments on commit 334af08

Please sign in to comment.