Skip to content

Commit dbb4485

Browse files
committed
adding selenium tests
1 parent baba296 commit dbb4485

File tree

3 files changed

+67
-25
lines changed

3 files changed

+67
-25
lines changed

src/ui/public/vis/vis.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ export function VisProvider(Private, indexPatterns, getAppState) {
114114
const { aggConfig, id: columnId } = data.columns[columnIndex];
115115
let filter = [];
116116
const value = rowIndex > -1 ? data.rows[rowIndex][columnId] : cellValue;
117-
if (!value) {
117+
if (value == null) {
118118
return;
119119
}
120120
if (aggConfig.type.name === 'terms' && aggConfig.params.otherBucket) {

test/functional/apps/visualize/_pie_chart.js

Lines changed: 57 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -89,29 +89,64 @@ export default function ({ getService, getPageObjects }) {
8989
expect(data).to.eql(expectedTableData);
9090
});
9191

92-
it('should show other and missing bucket', async function () {
93-
const expectedTableData = [ 'win 8', 'win xp', 'win 7', 'ios', 'Missing', 'Other' ];
92+
describe('other bucket', () => {
93+
it('should show other and missing bucket', async function () {
94+
const expectedTableData = [ 'win 8', 'win xp', 'win 7', 'ios', 'Missing', 'Other' ];
95+
96+
await PageObjects.visualize.navigateToNewVisualization();
97+
log.debug('clickPieChart');
98+
await PageObjects.visualize.clickPieChart();
99+
await PageObjects.visualize.clickNewSearch();
100+
log.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
101+
await PageObjects.header.setAbsoluteRange(fromTime, toTime);
102+
log.debug('select bucket Split Slices');
103+
await PageObjects.visualize.clickBucket('Split Slices');
104+
log.debug('Click aggregation Terms');
105+
await PageObjects.visualize.selectAggregation('Terms');
106+
log.debug('Click field machine.os.raw');
107+
await PageObjects.visualize.selectField('machine.os.raw');
108+
await PageObjects.visualize.toggleOtherBucket();
109+
await PageObjects.visualize.toggleMissingBucket();
110+
log.debug('clickGo');
111+
await PageObjects.visualize.clickGo();
112+
await PageObjects.common.sleep(1003);
113+
const pieData = await PageObjects.visualize.getPieChartLabels();
114+
log.debug('pieData.length = ' + pieData.length);
115+
expect(pieData).to.eql(expectedTableData);
116+
});
94117

95-
await PageObjects.visualize.navigateToNewVisualization();
96-
log.debug('clickPieChart');
97-
await PageObjects.visualize.clickPieChart();
98-
await PageObjects.visualize.clickNewSearch();
99-
log.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
100-
await PageObjects.header.setAbsoluteRange(fromTime, toTime);
101-
log.debug('select bucket Split Slices');
102-
await PageObjects.visualize.clickBucket('Split Slices');
103-
log.debug('Click aggregation Histogram');
104-
await PageObjects.visualize.selectAggregation('Terms');
105-
log.debug('Click field memory');
106-
await PageObjects.visualize.selectField('machine.os.raw');
107-
await PageObjects.visualize.toggleOtherBucket();
108-
await PageObjects.visualize.toggleMissingBucket();
109-
log.debug('clickGo');
110-
await PageObjects.visualize.clickGo();
111-
await PageObjects.common.sleep(1003);
112-
const pieData = await PageObjects.visualize.getPieChartLabels();
113-
log.debug('pieData.length = ' + pieData.length);
114-
expect(pieData).to.eql(expectedTableData);
118+
it.skip('should apply correct filter on other bucket', async () => {
119+
const expectedTableData = [ 'win 8', 'win xp', 'win 7', 'ios', 'Missing', 'Other' ];
120+
121+
const pieSlice = await PageObjects.visualize.filterPieSlice('Other');
122+
await pieSlice.click();
123+
await PageObjects.header.waitUntilLoadingHasFinished();
124+
const pieData = await PageObjects.visualize.getPieChartLabels();
125+
log.debug('pieData.length = ' + pieData.length);
126+
expect(pieData).to.eql(expectedTableData);
127+
});
128+
129+
it('should show two levels of other buckets', async () => {
130+
const expectedTableData = [ 'win 8', 'CN', 'IN', 'US', 'ID', 'BR', 'Other', 'win xp',
131+
'CN', 'IN', 'US', 'ID', 'BR', 'Other', 'win 7', 'CN', 'IN', 'US', 'ID', 'BR', 'Other',
132+
'ios', 'IN', 'CN', 'US', 'ID', 'BR', 'Other', 'Missing', 'CN', 'IN', 'US', 'BR', 'PK',
133+
'Other', 'Other', 'IN', 'CN', 'US', 'ID', 'BR', 'Other' ];
134+
135+
await PageObjects.visualize.toggleOpenEditor(2, 'false');
136+
await PageObjects.visualize.clickAddBucket();
137+
await PageObjects.visualize.clickBucket('Split Slices');
138+
await PageObjects.visualize.selectAggregation('Terms');
139+
log.debug('Click field geo.src');
140+
await PageObjects.visualize.selectField('geo.src');
141+
await PageObjects.visualize.toggleOtherBucket();
142+
await PageObjects.visualize.toggleMissingBucket();
143+
log.debug('clickGo');
144+
await PageObjects.visualize.clickGo();
145+
await PageObjects.header.waitUntilLoadingHasFinished();
146+
const pieData = await PageObjects.visualize.getPieChartLabels();
147+
log.debug('pieData.length = ' + pieData.length);
148+
expect(pieData).to.eql(expectedTableData);
149+
});
115150
});
116151

117152
describe('disabled aggs', () => {

test/functional/page_objects/visualize_page.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -586,11 +586,11 @@ export function VisualizePageProvider({ getService, getPageObjects }) {
586586
}
587587

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

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

596596
async isApplyEnabled() {
@@ -1114,6 +1114,13 @@ export function VisualizePageProvider({ getService, getPageObjects }) {
11141114
return await bucketType.click();
11151115
}
11161116

1117+
async filterPieSlice(name) {
1118+
const slice = await this.getPieSlice(name);
1119+
const event = document.createEvent('SVGEvents');
1120+
event.initEvent('click', true, true);
1121+
slice.dispatchEvent(event);
1122+
}
1123+
11171124
async getPieSlice(name) {
11181125
return await testSubjects.find(`pieSlice-${name.split(' ').join('-')}`);
11191126
}

0 commit comments

Comments
 (0)