UNPKG

lucid-ui

Version:

A UI component library from AppNexus.

58 lines (57 loc) 2.19 kB
function _extends() { _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; }; return _extends.apply(this, arguments); } import { shallow } from 'enzyme'; import React from 'react'; import TimeSelect, { MeridiemType } from './TimeSelect'; import TimeSelectHour from './TimeSelectHour'; import TimeSelectMeridiem from './TimeSelectMeridiem'; import TimeSelectMinute from './TimeSelectMinute'; describe('TimeSelect', function () { var props = { time: new Date('2020-11-03T17:30:00'), //YYYY-MM-DDTHH:MM:SS is24HourClock: false, onChange: jest.fn(), isDisabled: false }; var component; beforeEach(function () { component = shallow( /*#__PURE__*/React.createElement(TimeSelect, props)); }); it('should render TimeSelectHour with correct props', function () { expect(component.find(TimeSelectHour).props()).toEqual({ hour: 5, time: props.time, is24HourClock: props.is24HourClock, isAM: false, isDisabled: props.isDisabled, onChange: props.onChange }); }); it('should render TimeSelectMinute with correct props', function () { expect(component.find(TimeSelectMinute).props()).toEqual({ minute: 30, time: props.time, isDisabled: props.isDisabled, onChange: props.onChange }); }); describe('when is not is24HourClock', function () { it('should NOT render TimeSelectMeridiem', function () { component = shallow( /*#__PURE__*/React.createElement(TimeSelect, _extends({}, props, { is24HourClock: true }))); expect(component.find(TimeSelectMeridiem)).toHaveLength(0); }); }); describe('when is is24HourClock', function () { it('should render TimeSelectMeridiem with correct props', function () { expect(component.find(TimeSelectMeridiem).props()).toEqual({ hour: 5, meridiem: MeridiemType.PM, time: props.time, isDisabled: props.isDisabled, onChange: props.onChange }); }); }); });