Added index management app loading test. (#40219) (#40656)

This commit is contained in:
John Dorlus 2019-07-09 20:12:23 +00:00 committed by GitHub
parent 4c73f89f19
commit c81132b5bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 78 additions and 2 deletions

View file

@ -414,7 +414,7 @@ export class IndexTable extends Component {
<EuiFlexGroup justifyContent="spaceBetween" alignItems="flexEnd">
<EuiFlexItem grow={false}>
<EuiTitle size="m">
<h1>
<h1 data-test-subj="sectionHeading">
<FormattedMessage
id="xpack.idxMgmt.indexTable.sectionHeading"
defaultMessage="Index Management"
@ -501,6 +501,7 @@ export class IndexTable extends Component {
loadIndices();
}}
iconType="refresh"
data-test-subj="reloadIndicesButton"
>
<FormattedMessage
id="xpack.idxMgmt.indexTable.reloadIndicesButton"

View file

@ -0,0 +1,30 @@
/*
* 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 expect from '@kbn/expect';
import { KibanaFunctionalTestDefaultProviders } from '../../../types/providers';
// eslint-disable-next-line import/no-default-export
export default ({ getPageObjects, getService }: KibanaFunctionalTestDefaultProviders) => {
const pageObjects = getPageObjects(['common', 'indexManagement']);
const log = getService('log');
describe('Home page', function() {
this.tags('smoke');
before(async () => {
await pageObjects.common.navigateToApp('indexManagement');
});
it('Loads the app', async () => {
await log.debug('Checking for section heading to say Index Management.');
const headingText = await pageObjects.indexManagement.sectionHeadingText();
expect(headingText).to.be('Index Management');
const reloadIndicesButton = await pageObjects.indexManagement.reloadIndicesButton();
expect(await reloadIndicesButton.isDisplayed()).to.be(true);
});
});
};

View file

@ -0,0 +1,15 @@
/*
* 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 ({ loadTestFile }: KibanaFunctionalTestDefaultProviders) => {
describe('Index Management app', function() {
this.tags('ciGroup3');
loadTestFile(require.resolve('./home_page'));
});
};

View file

@ -28,6 +28,7 @@ import {
RollupPageProvider,
UptimePageProvider,
LicenseManagementPageProvider,
IndexManagementPageProvider,
IndexLifecycleManagementPageProvider,
SnapshotRestorePageProvider
} from './page_objects';
@ -114,6 +115,7 @@ export default async function ({ readConfigFile }) {
resolve(__dirname, './apps/apm'),
resolve(__dirname, './apps/index_patterns'),
resolve(__dirname, './apps/license_management'),
resolve(__dirname, './apps/index_management'),
resolve(__dirname, './apps/index_lifecycle_management'),
resolve(__dirname, './apps/snapshot_restore')
],
@ -184,7 +186,8 @@ export default async function ({ readConfigFile }) {
rollup: RollupPageProvider,
licenseManagement: LicenseManagementPageProvider,
snapshotRestore: SnapshotRestorePageProvider,
indexLifecycleManagement: IndexLifecycleManagementPageProvider
indexLifecycleManagement: IndexLifecycleManagementPageProvider,
indexManagement: IndexManagementPageProvider,
},
servers: kibanaFunctionalConfig.get('servers'),
@ -287,6 +290,10 @@ export default async function ({ readConfigFile }) {
pathname: '/app/kibana',
hash: '/management/elasticsearch/license_management',
},
indexManagement: {
pathname: '/app/kibana',
hash: '/management/elasticsearch/index_management',
},
indexLifecycleManagement: {
pathname: '/app/kibana',
hash: '/management/elasticsearch/index_lifecycle_management',

View file

@ -23,5 +23,6 @@ export { CodeHomePageProvider } from './code_page';
export { RollupPageProvider } from './rollup_page';
export { UptimePageProvider } from './uptime_page';
export { LicenseManagementPageProvider } from './license_management_page';
export { IndexManagementPageProvider } from './index_management_page';
export { IndexLifecycleManagementPageProvider } from './index_lifecycle_management_page';
export { SnapshotRestorePageProvider } from './snapshot_restore_page';

View file

@ -0,0 +1,22 @@
/*
* 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';
export const IndexManagementPageProvider = ({
getService,
}: KibanaFunctionalTestDefaultProviders) => {
const testSubjects = getService('testSubjects');
return {
async sectionHeadingText() {
return await testSubjects.getVisibleText('sectionHeading');
},
async reloadIndicesButton() {
return await testSubjects.find('reloadIndicesButton');
},
};
};