wix-style-react
Version:
79 lines (73 loc) • 3.08 kB
JavaScript
import ReactTestUtils from 'react-dom/test-utils';
var messageBoxFunctionalLayoutDriverFactory = function messageBoxFunctionalLayoutDriverFactory(_ref) {
var _element = _ref.element;
var confirmationButton = function confirmationButton() {
return _element.querySelector('[data-hook="confirmation-button"]');
};
var cancellationButton = function cancellationButton() {
return _element.querySelector('[data-hook="cancellation-button"]');
};
var headerCloseButton = function headerCloseButton() {
return _element.querySelector('[data-hook="header-close-button"]');
};
return {
exists: function exists() {
return !!_element;
},
element: function element() {
return _element;
},
getConfirmationButtonText: function getConfirmationButtonText() {
return confirmationButton().textContent;
},
isConfirmationButtonPrefixIconExists: function isConfirmationButtonPrefixIconExists() {
return confirmationButton().innerHTML.indexOf('prefix') !== -1;
},
isConfirmationButtonSuffixIconExists: function isConfirmationButtonSuffixIconExists() {
return confirmationButton().innerHTML.indexOf('suffix') !== -1;
},
clickOnConfirmationButton: function clickOnConfirmationButton() {
return ReactTestUtils.Simulate.click(confirmationButton());
},
getConfirmationButton: confirmationButton,
getCancellationButton: cancellationButton,
getHeaderCloseButton: headerCloseButton,
getCancellationButtonText: function getCancellationButtonText() {
return cancellationButton().textContent;
},
isCancellationButtonPrefixIconExists: function isCancellationButtonPrefixIconExists() {
return cancellationButton().innerHTML.indexOf('prefix') !== -1;
},
isCancellationButtonSuffixIconExists: function isCancellationButtonSuffixIconExists() {
return cancellationButton().innerHTML.indexOf('suffix') !== -1;
},
clickOnCancellationButton: function clickOnCancellationButton() {
return ReactTestUtils.Simulate.click(cancellationButton());
},
clickOnHeaderCloseButton: function clickOnHeaderCloseButton() {
return ReactTestUtils.Simulate.click(headerCloseButton());
},
isThemeExist: function isThemeExist(theme) {
return _element.dataset.theme === theme;
},
getFooter: function getFooter() {
return _element.querySelector('[data-hook="message-box-footer"]');
},
getTitle: function getTitle() {
return _element.querySelector('[data-hook="header-layout-title"]').textContent;
},
getChildBySelector: function getChildBySelector(selector) {
return _element.querySelector(selector);
},
isCancelEnable: function isCancelEnable() {
return !cancellationButton().disabled;
},
isConfirmationEnable: function isConfirmationEnable() {
return !confirmationButton().disabled;
},
toHaveBodyPadding: function toHaveBodyPadding() {
return _element.dataset.nobodypadding !== 'true';
}
};
};
export default messageBoxFunctionalLayoutDriverFactory;