Added _index_pattern_results_sort.

This commit is contained in:
LeeDr 2015-11-02 18:29:18 -06:00 committed by Joe Fleming
parent 5176ce0819
commit 47da19d9c0
4 changed files with 205 additions and 42 deletions

View file

@ -9,7 +9,6 @@ define(function (require) {
var common;
var settingsPage;
var remote;
var expectedAlertText = 'Are you sure you want to remove this index pattern?';
bdd.before(function () {
common = new Common(this.remote);
@ -18,38 +17,17 @@ define(function (require) {
});
function createIndex() {
return settingsPage.selectTimeFieldOption('@timestamp')
.then(function () {
return settingsPage.getCreateButton().click();
});
}
function removeIndex() {
return common.tryForTime(3000, function () {
// delete the index pattern -X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X
return settingsPage.clickDeletePattern();
})
.then(function () {
return common.tryForTime(3000, function () {
return remote.getAlertText()
.then(function (alertText) {
expect(alertText).to.be(expectedAlertText);
});
});
})
.then(function () {
return remote.acceptAlert();
});
}
bdd.describe('index pattern creation', function indexPatternCreation() {
bdd.beforeEach(function be() {
return createIndex();
return settingsPage.createIndex();
});
bdd.afterEach(function ae() {
return removeIndex();
var expectedAlertText = 'Are you sure you want to remove this index pattern?';
return settingsPage.removeIndex()
.then(function (alertText) {
expect(alertText).to.be(expectedAlertText);
});
});
bdd.it('should have index pattern in page header', function pageHeader() {
@ -99,7 +77,16 @@ define(function (require) {
});
});
bdd.describe('index pattern deletion', function indexDelete() {
bdd.beforeEach(function be() {
return settingsPage.createIndex()
.then(function () {
return settingsPage.removeIndex();
});
});
bdd.it('should return to index pattern creation page', function returnToPage() {
return common.tryForTime(5000, function () {
return settingsPage.getCreateButton();

View file

@ -0,0 +1,136 @@
define(function (require) {
var Common = require('../../../support/pages/Common');
var SettingsPage = require('../../../support/pages/SettingsPage');
var expect = require('intern/dojo/node!expect.js');
var Promise = require('bluebird');
return function (bdd) {
bdd.describe('index result field sort', function describeIndexTests() {
var common;
var settingsPage;
var remote;
bdd.before(function () {
common = new Common(this.remote);
settingsPage = new SettingsPage(this.remote);
remote = this.remote;
});
bdd.beforeEach(function be() {
return settingsPage.createIndex();
});
bdd.afterEach(function ae() {
return settingsPage.removeIndex();
});
bdd.describe('sort by name', function indexPatternCreation() {
bdd.it('should sort ascending', function pageHeader() {
return settingsPage.sortBy('name')
.then(function getText() {
return settingsPage.getTableRow(0, 0).getVisibleText();
})
.then(function (rowText) {
expect(rowText).to.be('@message');
})
.catch(common.handleError(this));
});
bdd.it('should sort descending', function pageHeader() {
return settingsPage.sortBy('name')
.then(function sortAgain() {
return settingsPage.sortBy('name');
})
.then(function getText() {
return settingsPage.getTableRow(0, 0).getVisibleText();
})
.then(function (rowText) {
expect(rowText).to.be('xss.raw');
})
.catch(common.handleError(this));
});
});
bdd.describe('sort by type', function indexPatternCreation() {
bdd.it('should sort ascending', function pageHeader() {
return settingsPage.sortBy('type')
.then(function getText() {
return settingsPage.getTableRow(0, 1).getVisibleText();
})
.then(function (rowText) {
expect(rowText).to.be('_source');
})
.catch(common.handleError(this));
});
bdd.it('should sort descending', function pageHeader() {
return settingsPage.sortBy('type')
.then(function sortAgain() {
return settingsPage.sortBy('type');
})
.then(function getText() {
return settingsPage.getTableRow(0, 1).getVisibleText();
})
.then(function (rowText) {
expect(rowText).to.be('string');
})
.catch(common.handleError(this));
});
});
bdd.describe('pagination', function () {
var expectedDefaultPageSize = 25;
var expectedFieldCount = 85;
var expectedLastPageCount = 10;
var pages = [1, 2, 3, 4];
bdd.it('makelogs data should have expected number of fields', function () {
return common.sleep(1000)
.then(function () {
return common.tryForTime(5000, 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
};
});

View file

@ -12,7 +12,7 @@ define(function (require) {
var createButtonTest = require('./_create_button');
var namePatternCheckboxTest = require('./_name_pattern_checkbox');
var indexPatternCreateDeleteTest = require('./_index_pattern_create_delete');
// var indexPatternResultsSortTest = require('./_index_pattern_results_sort');
var indexPatternResultsSortTest = require('./_index_pattern_results_sort');
// var indexPatternPopularityTest = require('./_index_pattern_popularity');
bdd.describe('settings app', function () {
@ -62,12 +62,14 @@ define(function (require) {
return scenarioManager.unload('makelogs');
});
initialStateTest(bdd);
// initialStateTest(bdd);
//
// createButtonTest(bdd);
//
// namePatternCheckboxTest(bdd);
//
// indexPatternCreateDeleteTest(bdd);
createButtonTest(bdd);
namePatternCheckboxTest(bdd);
indexPatternCreateDeleteTest(bdd);
indexPatternResultsSortTest(bdd);
});
});

View file

@ -119,13 +119,10 @@ define(function (require) {
getFieldsTabCount: function getFieldsTabCount() {
return this.remote.setFindTimeout(defaultTimeout)
// passing in zero-based index, but adding 1 for css 1-based indexes
.findByCssSelector('li.kbn-settings-tab.ng-scope.active a.ng-binding small.ng-binding')
.then(function (tabData) {
return tabData.getVisibleText()
.then(function (theText) {
// the value has () around it, remove them
return theText.replace(/\((.*)\)/, '$1');
});
.findByCssSelector('li.kbn-settings-tab.ng-scope.active a.ng-binding small.ng-binding').getVisibleText()
.then(function (theText) {
// the value has () around it, remove them
return theText.replace(/\((.*)\)/, '$1');
});
},
@ -227,6 +224,47 @@ define(function (require) {
.then(function (button) {
return button.click();
});
},
createIndex: function createIndex() {
var self = this;
return this.selectTimeFieldOption('@timestamp')
.then(function () {
return self.getCreateButton().click();
})
.then(function () {
return common.tryForTime(3000, function () {
return self.remote.getCurrentUrl()
.then(function (currentUrl) {
if (!currentUrl.match(/indices\/.+\?/)) {
throw new Error('Index pattern not created');
}
});
});
});
},
removeIndex: function removeIndex() {
var self = this;
var alertText;
return common.tryForTime(3000, function () {
// delete the index pattern -X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X
return self.clickDeletePattern();
})
.then(function () {
return common.tryForTime(3000, function () {
return self.remote.getAlertText()
.then(function (text) {
alertText = text;
});
});
})
.then(function () {
return self.remote.acceptAlert();
})
.then(function () {
return alertText;
});
}
};