Skip to content

Commit

Permalink
adding selenium tests
Browse files Browse the repository at this point in the history
  • Loading branch information
ppisljar committed Oct 21, 2018
1 parent baba296 commit dbb4485
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 25 deletions.
2 changes: 1 addition & 1 deletion src/ui/public/vis/vis.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ export function VisProvider(Private, indexPatterns, getAppState) {
const { aggConfig, id: columnId } = data.columns[columnIndex];
let filter = [];
const value = rowIndex > -1 ? data.rows[rowIndex][columnId] : cellValue;
if (!value) {
if (value == null) {
return;
}
if (aggConfig.type.name === 'terms' && aggConfig.params.otherBucket) {
Expand Down
79 changes: 57 additions & 22 deletions test/functional/apps/visualize/_pie_chart.js
Original file line number Diff line number Diff line change
Expand Up @@ -89,29 +89,64 @@ export default function ({ getService, getPageObjects }) {
expect(data).to.eql(expectedTableData);
});

it('should show other and missing bucket', async function () {
const expectedTableData = [ 'win 8', 'win xp', 'win 7', 'ios', 'Missing', 'Other' ];
describe('other bucket', () => {
it('should show other and missing bucket', async function () {
const expectedTableData = [ 'win 8', 'win xp', 'win 7', 'ios', 'Missing', 'Other' ];

await PageObjects.visualize.navigateToNewVisualization();
log.debug('clickPieChart');
await PageObjects.visualize.clickPieChart();
await PageObjects.visualize.clickNewSearch();
log.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
await PageObjects.header.setAbsoluteRange(fromTime, toTime);
log.debug('select bucket Split Slices');
await PageObjects.visualize.clickBucket('Split Slices');
log.debug('Click aggregation Terms');
await PageObjects.visualize.selectAggregation('Terms');
log.debug('Click field machine.os.raw');
await PageObjects.visualize.selectField('machine.os.raw');
await PageObjects.visualize.toggleOtherBucket();
await PageObjects.visualize.toggleMissingBucket();
log.debug('clickGo');
await PageObjects.visualize.clickGo();
await PageObjects.common.sleep(1003);
const pieData = await PageObjects.visualize.getPieChartLabels();
log.debug('pieData.length = ' + pieData.length);
expect(pieData).to.eql(expectedTableData);
});

await PageObjects.visualize.navigateToNewVisualization();
log.debug('clickPieChart');
await PageObjects.visualize.clickPieChart();
await PageObjects.visualize.clickNewSearch();
log.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
await PageObjects.header.setAbsoluteRange(fromTime, toTime);
log.debug('select bucket Split Slices');
await PageObjects.visualize.clickBucket('Split Slices');
log.debug('Click aggregation Histogram');
await PageObjects.visualize.selectAggregation('Terms');
log.debug('Click field memory');
await PageObjects.visualize.selectField('machine.os.raw');
await PageObjects.visualize.toggleOtherBucket();
await PageObjects.visualize.toggleMissingBucket();
log.debug('clickGo');
await PageObjects.visualize.clickGo();
await PageObjects.common.sleep(1003);
const pieData = await PageObjects.visualize.getPieChartLabels();
log.debug('pieData.length = ' + pieData.length);
expect(pieData).to.eql(expectedTableData);
it.skip('should apply correct filter on other bucket', async () => {
const expectedTableData = [ 'win 8', 'win xp', 'win 7', 'ios', 'Missing', 'Other' ];

const pieSlice = await PageObjects.visualize.filterPieSlice('Other');
await pieSlice.click();
await PageObjects.header.waitUntilLoadingHasFinished();
const pieData = await PageObjects.visualize.getPieChartLabels();
log.debug('pieData.length = ' + pieData.length);
expect(pieData).to.eql(expectedTableData);
});

it('should show two levels of other buckets', async () => {
const expectedTableData = [ 'win 8', 'CN', 'IN', 'US', 'ID', 'BR', 'Other', 'win xp',
'CN', 'IN', 'US', 'ID', 'BR', 'Other', 'win 7', 'CN', 'IN', 'US', 'ID', 'BR', 'Other',
'ios', 'IN', 'CN', 'US', 'ID', 'BR', 'Other', 'Missing', 'CN', 'IN', 'US', 'BR', 'PK',
'Other', 'Other', 'IN', 'CN', 'US', 'ID', 'BR', 'Other' ];

await PageObjects.visualize.toggleOpenEditor(2, 'false');
await PageObjects.visualize.clickAddBucket();
await PageObjects.visualize.clickBucket('Split Slices');
await PageObjects.visualize.selectAggregation('Terms');
log.debug('Click field geo.src');
await PageObjects.visualize.selectField('geo.src');
await PageObjects.visualize.toggleOtherBucket();
await PageObjects.visualize.toggleMissingBucket();
log.debug('clickGo');
await PageObjects.visualize.clickGo();
await PageObjects.header.waitUntilLoadingHasFinished();
const pieData = await PageObjects.visualize.getPieChartLabels();
log.debug('pieData.length = ' + pieData.length);
expect(pieData).to.eql(expectedTableData);
});
});

describe('disabled aggs', () => {
Expand Down
11 changes: 9 additions & 2 deletions test/functional/page_objects/visualize_page.js
Original file line number Diff line number Diff line change
Expand Up @@ -586,11 +586,11 @@ export function VisualizePageProvider({ getService, getPageObjects }) {
}

async toggleOtherBucket() {
return await find.clickByCssSelector('input[name="showOther"]');
return await find.clickByCssSelector('vis-editor-agg-params:not(.ng-hide) input[name="showOther"]');
}

async toggleMissingBucket() {
return await find.clickByCssSelector('input[name="showMissing"]');
return await find.clickByCssSelector('vis-editor-agg-params:not(.ng-hide) input[name="showMissing"]');
}

async isApplyEnabled() {
Expand Down Expand Up @@ -1114,6 +1114,13 @@ export function VisualizePageProvider({ getService, getPageObjects }) {
return await bucketType.click();
}

async filterPieSlice(name) {
const slice = await this.getPieSlice(name);
const event = document.createEvent('SVGEvents');
event.initEvent('click', true, true);
slice.dispatchEvent(event);
}

async getPieSlice(name) {
return await testSubjects.find(`pieSlice-${name.split(' ').join('-')}`);
}
Expand Down

0 comments on commit dbb4485

Please sign in to comment.