MCPcopy Create free account
hub / github.com/Rello/analytics / clickNavigationMenuAction

Function clickNavigationMenuAction

tests/playwright/common.js:287–314  ·  view source on GitHub ↗
(menu, action, label = action)

Source from the content-addressed store, hash-verified

285}
286
287async function clickNavigationMenuAction(menu, action, label = action) {
288 const actions = {
289 edit: ['#navigationMenuEdit', 'a#navigationMenuEdit', 'a:has-text("Basic settings")'],
290 share: ['#navigationMenuShare', 'a#navigationMenuShare', 'a:has-text("Share")'],
291 rename: ['#navigationMenuRename', 'a#navigationMenuRename', 'a:has-text("Rename")'],
292 newGroup: ['#navigationMenuNewGroup', 'a#navigationMenuNewGroup', 'a:has-text("Add to new group")'],
293 delete: ['#navigationMenuDelete', 'a#navigationMenuDelete', 'a:has-text("Delete")'],
294 };
295 const selectors = actions[action];
296 if (!selectors) {
297 throw new Error(`Unknown navigation menu action: ${action}`);
298 }
299
300 for (const selector of selectors) {
301 const locator = menu.locator(selector).first();
302 if (!(await locator.count())) {
303 continue;
304 }
305 try {
306 await locator.click({ timeout: 8000 });
307 return;
308 } catch (error) {
309 // try fallback selector
310 }
311 }
312
313 throw new Error(`Could not click ${label}. Selectors: ${selectors.join(', ')}`);
314}
315
316async function confirmVisibleDialogs(page, maxDialogs = 3) {
317 let confirmed = 0;

Callers 4

renameNavigationEntryFunction · 0.85
deleteNavigationEntryFunction · 0.85
openReportBasicSettingsFunction · 0.85

Calls 1

firstMethod · 0.80

Tested by

no test coverage detected