wix-style-react
Version:
69 lines (62 loc) • 2.03 kB
JavaScript
import ReactTestUtils from 'react-dom/test-utils';
import { Appearance } from './constants';
var sectionHelperDriverFactory = function sectionHelperDriverFactory(_ref) {
var element = _ref.element;
var hasAppearance = function hasAppearance(appearance) {
return element.dataset.appearance === appearance;
};
var byHook = function byHook(hook) {
return element.querySelector("[data-hook=\"".concat(hook, "\"]"));
};
var getCloseButton = function getCloseButton() {
return byHook('sectionhelper-close-btn');
};
var getActionButton = function getActionButton() {
return byHook('sectionhelper-action-btn');
};
return {
exists: function exists() {
return !!element;
},
titleText: function titleText() {
return byHook('sectionhelper-title').textContent;
},
actionText: function actionText() {
return getActionButton().textContent;
},
clickAction: function clickAction() {
ReactTestUtils.Simulate.click(getActionButton());
},
clickClose: function clickClose() {
ReactTestUtils.Simulate.click(getCloseButton());
},
isCloseButtonDisplayed: function isCloseButtonDisplayed() {
return !!getCloseButton();
},
textContent: function textContent() {
return element.textContent;
},
isWarning: function isWarning() {
return hasAppearance(Appearance.Warning);
},
isStandard: function isStandard() {
return hasAppearance(Appearance.Standard);
},
isDanger: function isDanger() {
return hasAppearance(Appearance.Danger);
},
isExperimentalDark: function isExperimentalDark() {
return hasAppearance(Appearance.ExperimentalDark);
},
isSuccess: function isSuccess() {
return hasAppearance(Appearance.Success);
},
isPremium: function isPremium() {
return hasAppearance(Appearance.Premium);
},
isPreview: function isPreview() {
return hasAppearance(Appearance.Preview);
}
};
};
export default sectionHelperDriverFactory;