UNPKG

kibana-with-account

Version:

kibana-with-account is develop based kibana project

139 lines (122 loc) 4.59 kB
define(function (require) { var config = require('intern').config; var Common = require('../../../support/pages/Common'); var SettingsPage = require('../../../support/pages/settings_page'); var expect = require('intern/dojo/node!expect.js'); var Promise = require('bluebird'); return function (bdd, scenarioManager) { bdd.describe('index result field sort', function describeIndexTests() { var common; var settingsPage; var remote; var defaultTimeout = config.timeouts.default; bdd.before(function () { common = new Common(this.remote); settingsPage = new SettingsPage(this.remote); remote = this.remote; return scenarioManager.reload('emptyKibana'); }); var columns = [{ heading: 'name', first: '@message', last: 'xss.raw', selector: function () { return settingsPage.getTableRow(0, 0).getVisibleText(); } }, { heading: 'type', first: '_source', last: 'string', selector: function () { return settingsPage.getTableRow(0, 1).getVisibleText(); } }]; columns.forEach(function (col) { bdd.describe('sort by heading - ' + col.heading, function indexPatternCreation() { bdd.before(function () { return settingsPage.navigateTo(); }); bdd.beforeEach(function () { return settingsPage.createIndexPattern(); }); bdd.afterEach(function () { return settingsPage.removeIndexPattern(); }); bdd.it('should sort ascending', function pageHeader() { return settingsPage.sortBy(col.heading) .then(function getText() { return col.selector(); }) .then(function (rowText) { expect(rowText).to.be(col.first); }) .catch(common.handleError(this)); }); bdd.it('should sort descending', function pageHeader() { return settingsPage.sortBy(col.heading) .then(function sortAgain() { return settingsPage.sortBy(col.heading); }) .then(function getText() { return col.selector(); }) .then(function (rowText) { expect(rowText).to.be(col.last); }) .catch(common.handleError(this)); }); }); }); bdd.describe('field list pagination', function () { var expectedDefaultPageSize = 25; var expectedFieldCount = 85; var expectedLastPageCount = 10; var pages = [1, 2, 3, 4]; bdd.before(function () { return settingsPage.navigateTo() .then(function () { return settingsPage.createIndexPattern(); }); }); bdd.after(function () { return settingsPage.removeIndexPattern(); }); bdd.it('makelogs data should have expected number of fields', function () { return common.tryForTime(defaultTimeout, function () { return settingsPage.getFieldsTabCount() .then(function (tabCount) { expect(tabCount).to.be('' + expectedFieldCount); }); }) .catch(common.handleError(this)); }); bdd.it('should have correct default page size selected', function () { return settingsPage.getPageSize() .then(function (pageSize) { expect(pageSize).to.be('' + expectedDefaultPageSize); }) .catch(common.handleError(this)); }); bdd.it('should have the correct number of rows per page', function () { var pageCount = Math.ceil(expectedFieldCount / expectedDefaultPageSize); var chain = pages.reduce(function (chain, val) { return chain.then(function () { return settingsPage.goToPage(val) .then(function () { return common.sleep(1000); }) .then(function () { return settingsPage.getPageFieldCount(); }) .then(function (pageCount) { var expectedSize = (val < 4) ? expectedDefaultPageSize : expectedLastPageCount; expect(pageCount.length).to.be(expectedSize); }); }); }, Promise.resolve()); return chain.catch(common.handleError(this)); }); }); // end describe pagination }); // end index result field sort }; });