@wix/design-system
Version:
@wix/design-system
187 lines (186 loc) • 6.93 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _react = _interopRequireDefault(require("react"));
var _ = _interopRequireDefault(require("."));
var _Badge = require("./Badge.constants");
var _unit = require("../utils/test-utils/unit");
var _BadgeUni = require("./Badge.uni.driver");
var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/Badge/Badge.spec.tsx",
_this = void 0;
describe('Badge', () => {
var render = (0, _unit.createRendererWithUniDriver)(_BadgeUni.badgeUniDriverFactory);
var createDriver = jsx => render(jsx).driver;
afterEach(() => (0, _unit.cleanup)());
describe('type prop', () => {
it('should be solid by default', /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var driver = createDriver(/*#__PURE__*/_react.default.createElement(_.default, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 16,
columnNumber: 35
}
}, "Hello"));
expect(yield driver.getType()).toBe(_Badge.TYPE.solid);
}));
Object.keys(_Badge.TYPE).forEach(type => {
it("should be ".concat(type), /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var driver = createDriver(/*#__PURE__*/_react.default.createElement(_.default, {
type: type,
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 23,
columnNumber: 11
}
}, "Hello"));
expect(yield driver.getType()).toBe(type);
}));
});
it('should use default value when value is provided as undefined', /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var driver = createDriver(/*#__PURE__*/_react.default.createElement(_.default, {
type: undefined,
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 30,
columnNumber: 35
}
}, "Hello"));
expect(yield driver.getType()).toBe(_Badge.TYPE.solid);
}));
});
describe('skin prop', () => {
it('should be general by default', /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var driver = createDriver(/*#__PURE__*/_react.default.createElement(_.default, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 37,
columnNumber: 35
}
}, "Hello"));
expect(yield driver.getSkin()).toBe(_Badge.SKIN.general);
}));
Object.keys(_Badge.SKIN).forEach(skin => {
it("should be ".concat(skin), /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var driver = createDriver(/*#__PURE__*/_react.default.createElement(_.default, {
skin: skin,
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 44,
columnNumber: 11
}
}, "Hello"));
expect(yield driver.getSkin()).toBe(skin);
}));
});
});
describe('uppercase prop', () => {
it('should be uppercase by default', /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var driver = createDriver(/*#__PURE__*/_react.default.createElement(_.default, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 53,
columnNumber: 35
}
}, "Hello"));
expect(yield driver.isUppercase()).toBe(true);
}));
it('should be free-case when value is false', /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var driver = createDriver(/*#__PURE__*/_react.default.createElement(_.default, {
uppercase: false,
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 58,
columnNumber: 35
}
}, "Hello"));
expect(yield driver.isUppercase()).toBe(false);
}));
});
describe('size prop', () => {
it('should be medium by default', /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var driver = createDriver(/*#__PURE__*/_react.default.createElement(_.default, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 65,
columnNumber: 35
}
}, "Hello"));
expect(yield driver.getSize()).toBe(_Badge.SIZE.medium);
}));
Object.keys(_Badge.SIZE).forEach(size => {
it("should be ".concat(size), /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var driver = createDriver(/*#__PURE__*/_react.default.createElement(_.default, {
size: size,
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 72,
columnNumber: 11
}
}, "Hello"));
expect(yield driver.getSize()).toBe(size);
}));
});
});
describe('onClick prop', () => {
it('cursor should be default when no onClick', /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var driver = createDriver(/*#__PURE__*/_react.default.createElement(_.default, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 81,
columnNumber: 35
}
}, "Hello"));
expect(yield driver.hasClickCursor()).toBe(false);
}));
it('cursor should be pointer when onClick set', /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var driver = createDriver(/*#__PURE__*/_react.default.createElement(_.default, {
onClick: e => e,
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 86,
columnNumber: 35
}
}, "Hello"));
expect(yield driver.hasClickCursor()).toBe(true);
}));
it('should call event handler on badge click', /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var handler = jest.fn();
var driver = createDriver(/*#__PURE__*/_react.default.createElement(_.default, {
onClick: () => handler(),
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 93,
columnNumber: 9
}
}, "Hello"));
yield driver.click();
expect(handler).toHaveBeenCalled();
}));
});
describe('children prop', () => {
it('should render the text given as a children prop', /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
var driver = createDriver(/*#__PURE__*/_react.default.createElement(_.default, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 102,
columnNumber: 35
}
}, "Hello"));
expect(yield driver.text()).toBe('Hello');
}));
});
});
//# sourceMappingURL=Badge.spec.js.map