wix-style-react
Version:
50 lines (38 loc) • 1.68 kB
JavaScript
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;
},
};
};