UNPKG

wix-style-react

Version:
66 lines (56 loc) 2.21 kB
import styles from './Breadcrumbs.scss'; var breadcrumbsDriverFactory = function breadcrumbsDriverFactory(component) { var hasClass = function hasClass(className) { return component.getAttribute('class').then(function (classes) { return classes.split('__').indexOf(className) !== -1; }); }; return { /** return the breadcrumb item content at position */ breadcrumbContentAt: function breadcrumbContentAt(position) { return component.all(by.xpath('./div')).get(position).getText(); }, /** click on breadcrumb item at position */ clickBreadcrumbAt: function clickBreadcrumbAt(position) { return component.$$('[data-hook="breadcrumb-clickable"]').get(position).click(); }, /** return the active breadcrumb item position or return null if no active item exists */ getActiveItemId: function getActiveItemId() { return component.all(by.xpath('./div')).getAttribute('class').then(function (classes) { var activeItems = classes.map(function (cls) { return cls.split(' ').some(function (c) { return c.includes(styles.active); }); }); return activeItems.indexOf(true); }); }, /** fulfilled if breadcrumbs component is large */ isLarge: function isLarge() { return hasClass('large'); }, /** fulfilled if breadcrumbs component is medium */ isMedium: function isMedium() { return hasClass('medium'); }, /** fulfilled if breadcrumbs component is on white background */ isOnWhiteBackground: function isOnWhiteBackground() { return hasClass('onWhiteBackground'); }, /** fulfilled if breadcrumbs component is on gray background */ isOnGrayBackground: function isOnGrayBackground() { return hasClass('onGrayBackground'); }, /** returns breadcrumbs component classes */ getLabelClassList: function getLabelClassList(position) { return component.all(by.xpath('./div')).get(position).getAttribute('class'); }, click: function click() { return component.click(); }, element: function element() { return component; } }; }; export default breadcrumbsDriverFactory;