1) Fixes the broken explain GUI test case.

2) Displays a tooltip "Click for details..." on hover over explain plan nodes.

refs #5488
This commit is contained in:
Aditya Toshniwal 2021-01-20 17:49:23 +05:30 committed by Akshay Joshi
parent 850afd7402
commit 57a2559f11
2 changed files with 11 additions and 4 deletions

View File

@ -313,7 +313,7 @@ class CheckForXssFeatureTest(BaseFeatureTest):
self.driver.find_element_by_css_selector(
'div.pgadmin-explain-container > svg > g > g > image'
)
).perform()
).click().perform()
break
except Exception:
if idx != 2:
@ -326,8 +326,8 @@ class CheckForXssFeatureTest(BaseFeatureTest):
)
raise
source_code = self.driver.find_element_by_id(
'toolTip').get_attribute('innerHTML')
source_code = self.driver.find_element_by_css_selector(
'.pgadmin-explain-details:not(.d-none)').get_attribute('innerHTML')
self._check_escaped_characters(
source_code,

View File

@ -947,7 +947,10 @@ define('pgadmin.misc.explain', [
IMAGE_WIDTH,
IMAGE_HEIGHT
);
image.attr({style: 'cursor: pointer'});
image.attr({
style: 'cursor: pointer',
class: 'image-node',
});
// Draw tooltip
var image_data = this.toJSON(),
@ -1478,6 +1481,10 @@ define('pgadmin.misc.explain', [
}
});
});
container.find('.image-node').tooltip({
title: gettext('Click for details...'),
template: '<div class="tooltip" role="tooltip"><div class="arrow d-none"></div><div class="tooltip-inner"></div></div>',
});
});
_renderExplainTable(ctx._explainTable, explainTable);