UNPKG

grommet

Version:

focus on the essential experience

208 lines (172 loc) 6.48 kB
"use strict"; var _react = _interopRequireDefault(require("react")); var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer")); require("jest-styled-components"); var _reactTestingLibrary = require("react-testing-library"); var _Grommet = require("../../Grommet"); var _ = require(".."); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('RangeSelector', function () { afterEach(_reactTestingLibrary.cleanup); test('basic', function () { var component = _reactTestRenderer.default.create(_react.default.createElement(_Grommet.Grommet, null, _react.default.createElement(_.RangeSelector, { values: [20, 30] }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('color', function () { var component = _reactTestRenderer.default.create(_react.default.createElement(_Grommet.Grommet, null, _react.default.createElement(_.RangeSelector, { color: "accent-1", values: [20, 30] }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('direction', function () { var component = _reactTestRenderer.default.create(_react.default.createElement(_Grommet.Grommet, null, _react.default.createElement(_.RangeSelector, { direction: "horizontal", values: [20, 30] }), _react.default.createElement(_.RangeSelector, { direction: "vertical", values: [20, 30] }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('invert', function () { var component = _reactTestRenderer.default.create(_react.default.createElement(_Grommet.Grommet, null, _react.default.createElement(_.RangeSelector, { invert: true, values: [20, 30] }), _react.default.createElement(_.RangeSelector, { invert: false, values: [20, 30] }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('max', function () { var component = _reactTestRenderer.default.create(_react.default.createElement(_Grommet.Grommet, null, _react.default.createElement(_.RangeSelector, { max: 50, values: [20, 30] }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('min', function () { var component = _reactTestRenderer.default.create(_react.default.createElement(_Grommet.Grommet, null, _react.default.createElement(_.RangeSelector, { min: 10, values: [20, 30] }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('opacity', function () { var component = _reactTestRenderer.default.create(_react.default.createElement(_Grommet.Grommet, null, ['weak', 'medium', 'strong'].map(function (opacity) { return _react.default.createElement(_.RangeSelector, { key: opacity, opacity: opacity, values: [20, 30] }); }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('round', function () { var component = _reactTestRenderer.default.create(_react.default.createElement(_Grommet.Grommet, null, ['xsmall', 'small', 'medium', 'large', 'full'].map(function (round) { return _react.default.createElement(_.RangeSelector, { key: round, round: round, values: [20, 30] }); }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('size', function () { var component = _reactTestRenderer.default.create(_react.default.createElement(_Grommet.Grommet, null, ['xxsmall', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'full'].map(function (size) { return _react.default.createElement(_.RangeSelector, { key: size, size: size, values: [20, 30] }); }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('step', function () { var component = _reactTestRenderer.default.create(_react.default.createElement(_Grommet.Grommet, null, _react.default.createElement(_.RangeSelector, { step: 10, values: [20, 30] }))); var tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); test('handle keyboard', function () { var onChange = jest.fn(); var _render = (0, _reactTestingLibrary.render)(_react.default.createElement(_Grommet.Grommet, null, _react.default.createElement(_.RangeSelector, { values: [20, 30], onChange: onChange }))), container = _render.container, getByLabelText = _render.getByLabelText; expect(container.firstChild).toMatchSnapshot(); var lowerControl = getByLabelText('Lower Bounds'); _reactTestingLibrary.fireEvent.keyDown(lowerControl, { key: 'Left', keyCode: 37 }); expect(onChange).toBeCalled(); _reactTestingLibrary.fireEvent.keyDown(lowerControl, { key: 'Right', keyCode: 39 }); expect(onChange).toBeCalled(); var upperControl = getByLabelText('Upper Bounds'); _reactTestingLibrary.fireEvent.keyDown(upperControl, { key: 'Right', keyCode: 39 }); expect(onChange).toBeCalled(); _reactTestingLibrary.fireEvent.keyDown(upperControl, { key: 'Left', keyCode: 37 }); expect(onChange).toBeCalled(); }); test('handle mouse', function () { var onChange = jest.fn(); var _render2 = (0, _reactTestingLibrary.render)(_react.default.createElement(_Grommet.Grommet, null, _react.default.createElement(_.RangeSelector, { values: [20, 30], onChange: onChange }))), container = _render2.container, getByLabelText = _render2.getByLabelText; expect(container.firstChild).toMatchSnapshot(); _reactTestingLibrary.fireEvent.click(container.firstChild.firstChild, { clientX: 0, clientY: 0 }); expect(onChange).toBeCalled(); var map = {}; window.addEventListener = jest.fn(function (event, cb) { map[event] = cb; }); var lowerControl = getByLabelText('Lower Bounds'); _reactTestingLibrary.fireEvent.mouseDown(lowerControl); map.mousemove({ clientX: 0, clientY: 0 }); expect(onChange).toBeCalled(); map.mouseup(); var upperControl = getByLabelText('Upper Bounds'); _reactTestingLibrary.fireEvent.mouseDown(upperControl); map.mousemove({ clientX: 0, clientY: 0 }); expect(onChange).toBeCalled(); map.mouseup(); }); });