UNPKG

@wix/design-system

Version:

@wix/design-system

1,042 lines (1,041 loc) 43.4 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _ColorInput = _interopRequireDefault(require("./ColorInput")); var _ColorInputPrivateUni = require("./ColorInput.private.uni.driver"); var _index = require("../utils/test-utils/react/index"); var _hexHelpers = require("./hex-helpers"); var _excluded = ["value", "onConfirm"]; var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/ColorInput/ColorInput.spec.jsx", _this = void 0; describe('ColorInput', function () { afterEach(function () { return (0, _index.cleanup)(); }); var renderColorInput = function renderColorInput() { var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, _ref$value = _ref.value, value = _ref$value === void 0 ? '' : _ref$value, _ref$onConfirm = _ref.onConfirm, onConfirm = _ref$onConfirm === void 0 ? function () {} : _ref$onConfirm, rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded); return /*#__PURE__*/_react["default"].createElement(_ColorInput["default"], (0, _extends2["default"])({}, rest, { value: value, onConfirm: onConfirm, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 17, columnNumber: 14 } })); }; var render = (0, _index.createRendererWithUniDriver)(_ColorInputPrivateUni.colorInputPrivateDriverFactory); describe('Input', function () { it('should be in controlled mode when value is passed', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() { var value, _render, driver; return _regenerator["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: value = 'value'; _render = render(renderColorInput({ value: value })), driver = _render.driver; _context.t0 = expect; _context.next = 5; return driver.getValue(); case 5: _context.t1 = _context.sent; (0, _context.t0)(_context.t1).toBe('AE'); case 7: case "end": return _context.stop(); } }, _callee); }))); describe("value", function () { it("should convert letters to uppercase while typed", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() { var _render2, driver; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _render2 = render(renderColorInput()), driver = _render2.driver; _context2.next = 3; return driver.enterText('abc'); case 3: _context2.t0 = expect; _context2.next = 6; return driver.getValue(); case 6: _context2.t1 = _context2.sent; (0, _context2.t0)(_context2.t1).toBe('ABC'); case 8: case "end": return _context2.stop(); } }, _callee2); }))); it("should strip invalid characters from pasted value", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() { var _render3, driver; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: _render3 = render(renderColorInput()), driver = _render3.driver; _context3.next = 3; return driver.enterText('#$%abc'); case 3: _context3.t0 = expect; _context3.next = 6; return driver.getValue(); case 6: _context3.t1 = _context3.sent; (0, _context3.t0)(_context3.t1).toBe('ABC'); case 8: case "end": return _context3.stop(); } }, _callee3); }))); }); describe('value is confirmed on', function () { it("keyboard key 'Enter'", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() { var onConfirm, _render4, driver; return _regenerator["default"].wrap(function _callee4$(_context4) { while (1) switch (_context4.prev = _context4.next) { case 0: onConfirm = vi.fn(); _render4 = render(renderColorInput({ onConfirm: onConfirm })), driver = _render4.driver; _context4.next = 4; return driver.enterText('aze'); case 4: _context4.next = 6; return driver.keyDown('Enter'); case 6: expect(onConfirm).toHaveBeenCalledWith('#AEAEAE'); case 7: case "end": return _context4.stop(); } }, _callee4); }))); it('click outside', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() { var _render5, driver; return _regenerator["default"].wrap(function _callee5$(_context5) { while (1) switch (_context5.prev = _context5.next) { case 0: _render5 = render(renderColorInput()), driver = _render5.driver; _context5.next = 3; return driver.click(); case 3: _context5.next = 5; return driver.enterText('aze'); case 5: _context5.next = 7; return driver.clickOutside(); case 7: _context5.t0 = expect; _context5.next = 10; return driver.colorPickerVisible(); case 10: _context5.t1 = _context5.sent; (0, _context5.t0)(_context5.t1).toBe(false); case 12: case "end": return _context5.stop(); } }, _callee5); }))); }); describe('value is not confirmed on', function () { it('click outside when ColorViewer is not active', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() { var onConfirm, _render6, driver; return _regenerator["default"].wrap(function _callee6$(_context6) { while (1) switch (_context6.prev = _context6.next) { case 0: onConfirm = vi.fn(); _render6 = render(renderColorInput({ onConfirm: onConfirm })), driver = _render6.driver; _context6.next = 4; return driver.clickOutside(); case 4: expect(onConfirm.mock.calls.length).toBe(0); case 5: case "end": return _context6.stop(); } }, _callee6); }))); }); describe('value is cancelled on', function () { it("keyboard key 'Escape'", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7() { var value, _render7, driver; return _regenerator["default"].wrap(function _callee7$(_context7) { while (1) switch (_context7.prev = _context7.next) { case 0: value = '#123456'; _render7 = render(renderColorInput({ value: value })), driver = _render7.driver; _context7.next = 4; return driver.click(); case 4: _context7.next = 6; return driver.enterText('1234'); case 6: _context7.t0 = expect; _context7.next = 9; return driver.getValue(); case 9: _context7.t1 = _context7.sent; (0, _context7.t0)(_context7.t1).toBe('1234'); _context7.next = 13; return driver.keyDown('Escape'); case 13: _context7.t2 = expect; _context7.next = 16; return driver.getValue(); case 16: _context7.t3 = _context7.sent; (0, _context7.t2)(_context7.t3).toBe(value.replace('#', '')); case 18: case "end": return _context7.stop(); } }, _callee7); }))); }); describe('confirmed values', function () { [['', ''], ['1', '#111111'], ['12', '#121212'], ['123', '#112233'], ['1234', '#112233'], ['12345', '#112233'], ['123456', '#123456'], ['1234$3A74', '#12343A'], ['1234AB', '#1234AB'], ['%4EB7F', '#44EEBB'], ['%##7$39', '#773399'], ['2C45$#74', '#2C4574'], ['4EB7F568A7', '#4EB7F5']].map(function (_ref9) { var _ref0 = (0, _slicedToArray2["default"])(_ref9, 2), expectation = _ref0[0], output = _ref0[1]; return it("given ".concat(expectation, " should return ").concat(output), /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8() { var onConfirm, _render8, driver; return _regenerator["default"].wrap(function _callee8$(_context8) { while (1) switch (_context8.prev = _context8.next) { case 0: onConfirm = vi.fn(); _render8 = render(renderColorInput({ onConfirm: onConfirm })), driver = _render8.driver; _context8.next = 4; return driver.enterText(expectation); case 4: _context8.t0 = expect; _context8.next = 7; return driver.getValue(); case 7: _context8.t1 = _context8.sent; (0, _context8.t0)(_context8.t1).toBe((0, _hexHelpers.extractHex)(expectation).replace('#', '')); _context8.next = 11; return driver.keyDown('Enter'); case 11: expect(onConfirm).toHaveBeenCalledTimes(1); expect(onConfirm.mock.calls[0][0]).toBe(output); case 13: case "end": return _context8.stop(); } }, _callee8); }))); }); }); }); describe("prefix '#'", function () { it("should be hidden by default", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9() { var _render9, driver; return _regenerator["default"].wrap(function _callee9$(_context9) { while (1) switch (_context9.prev = _context9.next) { case 0: _render9 = render(renderColorInput()), driver = _render9.driver; _context9.t0 = expect; _context9.next = 4; return driver.hasPrefix(); case 4: _context9.t1 = _context9.sent; (0, _context9.t0)(_context9.t1).toBe(false); case 6: case "end": return _context9.stop(); } }, _callee9); }))); it("should be visible when input is clicked", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0() { var _render0, driver; return _regenerator["default"].wrap(function _callee0$(_context0) { while (1) switch (_context0.prev = _context0.next) { case 0: _render0 = render(renderColorInput()), driver = _render0.driver; _context0.next = 3; return driver.click(); case 3: _context0.t0 = expect; _context0.next = 6; return driver.hasPrefix(); case 6: _context0.t1 = _context0.sent; (0, _context0.t0)(_context0.t1).toBe(true); case 8: case "end": return _context0.stop(); } }, _callee0); }))); it("should be visible when input is focused", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee1() { var _render1, driver; return _regenerator["default"].wrap(function _callee1$(_context1) { while (1) switch (_context1.prev = _context1.next) { case 0: _render1 = render(renderColorInput()), driver = _render1.driver; _context1.next = 3; return driver.click(); case 3: _context1.t0 = expect; _context1.next = 6; return driver.hasPrefix(); case 6: _context1.t1 = _context1.sent; (0, _context1.t0)(_context1.t1).toBe(true); case 8: case "end": return _context1.stop(); } }, _callee1); }))); it("should be visible when value is given but input is confirmed with Enter", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10() { var _render10, driver; return _regenerator["default"].wrap(function _callee10$(_context10) { while (1) switch (_context10.prev = _context10.next) { case 0: _render10 = render(renderColorInput({ value: '#123' })), driver = _render10.driver; _context10.next = 3; return driver.click(); case 3: _context10.next = 5; return driver.keyDown('Enter'); case 5: _context10.t0 = expect; _context10.next = 8; return driver.hasPrefix(); case 8: _context10.t1 = _context10.sent; (0, _context10.t0)(_context10.t1).toBe(true); case 10: case "end": return _context10.stop(); } }, _callee10); }))); it("should be hidden when value is empty and input is confirmed with Enter", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() { var _render11, driver; return _regenerator["default"].wrap(function _callee11$(_context11) { while (1) switch (_context11.prev = _context11.next) { case 0: _render11 = render(renderColorInput()), driver = _render11.driver; _context11.next = 3; return driver.click(); case 3: _context11.next = 5; return driver.keyDown('Enter'); case 5: _context11.t0 = expect; _context11.next = 8; return driver.hasPrefix(); case 8: _context11.t1 = _context11.sent; (0, _context11.t0)(_context11.t1).toBe(false); case 10: case "end": return _context11.stop(); } }, _callee11); }))); it("should be hidden after value is cleared", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12() { var _render12, driver, rerender; return _regenerator["default"].wrap(function _callee12$(_context12) { while (1) switch (_context12.prev = _context12.next) { case 0: _render12 = render(renderColorInput({ value: '#123' })), driver = _render12.driver, rerender = _render12.rerender; _context12.next = 3; return driver.click(); case 3: _context12.next = 5; return driver.enterText(''); case 5: _context12.next = 7; return driver.keyDown('Enter'); case 7: rerender(renderColorInput({ value: '' })); _context12.t0 = expect; _context12.next = 11; return driver.getValue(); case 11: _context12.t1 = _context12.sent; (0, _context12.t0)(_context12.t1).toBe(''); _context12.t2 = expect; _context12.next = 16; return driver.hasPrefix(); case 16: _context12.t3 = _context12.sent; (0, _context12.t2)(_context12.t3).toBe(false); case 18: case "end": return _context12.stop(); } }, _callee12); }))); }); describe('suffix ColorViewer', function () { it("should be null state when value is empty string", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13() { var _render13, driver; return _regenerator["default"].wrap(function _callee13$(_context13) { while (1) switch (_context13.prev = _context13.next) { case 0: _render13 = render(renderColorInput()), driver = _render13.driver; _context13.t0 = expect; _context13.next = 4; return driver.isViewerNull(); case 4: _context13.t1 = _context13.sent; (0, _context13.t0)(_context13.t1).toBe(true); case 6: case "end": return _context13.stop(); } }, _callee13); }))); it("should set size as given", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee14() { var _render14, driver; return _regenerator["default"].wrap(function _callee14$(_context14) { while (1) switch (_context14.prev = _context14.next) { case 0: _render14 = render(renderColorInput({ size: 'small' })), driver = _render14.driver; _context14.t0 = expect; _context14.next = 4; return driver.getViewerSize(); case 4: _context14.t1 = _context14.sent; (0, _context14.t0)(_context14.t1).toBe('small'); case 6: case "end": return _context14.stop(); } }, _callee14); }))); it("should be null after value is cleared", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee15() { var _render15, driver, rerender; return _regenerator["default"].wrap(function _callee15$(_context15) { while (1) switch (_context15.prev = _context15.next) { case 0: _render15 = render(renderColorInput({ value: '#123' })), driver = _render15.driver, rerender = _render15.rerender; _context15.next = 3; return driver.click(); case 3: _context15.next = 5; return driver.enterText(''); case 5: _context15.next = 7; return driver.keyDown('Enter'); case 7: rerender(renderColorInput({ value: '' })); _context15.t0 = expect; _context15.next = 11; return driver.getValue(); case 11: _context15.t1 = _context15.sent; (0, _context15.t0)(_context15.t1).toBe(''); _context15.t2 = expect; _context15.next = 16; return driver.isViewerNull(); case 16: _context15.t3 = _context15.sent; (0, _context15.t2)(_context15.t3).toBe(true); case 18: case "end": return _context15.stop(); } }, _callee15); }))); }); describe('ColorPicker', function () { describe('should open when', function () { it("input is clicked", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee16() { var _render16, driver; return _regenerator["default"].wrap(function _callee16$(_context16) { while (1) switch (_context16.prev = _context16.next) { case 0: _render16 = render(renderColorInput()), driver = _render16.driver; _context16.next = 3; return driver.click(); case 3: _context16.t0 = expect; _context16.next = 6; return driver.colorPickerVisible(); case 6: _context16.t1 = _context16.sent; (0, _context16.t0)(_context16.t1).toBe(true); case 8: case "end": return _context16.stop(); } }, _callee16); }))); it("input is focused", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee17() { var _render17, driver; return _regenerator["default"].wrap(function _callee17$(_context17) { while (1) switch (_context17.prev = _context17.next) { case 0: _render17 = render(renderColorInput()), driver = _render17.driver; _context17.next = 3; return driver.focus(); case 3: _context17.t0 = expect; _context17.next = 6; return driver.colorPickerVisible(); case 6: _context17.t1 = _context17.sent; (0, _context17.t0)(_context17.t1).toBe(true); case 8: case "end": return _context17.stop(); } }, _callee17); }))); it("colorviewer is clicked", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee18() { var _render18, driver; return _regenerator["default"].wrap(function _callee18$(_context18) { while (1) switch (_context18.prev = _context18.next) { case 0: _render18 = render(renderColorInput()), driver = _render18.driver; _context18.next = 3; return driver.clickColorViewer(); case 3: _context18.t0 = expect; _context18.next = 6; return driver.colorPickerVisible(); case 6: _context18.t1 = _context18.sent; (0, _context18.t0)(_context18.t1).toBe(true); case 8: case "end": return _context18.stop(); } }, _callee18); }))); }); describe('should close when ', function () { it("input is confirmed with Enter", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee19() { var onConfirm, _render19, driver; return _regenerator["default"].wrap(function _callee19$(_context19) { while (1) switch (_context19.prev = _context19.next) { case 0: onConfirm = vi.fn(); _render19 = render(renderColorInput({ onConfirm: onConfirm })), driver = _render19.driver; _context19.next = 4; return driver.click(); case 4: _context19.next = 6; return driver.keyDown('Enter'); case 6: expect(onConfirm).toHaveBeenCalled(); case 7: case "end": return _context19.stop(); } }, _callee19); }))); it("action button - confirm is clicked", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee20() { var onConfirm, _render20, driver; return _regenerator["default"].wrap(function _callee20$(_context20) { while (1) switch (_context20.prev = _context20.next) { case 0: onConfirm = vi.fn(); _render20 = render(renderColorInput({ onConfirm: onConfirm })), driver = _render20.driver; _context20.next = 4; return driver.click(); case 4: _context20.next = 6; return driver.enterText('#123'); case 6: _context20.next = 8; return driver.confirm(); case 8: _context20.t0 = expect; _context20.next = 11; return driver.colorPickerVisible(); case 11: _context20.t1 = _context20.sent; (0, _context20.t0)(_context20.t1).toBe(false); expect(onConfirm).toHaveBeenCalled(); case 14: case "end": return _context20.stop(); } }, _callee20); }))); }); describe('action button', function () { it("'confirm' should fire confirm event for input", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee21() { var onConfirm, _render21, driver; return _regenerator["default"].wrap(function _callee21$(_context21) { while (1) switch (_context21.prev = _context21.next) { case 0: onConfirm = vi.fn(); _render21 = render(renderColorInput({ onConfirm: onConfirm })), driver = _render21.driver; _context21.next = 4; return driver.click(); case 4: _context21.next = 6; return driver.enterText('#123'); case 6: _context21.next = 8; return driver.confirm(); case 8: expect(onConfirm).toHaveBeenCalledTimes(1); expect(onConfirm.mock.calls[0][0]).toBe('#112233'); case 10: case "end": return _context21.stop(); } }, _callee21); }))); it("'cancel' should fire cancel event for input", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee22() { var value, _render22, driver; return _regenerator["default"].wrap(function _callee22$(_context22) { while (1) switch (_context22.prev = _context22.next) { case 0: value = '#123456'; _render22 = render(renderColorInput({ value: value })), driver = _render22.driver; _context22.next = 4; return driver.click(); case 4: _context22.next = 6; return driver.enterText('1234'); case 6: _context22.t0 = expect; _context22.next = 9; return driver.getValue(); case 9: _context22.t1 = _context22.sent; (0, _context22.t0)(_context22.t1).toBe('1234'); _context22.next = 13; return driver.cancel(); case 13: expect(true).toEqual(true); _context22.t2 = expect; _context22.next = 17; return driver.getValue(); case 17: _context22.t3 = _context22.sent; (0, _context22.t2)(_context22.t3).toBe(value.replace('#', '')); case 19: case "end": return _context22.stop(); } }, _callee22); }))); }); }); describe('props', function () { describe('`disabled` prop', function () { it('should disable input', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee23() { var disabled, _render23, driver; return _regenerator["default"].wrap(function _callee23$(_context23) { while (1) switch (_context23.prev = _context23.next) { case 0: disabled = true; _render23 = render(renderColorInput({ disabled: disabled })), driver = _render23.driver; _context23.t0 = expect; _context23.next = 5; return driver.isDisabled(); case 5: _context23.t1 = _context23.sent; (0, _context23.t0)(_context23.t1).toBe(true); case 7: case "end": return _context23.stop(); } }, _callee23); }))); it('should disable hash', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee24() { var value, disabled, _render24, driver; return _regenerator["default"].wrap(function _callee24$(_context24) { while (1) switch (_context24.prev = _context24.next) { case 0: value = '#ffffff'; disabled = true; _render24 = render(renderColorInput({ disabled: disabled, value: value })), driver = _render24.driver; _context24.t0 = expect; _context24.next = 6; return driver.isHashDisabled(); case 6: _context24.t1 = _context24.sent; (0, _context24.t0)(_context24.t1).toBe(true); case 8: case "end": return _context24.stop(); } }, _callee24); }))); }); describe("'size' prop", function () { it("by default should be medium", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee25() { var _render25, driver; return _regenerator["default"].wrap(function _callee25$(_context25) { while (1) switch (_context25.prev = _context25.next) { case 0: _render25 = render(renderColorInput()), driver = _render25.driver; _context25.t0 = expect; _context25.next = 4; return driver.getSize(); case 4: _context25.t1 = _context25.sent; (0, _context25.t0)(_context25.t1).toEqual('medium'); case 6: case "end": return _context25.stop(); } }, _callee25); }))); it("should be equal to given", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee26() { var _render26, driver; return _regenerator["default"].wrap(function _callee26$(_context26) { while (1) switch (_context26.prev = _context26.next) { case 0: _render26 = render(renderColorInput({ size: 'small' })), driver = _render26.driver; _context26.t0 = expect; _context26.next = 4; return driver.getSize(); case 4: _context26.t1 = _context26.sent; (0, _context26.t0)(_context26.t1).toEqual('small'); case 6: case "end": return _context26.stop(); } }, _callee26); }))); }); describe("'placeholder' prop", function () { var defaultPlaceholder = ''; it("by default should be defined", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee27() { var _render27, driver; return _regenerator["default"].wrap(function _callee27$(_context27) { while (1) switch (_context27.prev = _context27.next) { case 0: _render27 = render(renderColorInput()), driver = _render27.driver; _context27.t0 = expect; _context27.next = 4; return driver.getPlaceholder(); case 4: _context27.t1 = _context27.sent; (0, _context27.t0)(_context27.t1).toBe(defaultPlaceholder); case 6: case "end": return _context27.stop(); } }, _callee27); }))); it("should be equal to given", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee28() { var placeholder, _render28, driver; return _regenerator["default"].wrap(function _callee28$(_context28) { while (1) switch (_context28.prev = _context28.next) { case 0: placeholder = 'Please choose'; _render28 = render(renderColorInput({ placeholder: placeholder })), driver = _render28.driver; _context28.t0 = expect; _context28.next = 5; return driver.getPlaceholder(); case 5: _context28.t1 = _context28.sent; (0, _context28.t0)(_context28.t1).toBe(placeholder); case 7: case "end": return _context28.stop(); } }, _callee28); }))); it("should be hidden when input is clicked", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee29() { var _render29, driver; return _regenerator["default"].wrap(function _callee29$(_context29) { while (1) switch (_context29.prev = _context29.next) { case 0: _render29 = render(renderColorInput()), driver = _render29.driver; _context29.next = 3; return driver.click(); case 3: _context29.t0 = expect; _context29.next = 6; return driver.getPlaceholder(); case 6: _context29.t1 = _context29.sent; (0, _context29.t0)(_context29.t1).toBe(''); case 8: case "end": return _context29.stop(); } }, _callee29); }))); }); describe('status attribute', function () { it('should have no status', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee30() { var _render30, driver; return _regenerator["default"].wrap(function _callee30$(_context30) { while (1) switch (_context30.prev = _context30.next) { case 0: _render30 = render(renderColorInput(test)), driver = _render30.driver; _context30.t0 = expect; _context30.next = 4; return driver.hasStatus('error'); case 4: _context30.t1 = _context30.sent; (0, _context30.t0)(_context30.t1).toBe(false); case 6: case "end": return _context30.stop(); } }, _callee30); }))); it.each([{ status: 'error' }, { status: 'warning' }, { status: 'loading' }])('should display status when %p', /*#__PURE__*/function () { var _ref34 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee31(test) { var _render31, driver; return _regenerator["default"].wrap(function _callee31$(_context31) { while (1) switch (_context31.prev = _context31.next) { case 0: _render31 = render(renderColorInput(test)), driver = _render31.driver; _context31.t0 = expect; _context31.next = 4; return driver.hasStatus(test.status); case 4: _context31.t1 = _context31.sent; (0, _context31.t0)(_context31.t1).toBe(true); case 6: case "end": return _context31.stop(); } }, _callee31); })); return function (_x) { return _ref34.apply(this, arguments); }; }()); it.each([{ status: 'error', statusMessage: 'Error Message' }, { status: 'warning', statusMessage: 'Warning Message' }, { status: 'loading', statusMessage: 'Loading Message' }])('should display status with message when %p', /*#__PURE__*/function () { var _ref35 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee32(test) { var _render32, driver; return _regenerator["default"].wrap(function _callee32$(_context32) { while (1) switch (_context32.prev = _context32.next) { case 0: _render32 = render(renderColorInput(test)), driver = _render32.driver; _context32.t0 = expect; _context32.next = 4; return driver.hasStatus(test.status); case 4: _context32.t1 = _context32.sent; (0, _context32.t0)(_context32.t1).toBe(true); _context32.t2 = expect; _context32.next = 9; return driver.getStatusMessage(); case 9: _context32.t3 = _context32.sent; (0, _context32.t2)(_context32.t3).toBe(test.statusMessage); case 11: case "end": return _context32.stop(); } }, _callee32); })); return function (_x2) { return _ref35.apply(this, arguments); }; }()); }); describe('`onChange` prop', function () { it("should be triggered when input value has changed", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee33() { var onChange, _render33, driver; return _regenerator["default"].wrap(function _callee33$(_context33) { while (1) switch (_context33.prev = _context33.next) { case 0: onChange = vi.fn(); _render33 = render(renderColorInput({ onChange: onChange })), driver = _render33.driver; _context33.next = 4; return driver.enterText('#123'); case 4: expect(onChange).toHaveBeenCalledTimes(1); expect(onChange.mock.calls[0][0]).toBe('#123'); case 6: case "end": return _context33.stop(); } }, _callee33); }))); it("should be triggered when one of the confirmed actions triggered", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee34() { var onChange, _render34, driver; return _regenerator["default"].wrap(function _callee34$(_context34) { while (1) switch (_context34.prev = _context34.next) { case 0: onChange = vi.fn(); _render34 = render(renderColorInput({ onChange: onChange })), driver = _render34.driver; _context34.next = 4; return driver.enterText('#123'); case 4: _context34.next = 6; return driver.keyDown('Enter'); case 6: expect(onChange).toHaveBeenCalledTimes(2); expect(onChange.mock.calls[0][0]).toBe('#123'); expect(onChange.mock.calls[1][0]).toBe('#112233'); case 9: case "end": return _context34.stop(); } }, _callee34); }))); it("should be triggered when one of the cancelled actions triggered", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee35() { var value, onChange, _render35, driver; return _regenerator["default"].wrap(function _callee35$(_context35) { while (1) switch (_context35.prev = _context35.next) { case 0: value = '#1234'; onChange = vi.fn(); _render35 = render(renderColorInput({ onChange: onChange, value: value })), driver = _render35.driver; _context35.next = 5; return driver.enterText('#123'); case 5: _context35.next = 7; return driver.keyDown('Escape'); case 7: expect(onChange).toHaveBeenCalledTimes(2); expect(onChange.mock.calls[0][0]).toBe('#123'); expect(onChange.mock.calls[1][0]).toBe(value); case 10: case "end": return _context35.stop(); } }, _callee35); }))); }); describe('`onConfirm` prop', function () { it("should return confirmed value ", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee36() { var onConfirm, _render36, driver; return _regenerator["default"].wrap(function _callee36$(_context36) { while (1) switch (_context36.prev = _context36.next) { case 0: onConfirm = vi.fn(); _render36 = render(renderColorInput({ onConfirm: onConfirm })), driver = _render36.driver; _context36.next = 4; return driver.enterText('#123'); case 4: _context36.t0 = expect; _context36.next = 7; return driver.getValue(); case 7: _context36.t1 = _context36.sent; (0, _context36.t0)(_context36.t1).toBe('123'); _context36.next = 11; return driver.keyDown('Enter'); case 11: expect(onConfirm).toHaveBeenCalledTimes(1); expect(onConfirm.mock.calls[0][0]).toBe('#112233'); case 13: case "end": return _context36.stop(); } }, _callee36); }))); }); describe('`onCancel` prop', function () { it("should return value from props", /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee37() { var value, onCancel, _render37, driver; return _regenerator["default"].wrap(function _callee37$(_context37) { while (1) switch (_context37.prev = _context37.next) { case 0: value = '#555555'; onCancel = vi.fn(); _render37 = render(renderColorInput({ onCancel: onCancel, value: value })), driver = _render37.driver; _context37.next = 5; return driver.enterText('#123'); case 5: _context37.t0 = expect; _context37.next = 8; return driver.getValue(); case 8: _context37.t1 = _context37.sent; (0, _context37.t0)(_context37.t1).toBe('123'); _context37.next = 12; return driver.keyDown('Escape'); case 12: expect(onCancel).toHaveBeenCalledTimes(1); expect(onCancel.mock.calls[0][0]).toBe(value); case 14: case "end": return _context37.stop(); } }, _callee37); }))); }); }); });