mirror of
https://github.com/elastic/kibana.git
synced 2025-04-25 02:09:32 -04:00
* [jest] disallow invalid describe calls * correct other describe calls * remove unnecessary glob * cast decribe names to strings * remove new async describe function # Conflicts: # x-pack/legacy/plugins/index_management/__jest__/client_integration/home.test.ts # x-pack/test/functional/apps/uptime/monitor.ts
110 lines
3.7 KiB
TypeScript
110 lines
3.7 KiB
TypeScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the Elastic License;
|
|
* you may not use this file except in compliance with the Elastic License.
|
|
*/
|
|
import { KibanaFunctionalTestDefaultProviders } from '../../../types/providers';
|
|
|
|
// eslint-disable-next-line import/no-default-export
|
|
export default function spaceSelectorFunctonalTests({
|
|
getService,
|
|
getPageObjects,
|
|
}: KibanaFunctionalTestDefaultProviders) {
|
|
const esArchiver = getService('esArchiver');
|
|
const PageObjects = getPageObjects([
|
|
'common',
|
|
'dashboard',
|
|
'header',
|
|
'home',
|
|
'security',
|
|
'spaceSelector',
|
|
]);
|
|
|
|
describe('Spaces', function() {
|
|
this.tags('smoke');
|
|
describe('Space Selector', () => {
|
|
before(async () => await esArchiver.load('spaces/selector'));
|
|
after(async () => await esArchiver.unload('spaces/selector'));
|
|
|
|
afterEach(async () => {
|
|
await PageObjects.security.logout();
|
|
});
|
|
|
|
it('allows user to navigate to different spaces', async () => {
|
|
const spaceId = 'another-space';
|
|
|
|
await PageObjects.security.login(null, null, {
|
|
expectSpaceSelector: true,
|
|
});
|
|
|
|
await PageObjects.spaceSelector.clickSpaceCard(spaceId);
|
|
|
|
await PageObjects.spaceSelector.expectHomePage(spaceId);
|
|
|
|
await PageObjects.spaceSelector.openSpacesNav();
|
|
|
|
// change spaces
|
|
|
|
await PageObjects.spaceSelector.clickSpaceAvatar('default');
|
|
|
|
await PageObjects.spaceSelector.expectHomePage('default');
|
|
});
|
|
});
|
|
|
|
describe('Spaces Data', () => {
|
|
const spaceId = 'another-space';
|
|
const sampleDataHash = '/home/tutorial_directory/sampleData';
|
|
|
|
const expectDashboardRenders = async (dashName: string) => {
|
|
await PageObjects.dashboard.searchForDashboardWithName(dashName);
|
|
await PageObjects.dashboard.selectDashboard(dashName);
|
|
await PageObjects.header.waitUntilLoadingHasFinished();
|
|
await PageObjects.dashboard.waitForRenderComplete(); // throws if all items are not rendered
|
|
};
|
|
|
|
before(async () => {
|
|
await esArchiver.load('spaces/selector');
|
|
await PageObjects.security.login(null, null, {
|
|
expectSpaceSelector: true,
|
|
});
|
|
await PageObjects.spaceSelector.clickSpaceCard('default');
|
|
await PageObjects.common.navigateToApp('home', {
|
|
hash: sampleDataHash,
|
|
});
|
|
await PageObjects.home.addSampleDataSet('logs');
|
|
await PageObjects.common.navigateToApp('home', {
|
|
hash: sampleDataHash,
|
|
basePath: `/s/${spaceId}`,
|
|
});
|
|
await PageObjects.home.addSampleDataSet('logs');
|
|
});
|
|
|
|
after(async () => {
|
|
// No need to remove the same sample data in both spaces, the index
|
|
// data will be removed in the first call. By feature limitation,
|
|
// the created saved objects in the second space will be broken but removed
|
|
// when we call esArchiver.unload('spaces').
|
|
await PageObjects.common.navigateToApp('home', {
|
|
hash: sampleDataHash,
|
|
});
|
|
await PageObjects.home.removeSampleDataSet('logs');
|
|
await PageObjects.security.logout();
|
|
await esArchiver.unload('spaces/selector');
|
|
});
|
|
|
|
describe('displays separate data for each space', () => {
|
|
it('in the default space', async () => {
|
|
await PageObjects.common.navigateToApp('dashboard');
|
|
await expectDashboardRenders('[Logs] Web Traffic');
|
|
});
|
|
|
|
it('in a custom space', async () => {
|
|
await PageObjects.common.navigateToApp('dashboard', {
|
|
basePath: `/s/${spaceId}`,
|
|
});
|
|
await expectDashboardRenders('[Logs] Web Traffic');
|
|
});
|
|
});
|
|
});
|
|
});
|
|
}
|