UNPKG

@wix/design-system

Version:

@wix/design-system

203 lines 7.57 kB
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/esm/FacesRatingBar/test/FacesRatingBar.spec.jsx", _this = this; import _regeneratorRuntime from "@babel/runtime/regenerator"; import React from 'react'; import { createRendererWithUniDriver, cleanup } from '../../utils/test-utils/unit'; import FacesRatingBar from '../FacesRatingBar'; import { facesRatingBarPrivateDriverFactory } from './FacesRatingBar.private.uni.driver'; describe(FacesRatingBar.displayName, function () { var render = createRendererWithUniDriver(facesRatingBarPrivateDriverFactory); afterEach(cleanup); it('should render the faces rating bar', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() { var _render, driver; return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _render = render(/*#__PURE__*/React.createElement(FacesRatingBar, { value: 3, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 18, columnNumber: 31 } })), driver = _render.driver; _context.t0 = expect; _context.next = 4; return driver.exists(); case 4: _context.t1 = _context.sent; (0, _context.t0)(_context.t1).toBe(true); case 6: case "end": return _context.stop(); } }, _callee); }))); it('expect onChange to be called after selecting a rating', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() { var onChange, _render2, driver; return _regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: onChange = vi.fn(); _render2 = render(/*#__PURE__*/React.createElement(FacesRatingBar, { value: 0, onChange: onChange, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 25, columnNumber: 31 } })), driver = _render2.driver; _context2.t0 = expect; _context2.next = 5; return driver.getSelectedRating(); case 5: _context2.t1 = _context2.sent; (0, _context2.t0)(_context2.t1).toEqual(0); _context2.next = 9; return driver.selectRating(4); case 9: expect(onChange).toHaveBeenCalledTimes(1); expect(onChange).toHaveBeenCalledWith(4); case 11: case "end": return _context2.stop(); } }, _callee2); }))); describe('should show correct number of faces', function () { it.each([{ maxValue: 2 }, { maxValue: 3 }, { maxValue: 4 }, { maxValue: 5 }])('should show %s faces when maxValue is "%s"', /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) { var maxValue, _render3, driver; return _regeneratorRuntime.wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: maxValue = _ref3.maxValue; _render3 = render(/*#__PURE__*/React.createElement(FacesRatingBar, { value: 2, maxValue: maxValue, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 42, columnNumber: 9 } })), driver = _render3.driver; _context3.t0 = expect; _context3.next = 5; return driver.getFacesCount(); case 5: _context3.t1 = _context3.sent; (0, _context3.t0)(_context3.t1).toEqual(maxValue); case 7: case "end": return _context3.stop(); } }, _callee3); })); return function (_x) { return _ref4.apply(this, arguments); }; }()); }); describe('description values', function () { it.each([{ index: 1, text: 'Strong Negative' }, { index: 2, text: 'Negative' }, { index: 3, text: 'Neutral' }, { index: 4, text: 'Positive' }, { index: 5, text: 'Strong Positive' }])('should display the correct description value on hover', /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(descriptionValue) { var descriptionValues, _render4, driver, tooltipDriver; return _regeneratorRuntime.wrap(function _callee4$(_context4) { while (1) switch (_context4.prev = _context4.next) { case 0: descriptionValues = ['Strong Negative', 'Negative', 'Neutral', 'Positive', 'Strong Positive']; _render4 = render(/*#__PURE__*/React.createElement(FacesRatingBar, { value: descriptionValue.index, descriptionValues: descriptionValues, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 67, columnNumber: 11 } })), driver = _render4.driver; _context4.next = 4; return driver.getCurrentTooltipDriver(descriptionValue.index); case 4: tooltipDriver = _context4.sent; _context4.t0 = expect; _context4.next = 8; return tooltipDriver.getTooltipText(); case 8: _context4.t1 = _context4.sent; (0, _context4.t0)(_context4.t1).toEqual(descriptionValue.text); case 10: case "end": return _context4.stop(); } }, _callee4); })); return function (_x2) { return _ref5.apply(this, arguments); }; }()); it.each([1, 2, 3, 4, 5])('should not display description values', /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(index) { var _render5, driver, tooltipDriver; return _regeneratorRuntime.wrap(function _callee5$(_context5) { while (1) switch (_context5.prev = _context5.next) { case 0: _render5 = render(/*#__PURE__*/React.createElement(FacesRatingBar, { value: index, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 85, columnNumber: 35 } })), driver = _render5.driver; _context5.next = 3; return driver.getCurrentTooltipDriver(index); case 3: tooltipDriver = _context5.sent; _context5.t0 = expect; _context5.next = 7; return tooltipDriver.tooltipExists(); case 7: _context5.t1 = _context5.sent; (0, _context5.t0)(_context5.t1).toEqual(false); case 9: case "end": return _context5.stop(); } }, _callee5); })); return function (_x3) { return _ref6.apply(this, arguments); }; }()); }); });