Skip to content

Commit 6c3b4b2

Browse files
Functional tests: refactor visualize_page (#53845)
* add new POs and services * split visualize_page * refactor PO and tests * lost changes * more fixes * fix tslint error * refactor POs * add vega_chart_page, refactor * review fix Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
1 parent 50a5274 commit 6c3b4b2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+2419
-2259
lines changed

test/functional/apps/dashboard/dashboard_state.js

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,14 @@ import {
2727
} from '../../../../src/plugins/dashboard_embeddable_container/public/embeddable/dashboard_constants';
2828

2929
export default function({ getService, getPageObjects }) {
30-
const PageObjects = getPageObjects(['dashboard', 'visualize', 'header', 'discover']);
30+
const PageObjects = getPageObjects([
31+
'dashboard',
32+
'visualize',
33+
'header',
34+
'discover',
35+
'tileMap',
36+
'visChart',
37+
]);
3138
const testSubjects = getService('testSubjects');
3239
const browser = getService('browser');
3340
const queryBar = getService('queryBar');
@@ -58,14 +65,14 @@ export default function({ getService, getPageObjects }) {
5865

5966
await PageObjects.dashboard.switchToEditMode();
6067

61-
await PageObjects.visualize.openLegendOptionColors('Count');
62-
await PageObjects.visualize.selectNewLegendColorChoice('#EA6460');
68+
await PageObjects.visChart.openLegendOptionColors('Count');
69+
await PageObjects.visChart.selectNewLegendColorChoice('#EA6460');
6370

6471
await PageObjects.dashboard.saveDashboard('Overridden colors');
6572

6673
await PageObjects.dashboard.gotoDashboardLandingPage();
6774
await PageObjects.dashboard.loadSavedDashboard('Overridden colors');
68-
const colorChoiceRetained = await PageObjects.visualize.doesSelectedLegendColorExist(
75+
const colorChoiceRetained = await PageObjects.visChart.doesSelectedLegendColorExist(
6976
'#EA6460'
7077
);
7178

@@ -153,10 +160,10 @@ export default function({ getService, getPageObjects }) {
153160
await dashboardPanelActions.openContextMenu();
154161
await dashboardPanelActions.clickEdit();
155162

156-
await PageObjects.visualize.clickMapZoomIn();
157-
await PageObjects.visualize.clickMapZoomIn();
158-
await PageObjects.visualize.clickMapZoomIn();
159-
await PageObjects.visualize.clickMapZoomIn();
163+
await PageObjects.tileMap.clickMapZoomIn();
164+
await PageObjects.tileMap.clickMapZoomIn();
165+
await PageObjects.tileMap.clickMapZoomIn();
166+
await PageObjects.tileMap.clickMapZoomIn();
160167

161168
await PageObjects.visualize.saveVisualizationExpectSuccess('Visualization TileMap');
162169

@@ -225,8 +232,8 @@ export default function({ getService, getPageObjects }) {
225232
describe('for embeddable config color parameters on a visualization', () => {
226233
it('updates a pie slice color on a soft refresh', async function() {
227234
await dashboardAddPanel.addVisualization(PIE_CHART_VIS_NAME);
228-
await PageObjects.visualize.openLegendOptionColors('80,000');
229-
await PageObjects.visualize.selectNewLegendColorChoice('#F9D9F9');
235+
await PageObjects.visChart.openLegendOptionColors('80,000');
236+
await PageObjects.visChart.selectNewLegendColorChoice('#F9D9F9');
230237
const currentUrl = await browser.getCurrentUrl();
231238
const newUrl = currentUrl.replace('F9D9F9', 'FFFFFF');
232239
await browser.get(newUrl.toString(), false);
@@ -248,7 +255,7 @@ export default function({ getService, getPageObjects }) {
248255
// Unskip once https://github.com/elastic/kibana/issues/15736 is fixed.
249256
it.skip('and updates the pie slice legend color', async function() {
250257
await retry.try(async () => {
251-
const colorExists = await PageObjects.visualize.doesSelectedLegendColorExist('#FFFFFF');
258+
const colorExists = await PageObjects.visChart.doesSelectedLegendColorExist('#FFFFFF');
252259
expect(colorExists).to.be(true);
253260
});
254261
});
@@ -269,7 +276,7 @@ export default function({ getService, getPageObjects }) {
269276
// Unskip once https://github.com/elastic/kibana/issues/15736 is fixed.
270277
it.skip('resets the legend color as well', async function() {
271278
await retry.try(async () => {
272-
const colorExists = await PageObjects.visualize.doesSelectedLegendColorExist('#57c17b');
279+
const colorExists = await PageObjects.visChart.doesSelectedLegendColorExist('#57c17b');
273280
expect(colorExists).to.be(true);
274281
});
275282
});

test/functional/apps/getting_started/_shakespeare.js

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,14 @@ export default function({ getService, getPageObjects }) {
2323
const log = getService('log');
2424
const esArchiver = getService('esArchiver');
2525
const retry = getService('retry');
26-
const PageObjects = getPageObjects(['console', 'common', 'settings', 'visualize']);
26+
const PageObjects = getPageObjects([
27+
'console',
28+
'common',
29+
'settings',
30+
'visualize',
31+
'visEditor',
32+
'visChart',
33+
]);
2734

2835
// https://www.elastic.co/guide/en/kibana/current/tutorial-load-dataset.html
2936

@@ -63,11 +70,11 @@ export default function({ getService, getPageObjects }) {
6370
await PageObjects.visualize.navigateToNewVisualization();
6471
await PageObjects.visualize.clickVerticalBarChart();
6572
await PageObjects.visualize.clickNewSearch('shakes*');
66-
await PageObjects.visualize.waitForVisualization();
73+
await PageObjects.visChart.waitForVisualization();
6774

6875
const expectedChartValues = [111396];
6976
await retry.try(async () => {
70-
const data = await PageObjects.visualize.getBarChartData('Count');
77+
const data = await PageObjects.visChart.getBarChartData('Count');
7178
log.debug('data=' + data);
7279
log.debug('data.length=' + data.length);
7380
expect(data[0] - expectedChartValues[0]).to.be.lessThan(5);
@@ -84,22 +91,22 @@ export default function({ getService, getPageObjects }) {
8491
it('should configure metric Unique Count Speaking Parts', async function() {
8592
log.debug('Metric = Unique Count, speaker, Speaking Parts');
8693
// this first change to the YAxis metric agg uses the default aggIndex of 1
87-
await PageObjects.visualize.selectYAxisAggregation(
94+
await PageObjects.visEditor.selectYAxisAggregation(
8895
'Unique Count',
8996
'speaker',
9097
'Speaking Parts'
9198
);
9299
// then increment the aggIndex for the next one we create
93100
aggIndex = aggIndex + 1;
94-
await PageObjects.visualize.clickGo();
101+
await PageObjects.visEditor.clickGo();
95102
const expectedChartValues = [935];
96103
await retry.try(async () => {
97-
const data = await PageObjects.visualize.getBarChartData('Speaking Parts');
104+
const data = await PageObjects.visChart.getBarChartData('Speaking Parts');
98105
log.debug('data=' + data);
99106
log.debug('data.length=' + data.length);
100107
expect(data).to.eql(expectedChartValues);
101108
});
102-
const title = await PageObjects.visualize.getYAxisTitle();
109+
const title = await PageObjects.visChart.getYAxisTitle();
103110
expect(title).to.be('Speaking Parts');
104111
});
105112

@@ -110,23 +117,23 @@ export default function({ getService, getPageObjects }) {
110117
5. Click Apply changes images/apply-changes-button.png to view the results.
111118
*/
112119
it('should configure Terms aggregation on play_name', async function() {
113-
await PageObjects.visualize.clickBucket('X-axis');
120+
await PageObjects.visEditor.clickBucket('X-axis');
114121
log.debug('Aggregation = Terms');
115-
await PageObjects.visualize.selectAggregation('Terms');
122+
await PageObjects.visEditor.selectAggregation('Terms');
116123
aggIndex = aggIndex + 1;
117124
log.debug('Field = play_name');
118-
await PageObjects.visualize.selectField('play_name');
119-
await PageObjects.visualize.clickGo();
125+
await PageObjects.visEditor.selectField('play_name');
126+
await PageObjects.visEditor.clickGo();
120127

121128
const expectedChartValues = [71, 65, 62, 55, 55];
122129
await retry.try(async () => {
123-
const data = await PageObjects.visualize.getBarChartData('Speaking Parts');
130+
const data = await PageObjects.visChart.getBarChartData('Speaking Parts');
124131
log.debug('data=' + data);
125132
log.debug('data.length=' + data.length);
126133
expect(data).to.eql(expectedChartValues);
127134
});
128135

129-
const labels = await PageObjects.visualize.getXAxisLabels();
136+
const labels = await PageObjects.visChart.getXAxisLabels();
130137
expect(labels).to.eql([
131138
'Richard III',
132139
'Henry VI Part 2',
@@ -145,21 +152,21 @@ export default function({ getService, getPageObjects }) {
145152
2. Choose the Max aggregation and select the speech_number field.
146153
*/
147154
it('should configure Max aggregation metric on speech_number', async function() {
148-
await PageObjects.visualize.clickBucket('Y-axis', 'metrics');
155+
await PageObjects.visEditor.clickBucket('Y-axis', 'metrics');
149156
log.debug('Aggregation = Max');
150-
await PageObjects.visualize.selectYAxisAggregation(
157+
await PageObjects.visEditor.selectYAxisAggregation(
151158
'Max',
152159
'speech_number',
153160
'Max Speaking Parts',
154161
aggIndex
155162
);
156-
await PageObjects.visualize.clickGo();
163+
await PageObjects.visEditor.clickGo();
157164

158165
const expectedChartValues = [71, 65, 62, 55, 55];
159166
const expectedChartValues2 = [177, 106, 153, 132, 162];
160167
await retry.try(async () => {
161-
const data = await PageObjects.visualize.getBarChartData('Speaking Parts');
162-
const data2 = await PageObjects.visualize.getBarChartData('Max Speaking Parts');
168+
const data = await PageObjects.visChart.getBarChartData('Speaking Parts');
169+
const data2 = await PageObjects.visChart.getBarChartData('Max Speaking Parts');
163170
log.debug('data=' + data);
164171
log.debug('data.length=' + data.length);
165172
log.debug('data2=' + data2);
@@ -168,7 +175,7 @@ export default function({ getService, getPageObjects }) {
168175
expect(data2).to.eql(expectedChartValues2);
169176
});
170177

171-
const labels = await PageObjects.visualize.getXAxisLabels();
178+
const labels = await PageObjects.visChart.getXAxisLabels();
172179
expect(labels).to.eql([
173180
'Richard III',
174181
'Henry VI Part 2',
@@ -184,15 +191,15 @@ export default function({ getService, getPageObjects }) {
184191
4. Click Apply changes images/apply-changes-button.png. Your chart should now look like this:
185192
*/
186193
it('should configure change options to normal bars', async function() {
187-
await PageObjects.visualize.clickMetricsAndAxes();
188-
await PageObjects.visualize.selectChartMode('normal');
189-
await PageObjects.visualize.clickGo();
194+
await PageObjects.visEditor.clickMetricsAndAxes();
195+
await PageObjects.visEditor.selectChartMode('normal');
196+
await PageObjects.visEditor.clickGo();
190197

191198
const expectedChartValues = [71, 65, 62, 55, 55];
192199
const expectedChartValues2 = [177, 106, 153, 132, 162];
193200
await retry.try(async () => {
194-
const data = await PageObjects.visualize.getBarChartData('Speaking Parts');
195-
const data2 = await PageObjects.visualize.getBarChartData('Max Speaking Parts');
201+
const data = await PageObjects.visChart.getBarChartData('Speaking Parts');
202+
const data2 = await PageObjects.visChart.getBarChartData('Max Speaking Parts');
196203
log.debug('data=' + data);
197204
log.debug('data.length=' + data.length);
198205
log.debug('data2=' + data2);
@@ -210,15 +217,15 @@ export default function({ getService, getPageObjects }) {
210217
Save this chart with the name Bar Example.
211218
*/
212219
it('should change the Y-Axis extents', async function() {
213-
await PageObjects.visualize.setAxisExtents('50', '250');
214-
await PageObjects.visualize.clickGo();
220+
await PageObjects.visEditor.setAxisExtents('50', '250');
221+
await PageObjects.visEditor.clickGo();
215222

216223
// same values as previous test except scaled down by the 50 for Y-Axis min
217224
const expectedChartValues = [21, 15, 12, 5, 5];
218225
const expectedChartValues2 = [127, 56, 103, 82, 112];
219226
await retry.try(async () => {
220-
const data = await PageObjects.visualize.getBarChartData('Speaking Parts');
221-
const data2 = await PageObjects.visualize.getBarChartData('Max Speaking Parts');
227+
const data = await PageObjects.visChart.getBarChartData('Speaking Parts');
228+
const data2 = await PageObjects.visChart.getBarChartData('Max Speaking Parts');
222229
log.debug('data=' + data);
223230
log.debug('data.length=' + data.length);
224231
log.debug('data2=' + data2);

0 commit comments

Comments
 (0)