mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
* Clean up clone tests to new style so they actually run * Use new retry service * Use correct case with the dashboard copy name
This commit is contained in:
parent
408cd593ea
commit
2c772409ab
2 changed files with 69 additions and 65 deletions
|
@ -1,75 +1,78 @@
|
|||
import expect from 'expect.js';
|
||||
import { bdd } from '../../../support';
|
||||
|
||||
import PageObjects from '../../../support/page_objects';
|
||||
export default function ({ getService, getPageObjects }) {
|
||||
const retry = getService('retry');
|
||||
const PageObjects = getPageObjects(['dashboard', 'header', 'common']);
|
||||
|
||||
bdd.describe('dashboard save', function describeIndexTests() {
|
||||
const dashboardName = 'Dashboard Clone Test';
|
||||
const clonedDashboardName = dashboardName + ' copy';
|
||||
describe('dashboard save', function describeIndexTests() {
|
||||
const dashboardName = 'Dashboard Clone Test';
|
||||
const clonedDashboardName = dashboardName + ' Copy';
|
||||
|
||||
bdd.before(async function () {
|
||||
return PageObjects.dashboard.initTests();
|
||||
});
|
||||
before(async function () {
|
||||
return PageObjects.dashboard.initTests();
|
||||
});
|
||||
|
||||
bdd.it('Clone saves a copy', async function () {
|
||||
await PageObjects.dashboard.clickNewDashboard();
|
||||
await PageObjects.dashboard.addVisualizations(PageObjects.dashboard.getTestVisualizationNames());
|
||||
await PageObjects.dashboard.enterDashboardTitleAndClickSave(dashboardName);
|
||||
it('Clone saves a copy', async function () {
|
||||
await PageObjects.dashboard.clickNewDashboard();
|
||||
await PageObjects.dashboard.addVisualizations(PageObjects.dashboard.getTestVisualizationNames());
|
||||
await PageObjects.dashboard.enterDashboardTitleAndClickSave(dashboardName);
|
||||
|
||||
await PageObjects.dashboard.clickClone();
|
||||
await PageObjects.dashboard.clickClone();
|
||||
await PageObjects.dashboard.confirmClone();
|
||||
|
||||
const countOfDashboards = await PageObjects.dashboard.getDashboardCountWithName(clonedDashboardName);
|
||||
expect(countOfDashboards).to.equal(1);
|
||||
});
|
||||
const countOfDashboards = await PageObjects.dashboard.getDashboardCountWithName(clonedDashboardName);
|
||||
expect(countOfDashboards).to.equal(1);
|
||||
});
|
||||
|
||||
bdd.it('the copy should have all the same visualizations', async function () {
|
||||
await PageObjects.dashboard.loadSavedDashboard(clonedDashboardName);
|
||||
return PageObjects.common.try(async function () {
|
||||
const panelTitles = await PageObjects.dashboard.getPanelTitles();
|
||||
expect(panelTitles).to.eql(PageObjects.dashboard.getTestVisualizationNames());
|
||||
it('the copy should have all the same visualizations', async function () {
|
||||
await PageObjects.dashboard.loadSavedDashboard(clonedDashboardName);
|
||||
await retry.try(async () => {
|
||||
const panelTitles = await PageObjects.dashboard.getPanelTitles();
|
||||
expect(panelTitles).to.eql(PageObjects.dashboard.getTestVisualizationNames());
|
||||
});
|
||||
});
|
||||
|
||||
it('clone warns on duplicate name', async function () {
|
||||
await PageObjects.dashboard.loadSavedDashboard(dashboardName);
|
||||
await PageObjects.dashboard.clickClone();
|
||||
|
||||
await PageObjects.dashboard.confirmClone();
|
||||
const isConfirmOpen = await PageObjects.common.isConfirmModalOpen();
|
||||
expect(isConfirmOpen).to.equal(true);
|
||||
});
|
||||
|
||||
it('preserves the original title on cancel', async function () {
|
||||
await PageObjects.common.clickCancelOnModal();
|
||||
await PageObjects.dashboard.confirmClone();
|
||||
|
||||
// Should see the same confirmation if the title is the same.
|
||||
const isConfirmOpen = await PageObjects.common.isConfirmModalOpen();
|
||||
expect(isConfirmOpen).to.equal(true);
|
||||
});
|
||||
|
||||
it('and doesn\'t save', async() => {
|
||||
await PageObjects.common.clickCancelOnModal();
|
||||
await PageObjects.dashboard.cancelClone();
|
||||
|
||||
const countOfDashboards = await PageObjects.dashboard.getDashboardCountWithName(dashboardName);
|
||||
expect(countOfDashboards).to.equal(1);
|
||||
});
|
||||
|
||||
it('Clones on confirm duplicate title warning', async function () {
|
||||
await PageObjects.dashboard.loadSavedDashboard(dashboardName);
|
||||
await PageObjects.dashboard.clickClone();
|
||||
|
||||
await PageObjects.dashboard.confirmClone();
|
||||
await PageObjects.common.clickConfirmOnModal();
|
||||
|
||||
// This is important since saving a new dashboard will cause a refresh of the page. We have to
|
||||
// wait till it finishes reloading or it might reload the url after simulating the
|
||||
// dashboard landing page click.
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
|
||||
const countOfDashboards =
|
||||
await PageObjects.dashboard.getDashboardCountWithName(dashboardName + ' Copy');
|
||||
expect(countOfDashboards).to.equal(2);
|
||||
});
|
||||
});
|
||||
|
||||
bdd.it('clone warns on duplicate name', async function() {
|
||||
await PageObjects.dashboard.loadSavedDashboard(dashboardName);
|
||||
await PageObjects.dashboard.clickClone();
|
||||
|
||||
await PageObjects.dashboard.confirmClone();
|
||||
const isConfirmOpen = await PageObjects.common.isConfirmModalOpen();
|
||||
expect(isConfirmOpen).to.equal(true);
|
||||
});
|
||||
|
||||
bdd.it('preserves the original title on cancel', async function() {
|
||||
await PageObjects.common.clickCancelOnModal();
|
||||
await PageObjects.dashboard.confirmClone();
|
||||
|
||||
// Should see the same confirmation if the title is the same.
|
||||
const isConfirmOpen = await PageObjects.common.isConfirmModalOpen();
|
||||
expect(isConfirmOpen).to.equal(true);
|
||||
});
|
||||
|
||||
bdd.it('and doesn\'t save', async () => {
|
||||
await PageObjects.common.clickCancelOnModal();
|
||||
await PageObjects.dashboard.cancelClone();
|
||||
|
||||
const countOfDashboards = await PageObjects.dashboard.getDashboardCountWithName(dashboardName);
|
||||
expect(countOfDashboards).to.equal(1);
|
||||
});
|
||||
|
||||
bdd.it('Clones on confirm duplicate title warning', async function() {
|
||||
await PageObjects.dashboard.loadSavedDashboard(dashboardName);
|
||||
await PageObjects.dashboard.clickClone();
|
||||
|
||||
await PageObjects.dashboard.confirmClone();
|
||||
await PageObjects.common.clickConfirmOnModal();
|
||||
|
||||
// This is important since saving a new dashboard will cause a refresh of the page. We have to
|
||||
// wait till it finishes reloading or it might reload the url after simulating the
|
||||
// dashboard landing page click.
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
|
||||
const countOfDashboards =
|
||||
await PageObjects.dashboard.getDashboardCountWithName(dashboardName + ' copy');
|
||||
expect(countOfDashboards).to.equal(2);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
@ -9,5 +9,6 @@ export default function ({ getService, loadTestFile }) {
|
|||
loadTestFile(require.resolve('./_dashboard_save'));
|
||||
loadTestFile(require.resolve('./_dashboard_time'));
|
||||
loadTestFile(require.resolve('./_dashboard_listing'));
|
||||
loadTestFile(require.resolve('./_dashboard_clone'));
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue