Skip to content

Commit a210fef

Browse files
committed
add functional test
1 parent 585a49a commit a210fef

3 files changed

Lines changed: 109 additions & 0 deletions

File tree

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the Elastic License
4+
* 2.0; you may not use this file except in compliance with the Elastic License
5+
* 2.0.
6+
*/
7+
8+
export default function ({ getPageObjects, getService }) {
9+
const PageObjects = getPageObjects(['common', 'dashboard', 'header', 'lens', 'maps']);
10+
11+
const testSubjects = getService('testSubjects');
12+
const dashboardPanelActions = getService('dashboardPanelActions');
13+
const security = getService('security');
14+
15+
describe('filter by map extent', () => {
16+
before(async () => {
17+
await security.testUser.setRoles(
18+
['test_logstash_reader', 'global_maps_all', 'global_dashboard_all'],
19+
false
20+
);
21+
await PageObjects.common.navigateToApp('dashboard');
22+
await PageObjects.dashboard.gotoDashboardEditMode('filter by map extent dashboard');
23+
await PageObjects.header.waitUntilLoadingHasFinished();
24+
await PageObjects.dashboard.waitForRenderComplete();
25+
});
26+
27+
after(async () => {
28+
await security.testUser.restoreDefaults();
29+
});
30+
31+
it('should not filter dashboard by map extent before "filter by map extent" is enabled', async () => {
32+
await PageObjects.lens.assertMetric('Count of records', '6');
33+
});
34+
35+
it('should filter dashboard by map extent when "filter by map extent" is enabled', async () => {
36+
const mapPanelHeader = await dashboardPanelActions.getPanelHeading('document example');
37+
await dashboardPanelActions.openContextMenuMorePanel(mapPanelHeader);
38+
await await testSubjects.click('embeddablePanelAction-FILTER_BY_MAP_EXTENT');
39+
await PageObjects.header.waitUntilLoadingHasFinished();
40+
41+
await PageObjects.lens.assertMetric('Count of records', '1');
42+
});
43+
44+
it('should filter dashboard by new map extent when map is moved', async () => {
45+
await PageObjects.maps.setView(32.95539, -93.93054, 5);
46+
await PageObjects.header.waitUntilLoadingHasFinished();
47+
await PageObjects.lens.assertMetric('Count of records', '2');
48+
});
49+
50+
it('should remove map extent filter dashboard when "filter by map extent" is disabled', async () => {
51+
const mapPanelHeader = await dashboardPanelActions.getPanelHeading('document example');
52+
await dashboardPanelActions.openContextMenuMorePanel(mapPanelHeader);
53+
await await testSubjects.click('embeddablePanelAction-FILTER_BY_MAP_EXTENT');
54+
await PageObjects.header.waitUntilLoadingHasFinished();
55+
await PageObjects.lens.assertMetric('Count of records', '6');
56+
});
57+
});
58+
}

x-pack/test/functional/apps/maps/embeddable/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@ export default function ({ loadTestFile }) {
1313
loadTestFile(require.resolve('./embeddable_library'));
1414
loadTestFile(require.resolve('./embeddable_state'));
1515
loadTestFile(require.resolve('./tooltip_filter_actions'));
16+
loadTestFile(require.resolve('./filter_by_map_extent'));
1617
});
1718
}

x-pack/test/functional/es_archives/maps/kibana/data.json

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1149,6 +1149,56 @@
11491149
}
11501150
}
11511151

1152+
{
1153+
"type": "doc",
1154+
"value": {
1155+
"id": "dashboard:42f6f040-b34f-11eb-8c95-dd19591c63df",
1156+
"index": ".kibana",
1157+
"source": {
1158+
"dashboard": {
1159+
"title" : "filter by map extent dashboard",
1160+
"hits" : 0,
1161+
"description" : "",
1162+
"panelsJSON" : "[{\"version\":\"8.0.0\",\"type\":\"map\",\"gridData\":{\"x\":0,\"y\":0,\"w\":29,\"h\":21,\"i\":\"24ade730-afe4-42b6-919a-c4e0a98c94f2\"},\"panelIndex\":\"24ade730-afe4-42b6-919a-c4e0a98c94f2\",\"embeddableConfig\":{\"mapCenter\":{\"lat\":38.64679,\"lon\":-120.96481,\"zoom\":7.06},\"mapBuffer\":{\"minLon\":-125.44180499999999,\"minLat\":36.364824999999996,\"maxLon\":-116.603825,\"maxLat\":40.943405},\"isLayerTOCOpen\":true,\"openTOCDetails\":[],\"hiddenLayers\":[],\"enhancements\":{}},\"panelRefName\":\"panel_24ade730-afe4-42b6-919a-c4e0a98c94f2\"},{\"version\":\"8.0.0\",\"type\":\"lens\",\"gridData\":{\"x\":29,\"y\":0,\"w\":10,\"h\":21,\"i\":\"44eb3c47-f6ad-4da8-993b-13c10997d585\"},\"panelIndex\":\"44eb3c47-f6ad-4da8-993b-13c10997d585\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"type\":\"lens\",\"visualizationType\":\"lnsMetric\",\"state\":{\"datasourceStates\":{\"indexpattern\":{\"layers\":{\"3cda3519-055a-4b9c-8759-caa28388298c\":{\"columns\":{\"26acba84-22ca-4625-b2ac-5309945e9b30\":{\"label\":\"Count of records\",\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"Records\"}},\"columnOrder\":[\"26acba84-22ca-4625-b2ac-5309945e9b30\"],\"incompleteColumns\":{}}}}},\"visualization\":{\"layerId\":\"3cda3519-055a-4b9c-8759-caa28388298c\",\"accessor\":\"26acba84-22ca-4625-b2ac-5309945e9b30\"},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[]},\"references\":[{\"type\":\"index-pattern\",\"id\":\"c698b940-e149-11e8-a35a-370a8516603a\",\"name\":\"indexpattern-datasource-current-indexpattern\"},{\"type\":\"index-pattern\",\"id\":\"c698b940-e149-11e8-a35a-370a8516603a\",\"name\":\"indexpattern-datasource-layer-3cda3519-055a-4b9c-8759-caa28388298c\"}]},\"enhancements\":{},\"hidePanelTitles\":false},\"title\":\"Count panel\"}]",
1163+
"optionsJSON" : "{\"hidePanelTitles\":false,\"useMargins\":true}",
1164+
"version" : 1,
1165+
"timeRestore" : true,
1166+
"timeTo" : "2015-09-20T01:00:00.000Z",
1167+
"timeFrom" : "2015-09-20T00:00:00.000Z",
1168+
"refreshInterval" : {
1169+
"pause" : true,
1170+
"value" : 1000
1171+
},
1172+
"kibanaSavedObjectMeta" : {
1173+
"searchSourceJSON" : "{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[]}"
1174+
}
1175+
},
1176+
"type" : "dashboard",
1177+
"references" : [
1178+
{
1179+
"name" : "24ade730-afe4-42b6-919a-c4e0a98c94f2:panel_24ade730-afe4-42b6-919a-c4e0a98c94f2",
1180+
"type" : "map",
1181+
"id" : "d2e73f40-e14a-11e8-a35a-370a8516603a"
1182+
},
1183+
{
1184+
"type" : "index-pattern",
1185+
"id" : "c698b940-e149-11e8-a35a-370a8516603a",
1186+
"name" : "44eb3c47-f6ad-4da8-993b-13c10997d585:indexpattern-datasource-current-indexpattern"
1187+
},
1188+
{
1189+
"type" : "index-pattern",
1190+
"id" : "c698b940-e149-11e8-a35a-370a8516603a",
1191+
"name" : "44eb3c47-f6ad-4da8-993b-13c10997d585:indexpattern-datasource-layer-3cda3519-055a-4b9c-8759-caa28388298c"
1192+
}
1193+
],
1194+
"migrationVersion" : {
1195+
"dashboard" : "7.11.0"
1196+
},
1197+
"updated_at" : "2021-05-12T18:24:17.228Z"
1198+
}
1199+
}
1200+
}
1201+
11521202
{
11531203
"type": "doc",
11541204
"value": {

0 commit comments

Comments
 (0)