UNPKG

@wix/design-system

Version:

@wix/design-system

187 lines (186 loc) 6.93 kB
"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