wix-style-react
Version:
wix-style-react
51 lines • 1.97 kB
JavaScript
import { baseUniDriverFactory, findByHook, isElementFocused, ReactBase, } from '../test-utils/utils/unidriver';
// @ts-ignore
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(findByHook(base, dataHooks.itemTooltip), body);
const textDriver = textUniDriverFactory(findByHook(base, dataHooks.itemText));
const subtitleTextDriver = textUniDriverFactory(findByHook(base, dataHooks.itemSubtitle));
const addItemElement = findByHook(base, dataHooks.addItem);
const reactBaseElement = ReactBase(addItemElement);
return {
...baseUniDriverFactory(addItemElement),
/**
* Gets AddItem text
* @return {Promise<string>}
*/
getText: async () => textDriver.getText(),
/**
* Checks whether AddItem text exist
* @returns {Promise<boolean>}
*/
textExists: async () => textDriver.exists(),
/**
* Gets tooltip text
* @return {Promise<string | null>}
*/
getTooltipContent: async () => tooltipDriver.getTooltipText(),
/**
* Gets AddItem subtitle
* @return {Promise<string>}
*/
getSubtitle: async () => subtitleTextDriver.getText(),
/**
* Checks whether AddItem is focused
* @returns {Promise<boolean>}
*/
isFocused: async () => isElementFocused(addItemElement),
/**
* Sets focus on the element
* @returns {Promise<void>}
*/
focus: async () => reactBaseElement.focus(),
/**
* Removes focus on the element
* @returns {Promise<void>}
*/
blur: async () => reactBaseElement.blur(),
};
};
//# sourceMappingURL=AddItem.uni.driver.js.map