@brightleaf/elements
Version:
React UI elements styled with Bulma CSS
69 lines (54 loc) • 4.59 kB
JavaScript
;
var _react = _interopRequireDefault(require("react"));
var _react2 = require("@testing-library/react");
var _jestDom = require("@testing-library/jest-dom");
var _base = require("../base");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
expect.extend({
toHaveClass: _jestDom.toHaveClass
});
describe('The Base component', function () {
afterEach(_react2.cleanup);
it('should render', function () {
var text = 'All your base belong to us';
var _render = (0, _react2.render)(_react.default.createElement(_base.Base, null, text)),
container = _render.container;
expect(container.firstChild).toMatchSnapshot();
expect(container.firstChild.innerHTML).toBe(text);
});
it('should render with extra classnames', function () {
var _render2 = (0, _react2.render)(_react.default.createElement(_base.Base, {
className: "base"
}, _react.default.createElement("div", null, "Trapped in a Box"))),
container = _render2.container;
expect(container.firstChild).toMatchSnapshot();
expect(container.firstChild).toHaveClass('base');
});
it('should render with has-background-primary when hasBackgroundPrimary set', function () {
var _render3 = (0, _react2.render)(_react.default.createElement(_base.Base, {
className: "based-in",
hasBackgroundPrimary: true
}, "Just some text")),
container = _render3.container;
expect(container.firstChild).toHaveClass('based-in');
expect(container.firstChild).toHaveClass('has-background-primary');
});
test.each([['has-background-primary', 'hasBackgroundPrimary'], ['has-background-success', 'hasBackgroundSuccess'], ['has-background-warning', 'hasBackgroundWarning'], ['has-background-danger', 'hasBackgroundDanger'], ['has-background-info', 'hasBackgroundInfo'], ['has-background-white', 'hasBackgroundWhite'], ['has-background-black', 'hasBackgroundBlack'], ['has-background-light', 'hasBackgroundLight'], ['has-background-dark', 'hasBackgroundDark'], ['has-background-link', 'hasBackgroundLink'], ['has-background-black-bis', 'hasBackgroundBlackBis'], ['has-background-black-ter', 'hasBackgroundBlackTer'], ['has-background-grey-darker', 'hasBackgroundGreyDarker'], ['has-background-grey-dark', 'hasBackgroundGreyDark'], ['has-background-grey', 'hasBackgroundGrey'], ['has-background-grey-light', 'hasBackgroundGreyLight'], ['has-background-grey-lighter', 'hasBackgroundGreyLighter'], ['has-background-white-ter', 'hasBackgroundWhiteTer'], ['has-background-white-bis', 'hasBackgroundWhiteBis']])('The background color class %i is added when %i is set)', function (className, propertyName) {
var prop = {};
prop[propertyName] = true;
var _render4 = (0, _react2.render)(_react.default.createElement(_base.Base, _extends({
className: "boxed-in"
}, prop), _react.default.createElement("div", null, "Trapped in a Box"))),
container = _render4.container;
expect(container.firstChild).toHaveClass('boxed-in');
expect(container.firstChild).toHaveClass(className);
});
test.each([['has-text-primary', 'hasTextPrimary'], ['has-text-success', 'hasTextSuccess'], ['has-text-warning', 'hasTextWarning'], ['has-text-danger', 'hasTextDanger'], ['has-text-info', 'hasTextInfo'], ['has-text-white', 'hasTextWhite'], ['has-text-black', 'hasTextBlack'], ['has-text-light', 'hasTextLight'], ['has-text-dark', 'hasTextDark'], ['has-text-link', 'hasTextLink'], ['has-text-black-bis', 'hasTextBlackBis'], ['has-text-black-ter', 'hasTextBlackTer'], ['has-text-grey-darker', 'hasTextGreyDarker'], ['has-text-grey-dark', 'hasTextGreyDark'], ['has-text-grey', 'hasTextGrey'], ['has-text-grey-light', 'hasTextGreyLight'], ['has-text-grey-lighter', 'hasTextGreyLighter'], ['has-text-white-ter', 'hasTextWhiteTer'], ['has-text-white-bis', 'hasTextWhiteBis']])('The text color class %i is added when %i is set)', function (className, propertyName) {
var prop = {};
prop[propertyName] = true;
var _render5 = (0, _react2.render)(_react.default.createElement(_base.Base, prop, _react.default.createElement("div", null, "Basic element"))),
container = _render5.container;
expect(container.firstChild).toHaveClass(className);
});
});