From 9a8d520abd61388fd2314a107c5a0501524badde Mon Sep 17 00:00:00 2001 From: Aditya Toshniwal Date: Thu, 14 Nov 2024 14:49:07 +0530 Subject: [PATCH] Fix few issues found in menu rendering code and GUI test cases --- web/pgadmin/browser/server_groups/servers/static/js/server.js | 4 ++++ web/pgadmin/browser/static/js/MainMenuFactory.js | 4 ++-- web/pgadmin/browser/static/js/browser.js | 1 + web/pgadmin/tools/search_objects/static/js/index.js | 1 - web/regression/feature_tests/browser_tool_bar_test.py | 2 ++ web/regression/feature_utils/pgadmin_page.py | 3 ++- 6 files changed, 11 insertions(+), 4 deletions(-) diff --git a/web/pgadmin/browser/server_groups/servers/static/js/server.js b/web/pgadmin/browser/server_groups/servers/static/js/server.js index b100965cf..891b95865 100644 --- a/web/pgadmin/browser/server_groups/servers/static/js/server.js +++ b/web/pgadmin/browser/server_groups/servers/static/js/server.js @@ -73,6 +73,10 @@ define('pgadmin.node.server', [ this.initialized = true; + pgBrowser.add_menu_category({ + name: 'server', label: gettext('Server'), priority: 1 + }); + pgBrowser.add_menus([{ name: 'create_server_on_sg', node: 'server_group', module: this, applies: ['object', 'context'], callback: 'show_obj_properties', diff --git a/web/pgadmin/browser/static/js/MainMenuFactory.js b/web/pgadmin/browser/static/js/MainMenuFactory.js index eb3dc9cce..6894ed354 100644 --- a/web/pgadmin/browser/static/js/MainMenuFactory.js +++ b/web/pgadmin/browser/static/js/MainMenuFactory.js @@ -49,8 +49,8 @@ export default class MainMenuFactory { MAIN_MENUS.forEach((_menu) => { let menuObj = Menu.create(_menu.name, _menu.label, _menu.id, _menu.index, _menu.addSeprator, _menu.hasDynamicMenuItems); pgAdmin.Browser.MainMenus.push(menuObj); - // Don't add menuItems for Object menu as it's menuItems get changed on tree selection. - if(_menu.name !== 'object') { + // Don't add menuItems for hasDynamicMenuItems true as it's menuItems get changed on tree selection. + if(!_menu.hasDynamicMenuItems) { menuObj.clearMenuItems(); menuObj.addMenuItems(MainMenuFactory.createMenuItems(pgAdmin.Browser.all_menus_cache[_menu.name])); } diff --git a/web/pgadmin/browser/static/js/browser.js b/web/pgadmin/browser/static/js/browser.js index 8bbdab789..58123dedb 100644 --- a/web/pgadmin/browser/static/js/browser.js +++ b/web/pgadmin/browser/static/js/browser.js @@ -314,6 +314,7 @@ define('pgadmin.browser', [ add_menu_category: function({name, ...options}) { this.menu_categories[name] = { + name: name, label: '(No Label)', priority: 10, icon: '', diff --git a/web/pgadmin/tools/search_objects/static/js/index.js b/web/pgadmin/tools/search_objects/static/js/index.js index 3917af53a..c6098c34c 100644 --- a/web/pgadmin/tools/search_objects/static/js/index.js +++ b/web/pgadmin/tools/search_objects/static/js/index.js @@ -44,7 +44,6 @@ export default class SearchObjectModule { enable: this.search_objects_enabled, priority: 3, label: gettext('Search Objects...'), - below: true, data: { data_disabled: gettext('Please select a database from the object explorer to search the database objects.'), }, diff --git a/web/regression/feature_tests/browser_tool_bar_test.py b/web/regression/feature_tests/browser_tool_bar_test.py index dd02ff7f9..45d30a91c 100644 --- a/web/regression/feature_tests/browser_tool_bar_test.py +++ b/web/regression/feature_tests/browser_tool_bar_test.py @@ -9,6 +9,7 @@ import sys import secrets +import time from regression.python_test_utils import test_utils from regression.feature_utils.locators import BrowserToolBarLocators @@ -86,6 +87,7 @@ class BrowserToolBarFeatureTest(BaseFeatureTest): table_node = self.page.check_if_element_exists_with_scroll( TreeAreaLocators.table_node(self.test_table_name)) table_node.click() + time.sleep(2) self.assertTrue(self.page.retry_click( (By.CSS_SELECTOR, diff --git a/web/regression/feature_utils/pgadmin_page.py b/web/regression/feature_utils/pgadmin_page.py index 2b5a7f296..8f8a37610 100644 --- a/web/regression/feature_utils/pgadmin_page.py +++ b/web/regression/feature_utils/pgadmin_page.py @@ -1253,7 +1253,8 @@ class PgadminPage: WebDriverWait(self.driver, 10).until( EC.visibility_of_element_located(verify_locator)) click_status = True - except Exception: + except Exception as e: + print(e) attempt += 1 return click_status