Skip to content

Commit

Permalink
✅ Add functional tests
Browse files Browse the repository at this point in the history
  • Loading branch information
dej611 committed Dec 14, 2022
1 parent 77b895d commit 856ed02
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 0 deletions.
51 changes: 51 additions & 0 deletions x-pack/test/functional/apps/lens/group2/show_underlying_data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,57 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await browser.switchToWindow(lensWindowHandler);
});

it('should show the open button if visualization has an annotation layer', async () => {
await PageObjects.lens.createLayer('annotations');
await testSubjects.clickWhenNotDisabledWithoutRetry(`lnsApp_openInDiscover`);
const [lensWindowHandler, discoverWindowHandle] = await browser.getAllWindowHandles();
await browser.switchToWindow(discoverWindowHandle);

await PageObjects.header.waitUntilLoadingHasFinished();
await testSubjects.existOrFail('unifiedHistogramChart');
const columns = await PageObjects.discover.getColumnHeaders();
expect(columns).to.eql(['@timestamp', 'extension.raw', 'bytes']);
await browser.closeCurrentWindow();
await browser.switchToWindow(lensWindowHandler);
});

it('should show the open button if visualization has a reference line layer', async () => {
await PageObjects.lens.createLayer('referenceLine');
await testSubjects.clickWhenNotDisabledWithoutRetry(`lnsApp_openInDiscover`);
const [lensWindowHandler, discoverWindowHandle] = await browser.getAllWindowHandles();
await browser.switchToWindow(discoverWindowHandle);

await PageObjects.header.waitUntilLoadingHasFinished();
await testSubjects.existOrFail('unifiedHistogramChart');
const columns = await PageObjects.discover.getColumnHeaders();
expect(columns).to.eql(['@timestamp', 'extension.raw', 'bytes']);
await browser.closeCurrentWindow();
await browser.switchToWindow(lensWindowHandler);
});

it('should not show the open button if visualization has multiple data layers', async () => {
await PageObjects.lens.createLayer();
await PageObjects.lens.configureDimension({
dimension: 'lns-layerPanel-3 > lnsXY_xDimensionPanel > lns-empty-dimension',
operation: 'date_histogram',
field: '@timestamp',
});

await PageObjects.lens.configureDimension({
dimension: 'lns-layerPanel-3 > lnsXY_yDimensionPanel > lns-empty-dimension',
operation: 'median',
field: 'bytes',
});

await PageObjects.lens.waitForVisualization('xyVisChart');

expect(await testSubjects.isEnabled(`lnsApp_openInDiscover`)).to.be(false);

for (const index of [3, 2, 1]) {
await PageObjects.lens.removeLayer(index);
}
});

it('should ignore the top values column if other category is enabled', async () => {
// Make the breakdown dimention be ignored
await PageObjects.lens.openDimensionEditor(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,35 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await browser.switchToWindow(dashboardWindowHandle);
});

it('should show the open button for a compatible saved visualization with annotations and reference line', async () => {
await PageObjects.dashboard.switchToEditMode();
await dashboardPanelActions.clickEdit();

await PageObjects.lens.createLayer('annotations');
await PageObjects.lens.createLayer('referenceLine');
await PageObjects.lens.save('Embedded Visualization', false);

await PageObjects.dashboard.saveDashboard(`Open in Discover Testing ${uuid()}`, {
exitFromEditMode: true,
});

await dashboardPanelActions.openContextMenu();

await testSubjects.click('embeddablePanelAction-ACTION_OPEN_IN_DISCOVER');

const [dashboardWindowHandle, discoverWindowHandle] = await browser.getAllWindowHandles();
await browser.switchToWindow(discoverWindowHandle);

await PageObjects.header.waitUntilLoadingHasFinished();
await testSubjects.existOrFail('unifiedHistogramChart');
// check the table columns
const columns = await PageObjects.discover.getColumnHeaders();
expect(columns).to.eql(['@timestamp', 'ip', 'bytes']);

await browser.closeCurrentWindow();
await browser.switchToWindow(dashboardWindowHandle);
});

it('should bring both dashboard context and visualization context to discover', async () => {
await PageObjects.dashboard.switchToEditMode();
await dashboardPanelActions.clickEdit();
Expand Down

0 comments on commit 856ed02

Please sign in to comment.