Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Index management] Unskip jest tests #76672

Merged
merged 22 commits into from
Sep 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
5c5531d
Wip fix template create tests
sebelga Sep 3, 2020
7102b58
Add component templates tests
sebelga Sep 9, 2020
bea8390
Unskip index settings tests
sebelga Sep 9, 2020
b194294
Unskip mappings tests
sebelga Sep 9, 2020
7100d86
Comment out template_edit.test
sebelga Sep 10, 2020
f304247
Finish unskipping all template create tests
sebelga Sep 10, 2020
6124f3e
Unskip template edit tests
sebelga Sep 10, 2020
e59c45f
Unskip template clone tests
sebelga Sep 10, 2020
ecb649d
Unskip mappings editor core tests
sebelga Sep 10, 2020
34ec70c
Fix regression with custom analyzer not being read from the index set…
sebelga Sep 10, 2020
82510c4
Unskip mappings editor text datatype tests
sebelga Sep 10, 2020
2f51bbe
Unskip mappings editor shape datatype tests
sebelga Sep 10, 2020
1cda264
Fix mappings editor edit field tests
sebelga Sep 10, 2020
d58edbe
Merge branch 'master' into tests/unskip-jest-tests-2
elasticmachine Sep 11, 2020
2fae597
Merge branch 'master' into tests/unskip-jest-tests-2
elasticmachine Sep 11, 2020
8524866
Merge branch 'master' into tests/unskip-jest-tests-2
elasticmachine Sep 11, 2020
d260388
Merge branch 'master' into tests/unskip-jest-tests-2
elasticmachine Sep 11, 2020
164a49c
Merge branch 'master' into tests/unskip-jest-tests-2
elasticmachine Sep 12, 2020
495e06a
Merge branch 'master' into tests/unskip-jest-tests-2
elasticmachine Sep 12, 2020
d5c3d41
Merge branch 'master' into tests/unskip-jest-tests-2
elasticmachine Sep 12, 2020
a14f472
Merge branch 'master' into tests/unskip-jest-tests-2
elasticmachine Sep 12, 2020
16db7d2
Merge remote-tracking branch 'upstream/master' into tests/unskip-jest…
sebelga Sep 14, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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