(page, name)
| 346 | } |
| 347 | |
| 348 | async function waitForNavigationEntryExists(page, name) { |
| 349 | await page.waitForFunction( |
| 350 | (targetName) => { |
| 351 | const links = Array.from(document.querySelectorAll('#app-navigation .app-navigation-entry > a')); |
| 352 | const buttons = Array.from(document.querySelectorAll('#app-navigation button[data-name]')); |
| 353 | return links.some((node) => (node.textContent || '').includes(targetName)) || |
| 354 | buttons.some((node) => (node.getAttribute('data-name') || '').includes(targetName)); |
| 355 | }, |
| 356 | name, |
| 357 | { timeout: 25000 } |
| 358 | ); |
| 359 | } |
| 360 | |
| 361 | async function reportExists(page, name) { |
| 362 | await ensureNavigationSection(page, 'reports'); |
no outgoing calls
no test coverage detected