mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
# Backport This will backport the following commits from `main` to `8.x`: - [[Discover] Unskip Discover-Lens functional test suite (#200687)](https://github.com/elastic/kibana/pull/200687) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Matthias Wilhelm","email":"ankertal@gmail.com"},"sourceCommit":{"committedDate":"2024-11-20T17:38:05Z","message":"[Discover] Unskip Discover-Lens functional test suite (#200687)\n\nCatching an invalid state of properties propagated to the UnifiedHistogram which is using the Lens embeddable in Discover, that causes a rendering error when e.g. ad hoc data views are being edited. Therefore the skipped testview can be unskipped.","sha":"e082cd1dfaa79c6fdfc5d7f1d2842b6ca0a5db6c","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:Discover","release_note:skip","v9.0.0","Team:DataDiscovery","backport:prev-major"],"title":"[Discover] Unskip Discover-Lens functional test suite ","number":200687,"url":"https://github.com/elastic/kibana/pull/200687","mergeCommit":{"message":"[Discover] Unskip Discover-Lens functional test suite (#200687)\n\nCatching an invalid state of properties propagated to the UnifiedHistogram which is using the Lens embeddable in Discover, that causes a rendering error when e.g. ad hoc data views are being edited. Therefore the skipped testview can be unskipped.","sha":"e082cd1dfaa79c6fdfc5d7f1d2842b6ca0a5db6c"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/200687","number":200687,"mergeCommit":{"message":"[Discover] Unskip Discover-Lens functional test suite (#200687)\n\nCatching an invalid state of properties propagated to the UnifiedHistogram which is using the Lens embeddable in Discover, that causes a rendering error when e.g. ad hoc data views are being edited. Therefore the skipped testview can be unskipped.","sha":"e082cd1dfaa79c6fdfc5d7f1d2842b6ca0a5db6c"}}]}] BACKPORT--> Co-authored-by: Matthias Wilhelm <ankertal@gmail.com>
This commit is contained in:
parent
9b137edd77
commit
e2c0c94b52
2 changed files with 35 additions and 6 deletions
|
@ -10,12 +10,12 @@
|
||||||
import { useEuiTheme } from '@elastic/eui';
|
import { useEuiTheme } from '@elastic/eui';
|
||||||
import { css } from '@emotion/react';
|
import { css } from '@emotion/react';
|
||||||
import React, { useState } from 'react';
|
import React, { useState } from 'react';
|
||||||
import type { DataView } from '@kbn/data-views-plugin/public';
|
import type { DataView, DataViewSpec } from '@kbn/data-views-plugin/public';
|
||||||
import type { DefaultInspectorAdapters, Datatable } from '@kbn/expressions-plugin/common';
|
import type { DefaultInspectorAdapters, Datatable } from '@kbn/expressions-plugin/common';
|
||||||
import type { IKibanaSearchResponse } from '@kbn/search-types';
|
import type { IKibanaSearchResponse } from '@kbn/search-types';
|
||||||
import type { estypes } from '@elastic/elasticsearch';
|
import type { estypes } from '@elastic/elasticsearch';
|
||||||
import type { TimeRange } from '@kbn/es-query';
|
import type { TimeRange } from '@kbn/es-query';
|
||||||
import type {
|
import {
|
||||||
EmbeddableComponentProps,
|
EmbeddableComponentProps,
|
||||||
LensEmbeddableInput,
|
LensEmbeddableInput,
|
||||||
LensEmbeddableOutput,
|
LensEmbeddableOutput,
|
||||||
|
@ -59,6 +59,32 @@ export interface HistogramProps {
|
||||||
withDefaultActions: EmbeddableComponentProps['withDefaultActions'];
|
withDefaultActions: EmbeddableComponentProps['withDefaultActions'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To prevent flakiness in the chart, we need to ensure that the data view config is valid.
|
||||||
|
* This requires that there are not multiple different data view ids in the given configuration.
|
||||||
|
* @param dataView
|
||||||
|
* @param visContext
|
||||||
|
* @param adHocDataViews
|
||||||
|
*/
|
||||||
|
const checkValidDataViewConfig = (
|
||||||
|
dataView: DataView,
|
||||||
|
visContext: UnifiedHistogramVisContext,
|
||||||
|
adHocDataViews: { [key: string]: DataViewSpec } | undefined
|
||||||
|
) => {
|
||||||
|
if (!dataView.id) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!dataView.isPersisted() && !adHocDataViews?.[dataView.id]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dataView.id !== visContext.requestData.dataViewId) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
const computeTotalHits = (
|
const computeTotalHits = (
|
||||||
hasLensSuggestions: boolean,
|
hasLensSuggestions: boolean,
|
||||||
adapterTables:
|
adapterTables:
|
||||||
|
@ -204,6 +230,10 @@ export function Histogram({
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
if (!checkValidDataViewConfig(dataView, visContext, lensProps.attributes.state.adHocDataViews)) {
|
||||||
|
return <></>;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div
|
<div
|
||||||
|
|
|
@ -110,8 +110,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
||||||
return seriesType;
|
return seriesType;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FLAKY: https://github.com/elastic/kibana/issues/184600
|
describe('discover lens vis', function () {
|
||||||
describe.skip('discover lens vis', function () {
|
|
||||||
before(async () => {
|
before(async () => {
|
||||||
await security.testUser.setRoles(['kibana_admin', 'test_logstash_reader']);
|
await security.testUser.setRoles(['kibana_admin', 'test_logstash_reader']);
|
||||||
await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
|
await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional');
|
||||||
|
@ -655,8 +654,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
||||||
await discover.waitUntilSearchingHasFinished();
|
await discover.waitUntilSearchingHasFinished();
|
||||||
await testSubjects.missingOrFail('unsavedChangesBadge');
|
await testSubjects.missingOrFail('unsavedChangesBadge');
|
||||||
|
|
||||||
await discover.chooseLensSuggestion('pie');
|
await discover.chooseLensSuggestion('waffle');
|
||||||
expect(await getCurrentVisTitle()).to.be('Pie');
|
expect(await getCurrentVisTitle()).to.be('Waffle');
|
||||||
await testSubjects.existOrFail('partitionVisChart');
|
await testSubjects.existOrFail('partitionVisChart');
|
||||||
expect(await discover.getVisContextSuggestionType()).to.be('lensSuggestion');
|
expect(await discover.getVisContextSuggestionType()).to.be('lensSuggestion');
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue