UNPKG

@wix/design-system

Version:

@wix/design-system

46 lines 2.71 kB
import { textUniDriverFactory } from '../Text/Text.uni.driver'; import { checkboxUniDriverFactory } from '../Checkbox/Checkbox.uni.driver'; import { baseUniDriverFactory, getDataAttributeValue, } from '../utils/test-utils/unidriver'; import { dataAttr, sizes, shapes } from './constants'; import { tooltipDriverFactory, } from '../Tooltip/Tooltip.uni.driver'; export const selectorUniDriverFactory = (base, body) => { const toggleInput = () => base.$('[data-hook="toggle"] input'); const image = () => base.$('[data-hook="selector-image"]'); const titleTextDriver = () => textUniDriverFactory(base.$('[data-hook="selector-title"]')); const subtitleTextDriver = () => textUniDriverFactory(base.$('[data-hook="selector-subtitle"]')); const extraNode = () => base.$('[data-hook="selector-extra-node"]'); const checkboxDriver = () => checkboxUniDriverFactory(base.$('[data-hook="toggle"]'), base); const getTooltipDriver = () => { return tooltipDriverFactory(base.$('[data-hook="toggle-tooltip"]'), body); }; return { ...baseUniDriverFactory(base), isImageTiny: async () => (await getDataAttributeValue(base, dataAttr.SIZE)) === sizes.TINY, isImageSmall: async () => (await getDataAttributeValue(base, dataAttr.SIZE)) === sizes.SMALL, isImagePortrait: async () => (await getDataAttributeValue(base, dataAttr.SIZE)) === sizes.PORTRAIT, isImageLarge: async () => (await getDataAttributeValue(base, dataAttr.SIZE)) === sizes.LARGE, isImageCinema: async () => (await getDataAttributeValue(base, dataAttr.SIZE)) === sizes.CINEMA, isImageCircle: async () => (await getDataAttributeValue(base, dataAttr.SHAPE)) === shapes.CIRCLE, isImageRectangular: async () => (await getDataAttributeValue(base, dataAttr.SHAPE)) === shapes.RECTANGULAR, isDisabled: () => toggleInput()._prop('disabled'), toggleType: () => toggleInput()._prop('type'), isChecked: async () => (await toggleInput().exists()) && toggleInput()._prop('checked'), isIndeterminate: () => checkboxDriver().isIndeterminate(), hasImage: () => image().exists(), getImage: async () => image()._prop('firstChild'), titleTextDriver, subtitleTextDriver, hasExtraNode: () => extraNode().exists(), getExtraNode: () => extraNode()._prop('firstChild'), toggle: () => base.click(), getTooltipText: async () => { const tooltip = getTooltipDriver(); if (!(await tooltip.exists())) { return null; } return tooltip.getTooltipText(); }, }; }; //# sourceMappingURL=Selector.uni.driver.js.map