UNPKG

wix-style-react

Version:
80 lines (63 loc) 2.9 kB
import buttonWithOptionsDriverFactory from '../ButtonWithOptions/ButtonWithOptions.driver'; import dropdownLayoutDriverFactory from '../DropdownLayout/DropdownLayout.driver'; import headerDriverFactory from '../Card/Header/Header.driver'; import { badgeDriverFactory } from 'wix-ui-backoffice/dist/src/components/Badge/Badge.driver'; import { findByHook } from '../../test/utils'; import deprecationLog from '../utils/deprecationLog'; var statsWidgetDriverFactory = function statsWidgetDriverFactory(_ref) { var element = _ref.element; var getBadgeDriver = function getBadgeDriver(elm) { return badgeDriverFactory({ element: elm }); }; var getStatistic = function getStatistic(index) { return findByHook(element, 'stats-widget-content-wrapper').childNodes[index]; }; var headerElement = findByHook(element, 'stats-widget-title'); var headerDriver = headerDriverFactory({ wrapper: element, element: headerElement }); return { exists: function exists() { return !!element; }, titleText: function titleText() { return headerDriver.title(); }, isStatisticsContentExists: function isStatisticsContentExists() { return !!findByHook(element, 'stats-widget-content-wrapper'); }, isEmptyStateExists: function isEmptyStateExists() { return !!findByHook(element, 'stats-widget-empty-state'); }, getStatisticTitle: function getStatisticTitle(index) { return findByHook(getStatistic(index), 'statistics-item-title').textContent; }, getStatisticSubTitle: function getStatisticSubTitle(index) { return findByHook(getStatistic(index), 'statistics-item-subtitle').textContent; }, getStatisticPercentValue: function getStatisticPercentValue(index) { return findByHook(getStatistic(index), 'percent-value').textContent; }, isNegativePercentValue: function isNegativePercentValue(index) { return getBadgeDriver(findByHook(getStatistic(index), 'percent-value')).getSkin() === 'danger'; }, getStatisticPercentClass: function getStatisticPercentClass(index) { var percentIcon = findByHook(getStatistic(index), 'percent-icon'); return percentIcon && percentIcon.getAttribute('data-class') || ''; }, getFilterButtonDriver: function getFilterButtonDriver(dataHook) { return { dropdownLayoutDriver: dropdownLayoutDriverFactory({ element: findByHook(findByHook(element, dataHook), 'dropdown-base-dropdownlayout') }) }; }, getFilterDriver: function getFilterDriver(dataHook) { deprecationLog('StatsWidget testkit method "getFilterDriver" is deprecated, use the new "getFilterButtonDriver" method instead.'); var optionElement = findByHook(element, dataHook); return buttonWithOptionsDriverFactory({ element: optionElement }); } }; }; export default statsWidgetDriverFactory;