UNPKG

wix-style-react

Version:
1,015 lines (831 loc) • 34.7 kB
'use strict'; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _enzyme = require('enzyme'); var _uniDriverFactory = require('wix-ui-test-utils/uni-driver-factory'); var _enzyme2 = require('wix-ui-test-utils/enzyme'); var _DropdownBase = require('./DropdownBase'); var _DropdownBase2 = _interopRequireDefault(_DropdownBase); var _DropdownBaseDriver = require('./DropdownBase.driver.private'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } describe('DropdownBase', function () { var createDriver = (0, _uniDriverFactory.createUniDriverFactory)(_DropdownBaseDriver.dropdownBasePrivateDriverFactory); var dropdownBaseEnzymeDriver = (0, _enzyme2.enzymeUniTestkitFactoryCreator)(_DropdownBaseDriver.dropdownBasePrivateDriverFactory); var defaultProps = { options: [{ id: 0, value: 'First option' }, { id: 1, value: 'Second option' }, { id: 2, value: 'Third option' }, { id: 3, value: 'Fourth option' }] }; var createUncontrolledDriver = function createUncontrolledDriver(renderProp, initialProps) { var args = void 0; var driver = createDriver(_react2.default.createElement( _DropdownBase2.default, _extends({}, defaultProps, initialProps), function (_args) { args = _args; return renderProp ? renderProp(_args) : _react2.default.createElement( 'div', null, 'Hello again' ); } )); return { args: args, driver: driver }; }; var createControlledDriver = function createControlledDriver(renderProp, initialProps) { var args = void 0; var dataHook = 'dropdown-base-0'; var wrapper = (0, _enzyme.mount)(_react2.default.createElement( _DropdownBase2.default, _extends({}, defaultProps, { dataHook: dataHook, open: false }, initialProps), function (_args) { args = _args; return renderProp ? renderProp(_args) : _react2.default.createElement( 'div', null, 'Hello again' ); } )); var driver = dropdownBaseEnzymeDriver({ wrapper: wrapper, dataHook: dataHook }); return { args: args, driver: driver, wrapper: wrapper }; }; it('should render', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { var driver; return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: driver = createDriver(_react2.default.createElement(_DropdownBase2.default, defaultProps)); _context.t0 = expect; _context.next = 4; return driver.exists(); case 4: _context.t1 = _context.sent; (0, _context.t0)(_context.t1).toBeTruthy(); case 6: case 'end': return _context.stop(); } } }, _callee, undefined); }))); it('should accept a node as a children', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { var driver, targetElement; return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: driver = createDriver(_react2.default.createElement( _DropdownBase2.default, defaultProps, _react2.default.createElement( 'div', null, 'Hello' ) )); _context2.next = 3; return driver.getTargetElement(); case 3: targetElement = _context2.sent; expect(targetElement.innerHTML).toContain('Hello'); case 5: case 'end': return _context2.stop(); } } }, _callee2, undefined); }))); it('should accept a function as a children and pass it the required arguments', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() { var driver, targetElement; return regeneratorRuntime.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: driver = createDriver(_react2.default.createElement( _DropdownBase2.default, defaultProps, function (_ref4) { var open = _ref4.open, close = _ref4.close, toggle = _ref4.toggle, delegateKeyDown = _ref4.delegateKeyDown, selectedOption = _ref4.selectedOption; expect(typeof open === 'undefined' ? 'undefined' : _typeof(open)).toBe('function'); expect(typeof close === 'undefined' ? 'undefined' : _typeof(close)).toBe('function'); expect(typeof toggle === 'undefined' ? 'undefined' : _typeof(toggle)).toBe('function'); expect(typeof delegateKeyDown === 'undefined' ? 'undefined' : _typeof(delegateKeyDown)).toBe('function'); expect(selectedOption).toEqual(undefined); return _react2.default.createElement( 'div', null, 'Hello again' ); } )); _context3.next = 3; return driver.getTargetElement(); case 3: targetElement = _context3.sent; expect(targetElement.innerHTML).toContain('Hello again'); case 5: case 'end': return _context3.stop(); } } }, _callee3, undefined); }))); it('should call onSelect when an option was selected', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() { var onSelectFn, driver; return regeneratorRuntime.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: onSelectFn = jest.fn(); driver = createDriver(_react2.default.createElement( _DropdownBase2.default, _extends({}, defaultProps, { open: true, onSelect: onSelectFn }), _react2.default.createElement( 'div', null, 'Hello' ) )); _context4.next = 4; return driver.selectOption(0); case 4: expect(onSelectFn).toHaveBeenCalledWith({ id: 0, value: 'First option' }); case 5: case 'end': return _context4.stop(); } } }, _callee4, undefined); }))); it('should call onClickOutside', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() { var onClickOutsideFn, driver; return regeneratorRuntime.wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: onClickOutsideFn = jest.fn(); driver = createDriver(_react2.default.createElement( _DropdownBase2.default, _extends({}, defaultProps, { onClickOutside: onClickOutsideFn }), _react2.default.createElement( 'div', null, 'Hello' ) )); _context5.next = 4; return driver.clickOutside(); case 4: expect(onClickOutsideFn).toHaveBeenCalledTimes(1); case 5: case 'end': return _context5.stop(); } } }, _callee5, undefined); }))); it('should call onMouseEnter', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() { var onMouseEnterFn, driver; return regeneratorRuntime.wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: onMouseEnterFn = jest.fn(); driver = createDriver(_react2.default.createElement( _DropdownBase2.default, _extends({}, defaultProps, { onMouseEnter: onMouseEnterFn }), _react2.default.createElement( 'div', null, 'Hello' ) )); _context6.next = 4; return driver.mouseEnter(); case 4: expect(onMouseEnterFn).toHaveBeenCalledTimes(1); case 5: case 'end': return _context6.stop(); } } }, _callee6, undefined); }))); it('should call onMouseLeave', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() { var onMouseLeaveFn, driver; return regeneratorRuntime.wrap(function _callee7$(_context7) { while (1) { switch (_context7.prev = _context7.next) { case 0: onMouseLeaveFn = jest.fn(); driver = createDriver(_react2.default.createElement( _DropdownBase2.default, _extends({}, defaultProps, { onMouseLeave: onMouseLeaveFn }), _react2.default.createElement( 'div', null, 'Hello' ) )); _context7.next = 4; return driver.mouseLeave(); case 4: expect(onMouseLeaveFn).toHaveBeenCalledTimes(1); case 5: case 'end': return _context7.stop(); } } }, _callee7, undefined); }))); describe('uncontrolled open behaviour', function () { it('should allow controlling the behaviour using a render prop', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() { var _createUncontrolledDr, args, driver; return regeneratorRuntime.wrap(function _callee8$(_context8) { while (1) { switch (_context8.prev = _context8.next) { case 0: _createUncontrolledDr = createUncontrolledDriver(), args = _createUncontrolledDr.args, driver = _createUncontrolledDr.driver; args.open(); _context8.t0 = expect; _context8.next = 5; return driver.isDropdownShown(); case 5: _context8.t1 = _context8.sent; (0, _context8.t0)(_context8.t1).toBeTruthy(); args.close(); _context8.t2 = expect; _context8.next = 11; return driver.isDropdownShown(); case 11: _context8.t3 = _context8.sent; (0, _context8.t2)(_context8.t3).toBeFalsy(); args.toggle(); _context8.t4 = expect; _context8.next = 17; return driver.isDropdownShown(); case 17: _context8.t5 = _context8.sent; (0, _context8.t4)(_context8.t5).toBeTruthy(); args.toggle(); _context8.t6 = expect; _context8.next = 23; return driver.isDropdownShown(); case 23: _context8.t7 = _context8.sent; (0, _context8.t6)(_context8.t7).toBeFalsy(); case 25: case 'end': return _context8.stop(); } } }, _callee8, undefined); }))); it('should close on click outside', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() { var _createUncontrolledDr2, args, driver; return regeneratorRuntime.wrap(function _callee9$(_context9) { while (1) { switch (_context9.prev = _context9.next) { case 0: _createUncontrolledDr2 = createUncontrolledDriver(), args = _createUncontrolledDr2.args, driver = _createUncontrolledDr2.driver; args.open(); _context9.t0 = expect; _context9.next = 5; return driver.isDropdownShown(); case 5: _context9.t1 = _context9.sent; (0, _context9.t0)(_context9.t1).toBeTruthy(); _context9.next = 9; return driver.clickOutside(); case 9: _context9.t2 = expect; _context9.next = 12; return driver.isDropdownShown(); case 12: _context9.t3 = _context9.sent; (0, _context9.t2)(_context9.t3).toBeFalsy(); case 14: case 'end': return _context9.stop(); } } }, _callee9, undefined); }))); it('should close when selecting an option', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() { var _createUncontrolledDr3, args, driver; return regeneratorRuntime.wrap(function _callee10$(_context10) { while (1) { switch (_context10.prev = _context10.next) { case 0: _createUncontrolledDr3 = createUncontrolledDriver(), args = _createUncontrolledDr3.args, driver = _createUncontrolledDr3.driver; args.open(); _context10.t0 = expect; _context10.next = 5; return driver.isDropdownShown(); case 5: _context10.t1 = _context10.sent; (0, _context10.t0)(_context10.t1).toBeTruthy(); _context10.next = 9; return driver.selectOption(0); case 9: _context10.t2 = expect; _context10.next = 12; return driver.isDropdownShown(); case 12: _context10.t3 = _context10.sent; (0, _context10.t2)(_context10.t3).toBeFalsy(); case 14: case 'end': return _context10.stop(); } } }, _callee10, undefined); }))); describe('keyDown handling', function () { it('should delegate the event to the DropdownLayout', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee11() { var _createUncontrolledDr4, args, driver; return regeneratorRuntime.wrap(function _callee11$(_context11) { while (1) { switch (_context11.prev = _context11.next) { case 0: _createUncontrolledDr4 = createUncontrolledDriver(), args = _createUncontrolledDr4.args, driver = _createUncontrolledDr4.driver; // We'll press the ArrowDown key to highlight the next option, and then select it with the // Enter key. args.open(); _context11.next = 4; return driver.keyDown('ArrowDown'); case 4: _context11.t0 = expect; _context11.next = 7; return driver.isOptionHovered(0); case 7: _context11.t1 = _context11.sent; (0, _context11.t0)(_context11.t1).toBeTruthy(); _context11.next = 11; return driver.keyDown('Enter'); case 11: args.open(); _context11.t2 = expect; _context11.next = 15; return driver.isOptionSelected(0); case 15: _context11.t3 = _context11.sent; (0, _context11.t2)(_context11.t3).toBeTruthy(); case 17: case 'end': return _context11.stop(); } } }, _callee11, undefined); }))); it.each([['Enter', 'Spacebar', 'ArrowDown']])('should open the DropdownLayout when the %s key is pressed', function () { var _ref13 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee12(expectedKey) { var _createUncontrolledDr5, driver; return regeneratorRuntime.wrap(function _callee12$(_context12) { while (1) { switch (_context12.prev = _context12.next) { case 0: _createUncontrolledDr5 = createUncontrolledDriver(), driver = _createUncontrolledDr5.driver; _context12.t0 = expect; _context12.next = 4; return driver.isDropdownShown(); case 4: _context12.t1 = _context12.sent; (0, _context12.t0)(_context12.t1).toBeFalsy(); _context12.next = 8; return driver.keyDown(expectedKey); case 8: _context12.t2 = expect; _context12.next = 11; return driver.isDropdownShown(); case 11: _context12.t3 = _context12.sent; (0, _context12.t2)(_context12.t3).toBeTruthy(); case 13: case 'end': return _context12.stop(); } } }, _callee12, undefined); })); return function (_x) { return _ref13.apply(this, arguments); }; }()); }); describe('mouseLeave handling', function () { it('should not close the popover when leaving the target element', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee13() { var _createUncontrolledDr6, driver; return regeneratorRuntime.wrap(function _callee13$(_context13) { while (1) { switch (_context13.prev = _context13.next) { case 0: // This test handles a special case when the `close` function triggers directly on the // `mouseleave` event of the target element. Normally, The `mouseleave` event will trigger // when the user moves the cursor from the target element to the DropdownLayout, thus the // DropdownLayout will be closed. // This is not the desired behaviour. As a result, the DropdownBase handle this specific // case. // We'll use a custom render function _createUncontrolledDr6 = createUncontrolledDriver(function (_ref15) { var open = _ref15.open, close = _ref15.close; return _react2.default.createElement( 'div', { onMouseEnter: open, onMouseLeave: close }, 'Hover me!' ); }), driver = _createUncontrolledDr6.driver; _context13.next = 3; return driver.mouseEnterTarget(); case 3: _context13.t0 = expect; _context13.next = 6; return driver.isDropdownShown(); case 6: _context13.t1 = _context13.sent; (0, _context13.t0)(_context13.t1).toBeTruthy(); _context13.next = 10; return driver.mouseLeaveTarget(); case 10: _context13.t2 = expect; _context13.next = 13; return driver.isDropdownShown(); case 13: _context13.t3 = _context13.sent; (0, _context13.t2)(_context13.t3).toBeTruthy(); _context13.next = 17; return driver.mouseLeave(); case 17: _context13.t4 = expect; _context13.next = 20; return driver.isDropdownShown(); case 20: _context13.t5 = _context13.sent; (0, _context13.t4)(_context13.t5).toBeFalsy(); case 22: case 'end': return _context13.stop(); } } }, _callee13, undefined); }))); }); }); describe('controlled open behaviour', function () { it('should allow controlling the behaviour using the `open` prop', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee14() { var _createControlledDriv, driver, wrapper; return regeneratorRuntime.wrap(function _callee14$(_context14) { while (1) { switch (_context14.prev = _context14.next) { case 0: _createControlledDriv = createControlledDriver(), driver = _createControlledDriv.driver, wrapper = _createControlledDriv.wrapper; wrapper.setProps({ open: true }); _context14.t0 = expect; _context14.next = 5; return driver.isDropdownShown(); case 5: _context14.t1 = _context14.sent; (0, _context14.t0)(_context14.t1).toBeTruthy(); wrapper.setProps({ open: false }); _context14.t2 = expect; _context14.next = 11; return driver.isDropdownShown(); case 11: _context14.t3 = _context14.sent; (0, _context14.t2)(_context14.t3).toBeFalsy(); case 13: case 'end': return _context14.stop(); } } }, _callee14, undefined); }))); it('should not allow controlling the behaviour using a render prop', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee15() { var _createControlledDriv2, args, driver; return regeneratorRuntime.wrap(function _callee15$(_context15) { while (1) { switch (_context15.prev = _context15.next) { case 0: _createControlledDriv2 = createControlledDriver(), args = _createControlledDriv2.args, driver = _createControlledDriv2.driver; args.open(); _context15.t0 = expect; _context15.next = 5; return driver.isDropdownShown(); case 5: _context15.t1 = _context15.sent; (0, _context15.t0)(_context15.t1).toBeFalsy(); args.close(); _context15.t2 = expect; _context15.next = 11; return driver.isDropdownShown(); case 11: _context15.t3 = _context15.sent; (0, _context15.t2)(_context15.t3).toBeFalsy(); args.toggle(); _context15.t4 = expect; _context15.next = 17; return driver.isDropdownShown(); case 17: _context15.t5 = _context15.sent; (0, _context15.t4)(_context15.t5).toBeFalsy(); case 19: case 'end': return _context15.stop(); } } }, _callee15, undefined); }))); it('should not close on click outside', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee16() { var _createControlledDriv3, driver, wrapper; return regeneratorRuntime.wrap(function _callee16$(_context16) { while (1) { switch (_context16.prev = _context16.next) { case 0: _createControlledDriv3 = createControlledDriver(), driver = _createControlledDriv3.driver, wrapper = _createControlledDriv3.wrapper; wrapper.setProps({ open: true }); _context16.t0 = expect; _context16.next = 5; return driver.isDropdownShown(); case 5: _context16.t1 = _context16.sent; (0, _context16.t0)(_context16.t1).toBeTruthy(); _context16.next = 9; return driver.clickOutside(); case 9: _context16.t2 = expect; _context16.next = 12; return driver.isDropdownShown(); case 12: _context16.t3 = _context16.sent; (0, _context16.t2)(_context16.t3).toBeTruthy(); case 14: case 'end': return _context16.stop(); } } }, _callee16, undefined); }))); it('should not close when selecting an option', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee17() { var _createControlledDriv4, driver, wrapper; return regeneratorRuntime.wrap(function _callee17$(_context17) { while (1) { switch (_context17.prev = _context17.next) { case 0: _createControlledDriv4 = createControlledDriver(), driver = _createControlledDriv4.driver, wrapper = _createControlledDriv4.wrapper; wrapper.setProps({ open: true }); _context17.t0 = expect; _context17.next = 5; return driver.isDropdownShown(); case 5: _context17.t1 = _context17.sent; (0, _context17.t0)(_context17.t1).toBeTruthy(); _context17.next = 9; return driver.selectOption(0); case 9: _context17.t2 = expect; _context17.next = 12; return driver.isDropdownShown(); case 12: _context17.t3 = _context17.sent; (0, _context17.t2)(_context17.t3).toBeTruthy(); case 14: case 'end': return _context17.stop(); } } }, _callee17, undefined); }))); describe('keyDown handling', function () { it('should not delegate the event to the DropdownLayout by default', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee18() { var _createControlledDriv5, driver, wrapper; return regeneratorRuntime.wrap(function _callee18$(_context18) { while (1) { switch (_context18.prev = _context18.next) { case 0: _createControlledDriv5 = createControlledDriver(), driver = _createControlledDriv5.driver, wrapper = _createControlledDriv5.wrapper; wrapper.setProps({ open: true }); _context18.next = 4; return driver.keyDown('ArrowDown'); case 4: _context18.t0 = expect; _context18.next = 7; return driver.isOptionHovered(0); case 7: _context18.t1 = _context18.sent; (0, _context18.t0)(_context18.t1).toBeFalsy(); _context18.next = 11; return driver.keyDown('Enter'); case 11: _context18.t2 = expect; _context18.next = 14; return driver.isDropdownShown(); case 14: _context18.t3 = _context18.sent; (0, _context18.t2)(_context18.t3).toBeTruthy(); case 16: case 'end': return _context18.stop(); } } }, _callee18, undefined); }))); }); }); describe('uncontrolled selection behaviour', function () { it('should accept an initialSelectedId and use it', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee19() { var driver; return regeneratorRuntime.wrap(function _callee19$(_context19) { while (1) { switch (_context19.prev = _context19.next) { case 0: driver = createDriver(_react2.default.createElement( _DropdownBase2.default, _extends({}, defaultProps, { open: true, initialSelectedId: 2 }), _react2.default.createElement( 'div', null, 'Hello' ) )); _context19.t0 = expect; _context19.next = 4; return driver.isOptionSelected(2); case 4: _context19.t1 = _context19.sent; (0, _context19.t0)(_context19.t1).toBeTruthy(); case 6: case 'end': return _context19.stop(); } } }, _callee19, undefined); }))); it('should store the selection after user interaction', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee20() { var driver; return regeneratorRuntime.wrap(function _callee20$(_context20) { while (1) { switch (_context20.prev = _context20.next) { case 0: driver = createDriver(_react2.default.createElement( _DropdownBase2.default, _extends({}, defaultProps, { open: true }), _react2.default.createElement( 'div', null, 'Hello' ) )); _context20.next = 3; return driver.selectOption(0); case 3: _context20.t0 = expect; _context20.next = 6; return driver.isOptionSelected(0); case 6: _context20.t1 = _context20.sent; (0, _context20.t0)(_context20.t1).toBeTruthy(); _context20.next = 10; return driver.selectOption(2); case 10: _context20.t2 = expect; _context20.next = 13; return driver.isOptionSelected(2); case 13: _context20.t3 = _context20.sent; (0, _context20.t2)(_context20.t3).toBeTruthy(); case 15: case 'end': return _context20.stop(); } } }, _callee20, undefined); }))); }); describe('controlled selection behaviour', function () { it('should accept an initialSelectedId and use it', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee21() { var _createControlledDriv6, driver; return regeneratorRuntime.wrap(function _callee21$(_context21) { while (1) { switch (_context21.prev = _context21.next) { case 0: _createControlledDriv6 = createControlledDriver(null, { open: true, onSelect: jest.fn(), selectedId: 0, initialSelectedId: 2 }), driver = _createControlledDriv6.driver; _context21.t0 = expect; _context21.next = 4; return driver.isOptionSelected(2); case 4: _context21.t1 = _context21.sent; (0, _context21.t0)(_context21.t1).toBeTruthy(); case 6: case 'end': return _context21.stop(); } } }, _callee21, undefined); }))); it('should update according to the selectedId', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee22() { var _createControlledDriv7, driver, wrapper; return regeneratorRuntime.wrap(function _callee22$(_context22) { while (1) { switch (_context22.prev = _context22.next) { case 0: _createControlledDriv7 = createControlledDriver(null, { open: true, onSelect: jest.fn(), selectedId: 1 }), driver = _createControlledDriv7.driver, wrapper = _createControlledDriv7.wrapper; _context22.t0 = expect; _context22.next = 4; return driver.isOptionSelected(1); case 4: _context22.t1 = _context22.sent; (0, _context22.t0)(_context22.t1).toBeTruthy(); wrapper.setProps({ selectedId: 2 }); _context22.t2 = expect; _context22.next = 10; return driver.isOptionSelected(2); case 10: _context22.t3 = _context22.sent; (0, _context22.t2)(_context22.t3).toBeTruthy(); case 12: case 'end': return _context22.stop(); } } }, _callee22, undefined); }))); it('should not store the selection after user interaction', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee23() { var _createControlledDriv8, driver; return regeneratorRuntime.wrap(function _callee23$(_context23) { while (1) { switch (_context23.prev = _context23.next) { case 0: _createControlledDriv8 = createControlledDriver(null, { open: true, onSelect: jest.fn(), selectedId: 1 }), driver = _createControlledDriv8.driver; _context23.next = 3; return driver.selectOption(0); case 3: _context23.t0 = expect; _context23.next = 6; return driver.isOptionSelected(0); case 6: _context23.t1 = _context23.sent; (0, _context23.t0)(_context23.t1).toBeFalsy(); _context23.t2 = expect; _context23.next = 11; return driver.isOptionSelected(1); case 11: _context23.t3 = _context23.sent; (0, _context23.t2)(_context23.t3).toBeTruthy(); _context23.next = 15; return driver.selectOption(2); case 15: _context23.t4 = expect; _context23.next = 18; return driver.isOptionSelected(2); case 18: _context23.t5 = _context23.sent; (0, _context23.t4)(_context23.t5).toBeFalsy(); _context23.t6 = expect; _context23.next = 23; return driver.isOptionSelected(1); case 23: _context23.t7 = _context23.sent; (0, _context23.t6)(_context23.t7).toBeTruthy(); case 25: case 'end': return _context23.stop(); } } }, _callee23, undefined); }))); }); });