@@ -13,31 +13,62 @@ export default function ({ getPageObjects, getService }) {
1313 const filterBar = getService ( 'filterBar' ) ;
1414
1515 describe ( 'tooltip filter actions' , ( ) => {
16- before ( async ( ) => {
16+ async function loadDashboardAndOpenTooltip ( ) {
1717 await kibanaServer . uiSettings . replace ( {
1818 defaultIndex : 'c698b940-e149-11e8-a35a-370a8516603a' ,
1919 } ) ;
2020 await PageObjects . common . navigateToApp ( 'dashboard' ) ;
21+ await PageObjects . dashboard . preserveCrossAppState ( ) ;
2122 await PageObjects . dashboard . loadSavedDashboard ( 'dash for tooltip filter action test' ) ;
2223
2324 await PageObjects . maps . lockTooltipAtPosition ( 200 , - 200 ) ;
24- } ) ;
25+ }
26+
27+ describe ( 'apply filter to current view' , ( ) => {
28+ before ( async ( ) => {
29+ await loadDashboardAndOpenTooltip ( ) ;
30+ } ) ;
31+
32+ it ( 'should display create filter button when tooltip is locked' , async ( ) => {
33+ const exists = await testSubjects . exists ( 'mapTooltipCreateFilterButton' ) ;
34+ expect ( exists ) . to . be ( true ) ;
35+ } ) ;
36+
37+ it ( 'should create filters when create filter button is clicked' , async ( ) => {
38+ await testSubjects . click ( 'mapTooltipCreateFilterButton' ) ;
39+ await testSubjects . click ( 'applyFiltersPopoverButton' ) ;
40+
41+ // TODO: Fix me #64861
42+ // const hasSourceFilter = await filterBar.hasFilter('name', 'charlie');
43+ // expect(hasSourceFilter).to.be(true);
2544
26- it ( 'should display create filter button when tooltip is locked' , async ( ) => {
27- const exists = await testSubjects . exists ( 'mapTooltipCreateFilterButton' ) ;
28- expect ( exists ) . to . be ( true ) ;
45+ const hasJoinFilter = await filterBar . hasFilter ( 'shape_name' , 'charlie' ) ;
46+ expect ( hasJoinFilter ) . to . be ( true ) ;
47+ } ) ;
2948 } ) ;
3049
31- it ( 'should create filters when create filter button is clicked' , async ( ) => {
32- await testSubjects . click ( 'mapTooltipCreateFilterButton' ) ;
33- await testSubjects . click ( 'applyFiltersPopoverButton' ) ;
50+ describe ( 'panel actions' , ( ) => {
51+ before ( async ( ) => {
52+ await loadDashboardAndOpenTooltip ( ) ;
53+ } ) ;
54+
55+ it ( 'should display more actions button when tooltip is locked' , async ( ) => {
56+ const exists = await testSubjects . exists ( 'mapTooltipMoreActionsButton' ) ;
57+ expect ( exists ) . to . be ( true ) ;
58+ } ) ;
59+
60+ it ( 'should trigger drilldown action when clicked' , async ( ) => {
61+ await testSubjects . click ( 'mapTooltipMoreActionsButton' ) ;
62+ await testSubjects . click ( 'mapFilterActionButton__drilldown1' ) ;
3463
35- // TODO: Fix me #64861
36- // const hasSourceFilter = await filterBar.hasFilter('name', 'charlie');
37- // expect(hasSourceFilter).to.be(true);
64+ // Assert on new dashboard with filter from action
65+ await PageObjects . dashboard . waitForRenderComplete ( ) ;
66+ const panelCount = await PageObjects . dashboard . getPanelCount ( ) ;
67+ expect ( panelCount ) . to . equal ( 2 ) ;
3868
39- const hasJoinFilter = await filterBar . hasFilter ( 'shape_name' , 'charlie' ) ;
40- expect ( hasJoinFilter ) . to . be ( true ) ;
69+ const hasJoinFilter = await filterBar . hasFilter ( 'shape_name' , 'charlie' ) ;
70+ expect ( hasJoinFilter ) . to . be ( true ) ;
71+ } ) ;
4172 } ) ;
4273 } ) ;
4374}
0 commit comments