wix-style-react
Version:
88 lines (78 loc) • 3.03 kB
JavaScript
import { protractorUniTestkitFactoryCreator, protractorTestkitFactoryCreator } from 'wix-ui-test-utils/protractor';
import loaderDriverFactory from '../Loader/Loader.uni.driver';
import textDriverFactory from '../Text/Text.protractor.driver';
import searchDriverFactory from '../Search/Search.protractor.driver';
import { dataHooks } from '../SelectorList/SelectorList.helpers';
import { buttonDriverFactory } from '../Button/Button.uni.driver';
var loaderTestkitFactory = protractorUniTestkitFactoryCreator(loaderDriverFactory);
var buttonTestkitFactory = protractorUniTestkitFactoryCreator(buttonDriverFactory);
var textTestkitFactory = protractorTestkitFactoryCreator(textDriverFactory);
var searchTestkitFactory = protractorTestkitFactoryCreator(searchDriverFactory);
var modalSelectorLayoutDriverFactory = function modalSelectorLayoutDriverFactory(component) {
var findByDataHook = function findByDataHook(dataHook) {
return component.$("[data-hook=\"".concat(dataHook, "\"]"));
};
var findAllByDataHook = function findAllByDataHook(dataHook) {
return component.$$("[data-hook=\"".concat(dataHook, "\"]"));
};
var mainLoaderDriver = function mainLoaderDriver() {
return loaderTestkitFactory({
dataHook: dataHooks.mainLoader
});
};
var nextPageLoaderDriver = function nextPageLoaderDriver() {
return loaderTestkitFactory({
dataHook: dataHooks.nextPageLoader
});
};
var cancelButtonDriver = function cancelButtonDriver() {
return buttonTestkitFactory({
dataHook: 'cancellation-button'
});
};
var okButtonDriver = function okButtonDriver() {
return buttonTestkitFactory({
dataHook: 'confirmation-button'
});
};
var subtitleTextDriver = function subtitleTextDriver() {
return textTestkitFactory({
dataHook: dataHooks.subtitle
});
};
var searchDriver = function searchDriver() {
return searchTestkitFactory({
dataHook: dataHooks.search
});
};
return {
element: function element() {
return component;
},
mainLoaderDriver: mainLoaderDriver,
nextPageLoaderDriver: nextPageLoaderDriver,
cancelButtonDriver: cancelButtonDriver,
okButtonDriver: okButtonDriver,
searchDriver: searchDriver,
subtitleTextDriver: subtitleTextDriver,
getTitle: function getTitle() {
return findByDataHook('header-layout-title').getText();
},
clickOnClose: function clickOnClose() {
return findByDataHook('header-close-button').click();
},
getEmptyState: function getEmptyState() {
return findByDataHook(dataHooks.emptyState);
},
getNoResultsFoundState: function getNoResultsFoundState() {
return findByDataHook(dataHooks.noResultsFoundState);
},
listExists: function listExists() {
return findByDataHook(dataHooks.list).isPresent();
},
numberOfItemsInList: function numberOfItemsInList() {
return findAllByDataHook(dataHooks.selector).count();
}
};
};
export default modalSelectorLayoutDriverFactory;