mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
[Dasboard] Update embeddable rendering test for dashboard (#121000)
* Update embeddable rendering test on dashboard * Updating dashboard fixture to remove old viz
This commit is contained in:
parent
52a9d60e3b
commit
452dd1d01b
4 changed files with 44 additions and 61 deletions
|
@ -16,7 +16,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
const kibanaServer = getService('kibanaServer');
|
||||
const PageObjects = getPageObjects(['common', 'dashboard']);
|
||||
|
||||
describe('dashboard data-shared attributes', () => {
|
||||
describe('dashboard options', () => {
|
||||
let originalTitles: string[] = [];
|
||||
|
||||
before(async () => {
|
||||
|
|
|
@ -24,6 +24,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
const esArchiver = getService('esArchiver');
|
||||
const kibanaServer = getService('kibanaServer');
|
||||
const pieChart = getService('pieChart');
|
||||
const elasticChart = getService('elasticChart');
|
||||
const security = getService('security');
|
||||
const dashboardExpect = getService('dashboardExpect');
|
||||
const dashboardAddPanel = getService('dashboardAddPanel');
|
||||
|
@ -32,6 +33,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
'dashboard',
|
||||
'header',
|
||||
'visualize',
|
||||
'visChart',
|
||||
'discover',
|
||||
'timePicker',
|
||||
]);
|
||||
|
@ -40,7 +42,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
const expectAllDataRenders = async () => {
|
||||
await pieChart.expectPieSliceCount(16);
|
||||
await dashboardExpect.metricValuesExist(['7,544']);
|
||||
await dashboardExpect.seriesElementCount(19);
|
||||
await dashboardExpect.seriesElementCount(14);
|
||||
const tsvbGuageExists = await find.existsByCssSelector('.tvbVisHalfGauge');
|
||||
expect(tsvbGuageExists).to.be(true);
|
||||
await dashboardExpect.timelionLegendCount(0);
|
||||
|
@ -49,7 +51,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
await dashboardExpect.goalAndGuageLabelsExist(['62.925%', '55.625%', '11.915 GB']);
|
||||
await dashboardExpect.dataTableRowCount(5);
|
||||
await dashboardExpect.tagCloudWithValuesFound(['CN', 'IN', 'US', 'BR', 'ID']);
|
||||
// TODO add test for 'region map viz'
|
||||
// TODO add test for 'tsvb gauge' viz
|
||||
// TODO add test for 'geo map' viz
|
||||
// This tests the presence of the two input control embeddables
|
||||
|
@ -59,8 +60,14 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
await dashboardExpect.tsvbTopNValuesExist(['5,734.79', '6,286.675']);
|
||||
await dashboardExpect.tsvbMetricValuesExist(['210,007,889,606']);
|
||||
// TODO add test for 'animal sound pie' viz
|
||||
// This tests the area chart and non timebased line chart points
|
||||
await dashboardExpect.lineChartPointsCount(5);
|
||||
|
||||
// This tests line charts that do not use timeseries data
|
||||
const dogData = await elasticChart.getChartDebugData('visTypeXyChart', 2);
|
||||
const pointCount = dogData?.areas?.reduce((acc, a) => {
|
||||
return acc + a.lines.y1.points.length;
|
||||
}, 0);
|
||||
expect(pointCount).to.equal(6);
|
||||
|
||||
// TODO add test for 'scripted filter and query' viz
|
||||
// TODO add test for 'animal weight linked to search' viz
|
||||
// TODO add test for the last vega viz
|
||||
|
@ -71,27 +78,30 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
await pieChart.expectPieSliceCount(0);
|
||||
await dashboardExpect.seriesElementCount(0);
|
||||
await dashboardExpect.dataTableNoResult();
|
||||
await dashboardExpect.savedSearchRowCount(0);
|
||||
await dashboardExpect.savedSearchNoResult();
|
||||
await dashboardExpect.inputControlItemCount(5);
|
||||
await dashboardExpect.metricValuesExist(['0']);
|
||||
await dashboardExpect.markdownWithValuesExists(["I'm a markdown!"]);
|
||||
|
||||
// Three instead of 0 because there is a visualization based off a non time based index that
|
||||
// should still show data.
|
||||
await dashboardExpect.lineChartPointsCount(3);
|
||||
const dogData = await elasticChart.getChartDebugData('visTypeXyChart');
|
||||
const pointCount = dogData?.areas?.reduce((acc, a) => {
|
||||
return acc + a.lines.y1.points.length;
|
||||
}, 0);
|
||||
expect(pointCount).to.equal(6);
|
||||
|
||||
await dashboardExpect.timelionLegendCount(0);
|
||||
const tsvbGuageExists = await find.existsByCssSelector('.tvbVisHalfGauge');
|
||||
expect(tsvbGuageExists).to.be(true);
|
||||
await dashboardExpect.tsvbMetricValuesExist(['0']);
|
||||
await dashboardExpect.tsvbMarkdownWithValuesExists(['Hi Avg last bytes: 0']);
|
||||
await dashboardExpect.tsvbMetricValuesExist(['-']);
|
||||
await dashboardExpect.tsvbMarkdownWithValuesExists(['Hi Avg last bytes:']);
|
||||
await dashboardExpect.tsvbTableCellCount(0);
|
||||
await dashboardExpect.tsvbTopNValuesExist(['0']);
|
||||
await dashboardExpect.tsvbTopNValuesExist(['-']);
|
||||
await dashboardExpect.vegaTextsDoNotExist(['5,000']);
|
||||
};
|
||||
|
||||
// Failing: See https://github.com/elastic/kibana/issues/76245
|
||||
describe.skip('dashboard embeddable rendering', function describeIndexTests() {
|
||||
describe('dashboard embeddable rendering', function describeIndexTests() {
|
||||
before(async () => {
|
||||
await security.testUser.setRoles(['kibana_admin', 'animals', 'test_logstash_reader']);
|
||||
await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana');
|
||||
|
@ -116,6 +126,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
});
|
||||
|
||||
it('adding visualizations', async () => {
|
||||
await elasticChart.setNewChartUiDebugFlag(true);
|
||||
|
||||
visNames = await dashboardAddPanel.addEveryVisualization('"Rendering Test"');
|
||||
await dashboardExpect.visualizationsArePresent(visNames);
|
||||
|
||||
|
@ -123,7 +135,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
visNames.push(await dashboardAddPanel.addVisualization('Filter Bytes Test: vega'));
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
await dashboardExpect.visualizationsArePresent(visNames);
|
||||
expect(visNames.length).to.be.equal(27);
|
||||
expect(visNames.length).to.be.equal(26);
|
||||
await PageObjects.dashboard.waitForRenderComplete();
|
||||
});
|
||||
|
||||
|
@ -134,7 +146,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
await dashboardAddPanel.closeAddPanel();
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
await dashboardExpect.visualizationsArePresent(visAndSearchNames);
|
||||
expect(visAndSearchNames.length).to.be.equal(28);
|
||||
expect(visAndSearchNames.length).to.be.equal(27);
|
||||
await PageObjects.dashboard.waitForRenderComplete();
|
||||
|
||||
await PageObjects.dashboard.saveDashboard('embeddable rendering test', {
|
||||
|
@ -159,8 +171,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
|
|||
});
|
||||
|
||||
it('data rendered correctly when dashboard is hard refreshed', async () => {
|
||||
const currentUrl = await browser.getCurrentUrl();
|
||||
await browser.get(currentUrl, true);
|
||||
await browser.refresh();
|
||||
const alert = await browser.getAlert();
|
||||
await alert?.accept();
|
||||
|
||||
await elasticChart.setNewChartUiDebugFlag(true);
|
||||
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
await PageObjects.dashboard.waitForRenderComplete();
|
||||
await expectAllDataRenders();
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -236,6 +236,12 @@ export class DashboardExpectService extends FtrService {
|
|||
});
|
||||
}
|
||||
|
||||
async savedSearchNoResult() {
|
||||
const savedSearchTable = await this.testSubjects.find('embeddedSavedSearchDocTable');
|
||||
const resultStr = await savedSearchTable.getVisibleText();
|
||||
expect(resultStr).to.be('No results found');
|
||||
}
|
||||
|
||||
async savedSearchRowsExist() {
|
||||
this.testSubjects.existOrFail('docTableExpandToggleColumn');
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue