Skip to content

Commit

Permalink
[8.15] [Discover] Add functional tests for DocViewer extension (elast…
Browse files Browse the repository at this point in the history
…ic#187742) (elastic#187949)

# Backport

This will backport the following commits from `main` to `8.15`:
- [[Discover] Add functional tests for DocViewer extension
(elastic#187742)](elastic#187742)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Julia
Rechkunova","email":"julia.rechkunova@elastic.co"},"sourceCommit":{"committedDate":"2024-07-10T10:19:25Z","message":"[Discover]
Add functional tests for DocViewer extension (elastic#187742)\n\n- Closes
https://github.com/elastic/kibana/issues/186265","sha":"4b19cc7f17c6ebc740402783fee875f547d7d892","branchLabelMapping":{"^v8.16.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:DataDiscovery","backport:prev-minor","Project:OneDiscover","v8.16.0"],"title":"[Discover]
Add functional tests for DocViewer
extension","number":187742,"url":"https://github.com/elastic/kibana/pull/187742","mergeCommit":{"message":"[Discover]
Add functional tests for DocViewer extension (elastic#187742)\n\n- Closes
https://github.com/elastic/kibana/issues/186265","sha":"4b19cc7f17c6ebc740402783fee875f547d7d892"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/187742","number":187742,"mergeCommit":{"message":"[Discover]
Add functional tests for DocViewer extension (elastic#187742)\n\n- Closes
https://github.com/elastic/kibana/issues/186265","sha":"4b19cc7f17c6ebc740402783fee875f547d7d892"}}]}]
BACKPORT-->

Co-authored-by: Julia Rechkunova <julia.rechkunova@elastic.co>
  • Loading branch information
kibanamachine and jughosta authored Jul 10, 2024
1 parent a047529 commit 2f6d2b9
Show file tree
Hide file tree
Showing 3 changed files with 133 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,17 @@ export const exampleDataSourceProfileProvider: DataSourceProfileProvider = {
);
},
}),
getDocViewer: (prev) => (params) => {
const recordId = params.record.id;
const prevValue = prev(params);
return {
title: `Record #${recordId}`,
docViewsRegistry: (registry) => {
registry.enableById('doc_view_logs_overview');
return prevValue.docViewsRegistry(registry);
},
};
},
},
resolve: (params) => {
let indexPattern: string | undefined;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const PageObjects = getPageObjects(['common', 'timePicker', 'discover', 'unifiedFieldList']);
const testSubjects = getService('testSubjects');
const dataViews = getService('dataViews');
const dataGrid = getService('dataGrid');

describe('data source profile', () => {
describe('ES|QL mode', () => {
Expand Down Expand Up @@ -58,6 +59,40 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
expect(await logLevels[2].getVisibleText()).to.be('Info');
});
});

describe('doc viewer extension', () => {
it('should not render custom doc viewer view', async () => {
const state = kbnRison.encode({
dataSource: { type: 'esql' },
query: { esql: 'from my-example-* | sort @timestamp desc' },
});
await PageObjects.common.navigateToApp('discover', {
hash: `/?_a=${state}`,
});
await PageObjects.discover.waitUntilSearchingHasFinished();
await dataGrid.clickRowToggle({ rowIndex: 0 });
await testSubjects.existOrFail('docViewerTab-doc_view_table');
await testSubjects.existOrFail('docViewerTab-doc_view_source');
await testSubjects.missingOrFail('docViewerTab-doc_view_logs_overview');
expect(await testSubjects.getVisibleText('docViewerRowDetailsTitle')).to.be('Result');
});

it('should render custom doc viewer view', async () => {
const state = kbnRison.encode({
dataSource: { type: 'esql' },
query: { esql: 'from my-example-logs | sort @timestamp desc' },
});
await PageObjects.common.navigateToApp('discover', {
hash: `/?_a=${state}`,
});
await PageObjects.discover.waitUntilSearchingHasFinished();
await dataGrid.clickRowToggle({ rowIndex: 0 });
await testSubjects.existOrFail('docViewerTab-doc_view_table');
await testSubjects.existOrFail('docViewerTab-doc_view_source');
await testSubjects.existOrFail('docViewerTab-doc_view_logs_overview');
expect(await testSubjects.getVisibleText('docViewerRowDetailsTitle')).to.be('Record #0');
});
});
});

describe('data view mode', () => {
Expand Down Expand Up @@ -92,6 +127,32 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
expect(await logLevels[2].getVisibleText()).to.be('Info');
});
});

describe('doc viewer extension', () => {
it('should not render custom doc viewer view', async () => {
await PageObjects.common.navigateToApp('discover');
await dataViews.switchTo('my-example-*');
await PageObjects.discover.waitUntilSearchingHasFinished();
await dataGrid.clickRowToggle({ rowIndex: 0 });
await testSubjects.existOrFail('docViewerTab-doc_view_table');
await testSubjects.existOrFail('docViewerTab-doc_view_source');
await testSubjects.missingOrFail('docViewerTab-doc_view_logs_overview');
expect(await testSubjects.getVisibleText('docViewerRowDetailsTitle')).to.be('Document');
});

it('should render custom doc viewer view', async () => {
await PageObjects.common.navigateToApp('discover');
await dataViews.switchTo('my-example-logs');
await PageObjects.discover.waitUntilSearchingHasFinished();
await dataGrid.clickRowToggle({ rowIndex: 0 });
await testSubjects.existOrFail('docViewerTab-doc_view_table');
await testSubjects.existOrFail('docViewerTab-doc_view_source');
await testSubjects.existOrFail('docViewerTab-doc_view_logs_overview');
expect(await testSubjects.getVisibleText('docViewerRowDetailsTitle')).to.be(
'Record #my-example-logs::XdQFDpABfGznVC1bCHLo::'
);
});
});
});
});
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const PageObjects = getPageObjects(['common', 'timePicker', 'discover', 'unifiedFieldList']);
const testSubjects = getService('testSubjects');
const dataViews = getService('dataViews');
const dataGrid = getService('dataGrid');

describe('data source profile', () => {
describe('ES|QL mode', () => {
Expand Down Expand Up @@ -53,6 +54,40 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
expect(await logLevels[2].getVisibleText()).to.be('Info');
});
});

describe('doc viewer extension', () => {
it('should not render custom doc viewer view', async () => {
const state = kbnRison.encode({
dataSource: { type: 'esql' },
query: { esql: 'from my-example-* | sort @timestamp desc' },
});
await PageObjects.common.navigateToApp('discover', {
hash: `/?_a=${state}`,
});
await PageObjects.discover.waitUntilSearchingHasFinished();
await dataGrid.clickRowToggle({ rowIndex: 0 });
await testSubjects.existOrFail('docViewerTab-doc_view_table');
await testSubjects.existOrFail('docViewerTab-doc_view_source');
await testSubjects.missingOrFail('docViewerTab-doc_view_logs_overview');
expect(await testSubjects.getVisibleText('docViewerRowDetailsTitle')).to.be('Result');
});

it('should render custom doc viewer view', async () => {
const state = kbnRison.encode({
dataSource: { type: 'esql' },
query: { esql: 'from my-example-logs | sort @timestamp desc' },
});
await PageObjects.common.navigateToApp('discover', {
hash: `/?_a=${state}`,
});
await PageObjects.discover.waitUntilSearchingHasFinished();
await dataGrid.clickRowToggle({ rowIndex: 0 });
await testSubjects.existOrFail('docViewerTab-doc_view_table');
await testSubjects.existOrFail('docViewerTab-doc_view_source');
await testSubjects.existOrFail('docViewerTab-doc_view_logs_overview');
expect(await testSubjects.getVisibleText('docViewerRowDetailsTitle')).to.be('Record #0');
});
});
});

describe('data view mode', () => {
Expand Down Expand Up @@ -83,6 +118,32 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
expect(await logLevels[2].getVisibleText()).to.be('Info');
});
});

describe('doc viewer extension', () => {
it('should not render custom doc viewer view', async () => {
await PageObjects.common.navigateToApp('discover');
await dataViews.switchTo('my-example-*');
await PageObjects.discover.waitUntilSearchingHasFinished();
await dataGrid.clickRowToggle({ rowIndex: 0 });
await testSubjects.existOrFail('docViewerTab-doc_view_table');
await testSubjects.existOrFail('docViewerTab-doc_view_source');
await testSubjects.missingOrFail('docViewerTab-doc_view_logs_overview');
expect(await testSubjects.getVisibleText('docViewerRowDetailsTitle')).to.be('Document');
});

it('should render custom doc viewer view', async () => {
await PageObjects.common.navigateToApp('discover');
await dataViews.switchTo('my-example-logs');
await PageObjects.discover.waitUntilSearchingHasFinished();
await dataGrid.clickRowToggle({ rowIndex: 0 });
await testSubjects.existOrFail('docViewerTab-doc_view_table');
await testSubjects.existOrFail('docViewerTab-doc_view_source');
await testSubjects.existOrFail('docViewerTab-doc_view_logs_overview');
expect(await testSubjects.getVisibleText('docViewerRowDetailsTitle')).to.be(
'Record #my-example-logs::XdQFDpABfGznVC1bCHLo::'
);
});
});
});
});
}

0 comments on commit 2f6d2b9

Please sign in to comment.