UNPKG

@wix/design-system

Version:

@wix/design-system

52 lines 2.18 kB
import { baseUniDriverFactory, findByHook, getDataAttributeValue, } from '../utils/test-utils/unidriver'; import { tooltipDriverFactory } from '../Tooltip/Tooltip.uni.driver'; import { dataHooks, dataAttr } from './constants'; import { getItemAt } from './utils'; export const selectableAccordionDriverFactory = (base, body) => { return { ...baseUniDriverFactory(base, body), /** * Clicks the item by item index * @param {number} idx Item index * @returns {Promise<void>} Title at item index */ clickItemAt: async (idx) => { const item = await getItemAt(base, idx); return findByHook(item, dataHooks.itemHeader).click(); }, /** * Checks whether the item is expanded by item index * @param {number} idx Item index * @returns {Promise<boolean>} Title at item index */ isItemExpandedAt: async (idx) => { const item = await getItemAt(base, idx); const itemState = await getDataAttributeValue(item, dataAttr.STATE); return itemState === 'open'; }, /** * Checks whether the item is disabled by item index * @param {number} idx Item index * @returns {Promise<boolean>} */ isItemDisabledAt: async (idx) => { const item = await getItemAt(base, idx); const itemState = await getDataAttributeValue(item, dataAttr.DISABLED); return itemState === 'true'; }, /** * Gets the content of the tooltip wrapping the item at index * @param {number} idx Item index * @returns {Promise<string | null>} The tooltip content, or null when the item has no tooltip */ getTooltipContentAt: async (idx) => { const item = await getItemAt(base, idx); const tooltip = findByHook(item, dataHooks.itemTooltip); if (!(await tooltip.exists())) { return null; } return tooltipDriverFactory(tooltip, body).getTooltipText(); }, }; }; //# sourceMappingURL=SelectableAccordion.uni.driver.js.map