@wix/design-system
Version:
@wix/design-system
206 lines (205 loc) • 8.03 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _react = _interopRequireDefault(require("react"));
var _unit = require("../../utils/test-utils/unit");
var _FacesRatingBar = _interopRequireDefault(require("../FacesRatingBar"));
var _FacesRatingBarPrivateUni = require("./FacesRatingBar.private.uni.driver");
var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/FacesRatingBar/test/FacesRatingBar.spec.jsx",
_this = void 0;
describe(_FacesRatingBar["default"].displayName, function () {
var render = (0, _unit.createRendererWithUniDriver)(_FacesRatingBarPrivateUni.facesRatingBarPrivateDriverFactory);
afterEach(_unit.cleanup);
it('should render the faces rating bar', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
var _render, driver;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_render = render(/*#__PURE__*/_react["default"].createElement(_FacesRatingBar["default"], {
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__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
var onChange, _render2, driver;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
onChange = vi.fn();
_render2 = render(/*#__PURE__*/_react["default"].createElement(_FacesRatingBar["default"], {
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 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref3) {
var maxValue, _render3, driver;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
maxValue = _ref3.maxValue;
_render3 = render(/*#__PURE__*/_react["default"].createElement(_FacesRatingBar["default"], {
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 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(descriptionValue) {
var descriptionValues, _render4, driver, tooltipDriver;
return _regenerator["default"].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["default"].createElement(_FacesRatingBar["default"], {
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 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(index) {
var _render5, driver, tooltipDriver;
return _regenerator["default"].wrap(function _callee5$(_context5) {
while (1) switch (_context5.prev = _context5.next) {
case 0:
_render5 = render(/*#__PURE__*/_react["default"].createElement(_FacesRatingBar["default"], {
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);
};
}());
});
});