UNPKG

wix-style-react

Version:
70 lines (58 loc) 1.69 kB
import { baseUniDriverFactory, findByHook, isElementFocused, ReactBase, } from '../../test/utils/unidriver'; import { textUniDriverFactory } from '../Text/Text.uni.driver'; import { tooltipDriverFactory } from '../Tooltip/Tooltip.uni.driver'; import { dataHooks } from './constants'; export const addItemUniDriverFactory = (base, body) => { const tooltipDriver = tooltipDriverFactory(base, body); const textDriver = textUniDriverFactory( findByHook(base, dataHooks.itemText), body, ); const subtitleTextDriver = textUniDriverFactory( findByHook(base, dataHooks.itemSubtitle), body, ); const addItemElement = findByHook(base, dataHooks.addItem); const reactBaseElement = ReactBase(addItemElement); return { ...baseUniDriverFactory(addItemElement, body), /** * Gets AddItem text * @return {Promise<string>} */ getText: () => textDriver.getText(), /** * Checks whether AddItem text exist * @returns {Promise<boolean>} */ textExists: () => textDriver.exists(), /** * Gets tooltip text * @return {Promise<string>} */ getTooltipContent: () => tooltipDriver.getTooltipText(), /** * Gets AddItem subtitle * @return {Promise<string>} */ getSubtitle: () => subtitleTextDriver.getText(), /** * Checks whether AddItem is focused * @returns {Promise<boolean>} */ isFocused: async () => isElementFocused(addItemElement), /** * Sets focus on the element */ focus: async () => await reactBaseElement.focus(), /** * Removes focus on the element */ blur: async () => await reactBaseElement.blur(), }; };