UNPKG

wix-style-react

Version:
57 lines 2.31 kB
import { tooltipDriverFactory } from '../Tooltip/Tooltip.uni.driver'; import { buttonCoreDriverFactory } from '../Button/ButtonCore/ButtonCore.uni.driver'; import { baseUniDriverFactory, findByHook, getDataAttributeValue, } from '../test-utils/utils/unidriver'; import { dataHooks, dataAttr } from './constants'; export const toggleButtonDriverFactory = (base, body) => { const buttonBaseElement = findByHook(base, dataHooks.button); const tooltipBaseElement = base; const tooltipDriver = tooltipDriverFactory(tooltipBaseElement, body); const buttonDriver = buttonCoreDriverFactory(buttonBaseElement); async function getLabelPlacement() { return getDataAttributeValue(buttonBaseElement, dataAttr.placement); } function getTooltipText() { return tooltipDriver.getTooltipText(); } return { ...baseUniDriverFactory(buttonBaseElement, body), /** * Checks whether ToggleButton is disabled * @returns {Promise<boolean>} */ isButtonDisabled: buttonDriver.isButtonDisabled, /** * Gets the ToggleButton skin * @returns {Promise<string | null>} */ getSkin: async () => await getDataAttributeValue(buttonBaseElement, dataAttr.skin), /** * Checks whether ToggleButton is selected * @returns {Promise<boolean>} */ isButtonSelected: async () => (await getDataAttributeValue(buttonBaseElement, dataAttr.selected)) === 'true', /** * Gets the ToggleButton label placement * @returns {Promise<string>} */ getLabelPlacement, /** * Gets the ToggleButton label placement value * @returns {Promise<string>} */ getLabelValue: async () => { const placement = await getLabelPlacement(); if (placement === 'tooltip') { return getTooltipText(); } return findByHook(buttonBaseElement, dataHooks.label).text(); }, /** * Gets the ToggleButton shape * @returns {Promise<string | null>} */ getShape: async () => await getDataAttributeValue(buttonBaseElement, dataAttr.shape), }; }; //# sourceMappingURL=ToggleButton.uni.driver.js.map