selectCascaderLevels function infrastructure ~ 70.6%
Last updated: 2026-03-04T23:21:38.380Z
Metrics
LOC: 35
Complexity: 6
Params: 1
Coverage: 70.6% (12/17 lines, 0x executed)
Signature
selectCascaderLevels(dropdown: HTMLElement): : Promise<boolean>
Source Code
async function selectCascaderLevels(dropdown: HTMLElement): Promise<boolean> {
const MAX_LEVELS = 5;
let level = 0;
while (level < MAX_LEVELS) {
const menus = dropdown.querySelectorAll<HTMLElement>(".ant-cascader-menu");
const currentMenu = menus[level];
if (!currentMenu) break;
const items = currentMenu.querySelectorAll<HTMLElement>(
".ant-cascader-menu-item:not(.ant-cascader-menu-item-disabled)",
);
if (items.length === 0) {
log.warn(`Nenhum item disponível no nível ${level} do cascader`);
break;
}
// Pick a random item
const idx = Math.floor(Math.random() * items.length);
simulateClick(items[idx]);
// Check if this item is a leaf (no expand icon)
const isLeaf =
!items[idx].querySelector(".ant-cascader-menu-item-expand-icon") ||
items[idx].classList.contains("ant-cascader-menu-item-leaf");
if (isLeaf) return true;
// Wait for next menu to render
await new Promise((r) => setTimeout(r, 100));
level++;
}
return level > 0;
}
Dependencies (Outgoing)
| Target | Type |
|---|---|
| simulateClick | calls |
Impact (Incoming)
| Source | Type |
|---|---|
| fill | calls |