UNPKG

wix-style-react

Version:
50 lines (38 loc) 1.68 kB
import { imageViewerUniDriverFactory as publicDriverFactory } from '../ImageViewer.uni.driver'; import { addItemUniDriverFactory } from '../../AddItem/AddItem.uni.driver'; import { iconButtonDriverFactory } from '../../IconButton/IconButton.uni.driver'; import { dataHooks } from '../constants'; export const imageViewerPrivateDriverFactory = (base, body) => { const find = dataHook => base.$(`[data-hook="${dataHook}"]`); const publicDriver = publicDriverFactory(base, body); const addItemTestkit = addItemUniDriverFactory(find(dataHooks.addItem), body); const iconButtonTestkit = dataHook => iconButtonDriverFactory(find(dataHook)); const removeIconButton = iconButtonTestkit(dataHooks.remove); const downloadIconButton = iconButtonTestkit(dataHooks.download); const updateIconButton = iconButtonTestkit(dataHooks.update); return { ...publicDriver, isAddItemFocused: () => addItemTestkit.isFocused(), isUpdateButtonFocused: async () => { if (await publicDriver.isAddItemVisible()) return false; if (await publicDriver.updateButtonExists()) { return await updateIconButton.isFocused(); } return false; }, isRemoveButtonFocused: async () => { if (await publicDriver.isAddItemVisible()) return false; if (await publicDriver.removeButtonExists()) { return await removeIconButton.isFocused(); } return false; }, isDownloadButtonFocused: async () => { if (await publicDriver.isAddItemVisible()) return false; if (await publicDriver.downloadButtonExists()) { return await downloadIconButton.isFocused(); } return false; }, }; };