UNPKG

@roo-ui/components

Version:

89 lines (69 loc) 3.48 kB
'use strict'; 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 _themes = require('@roo-ui/themes'); var _testUtils = require('@roo-ui/test-utils'); var _dateFns = require('date-fns'); var _ = require('.'); var _2 = _interopRequireDefault(_); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('<CalendarDays />', function () { var wrapper = void 0; var startDate = new Date(2018, 7, 1, 10, 33, 30, 0); var props = { monthName: 'Jul', month: 7, year: 2018, stacked: true, weekdayNames: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], weeks: [[{ date: startDate }, { date: (0, _dateFns.addDays)(startDate, 1) }, { date: (0, _dateFns.addDays)(startDate, 2) }, { date: (0, _dateFns.addDays)(startDate, 3) }, { date: (0, _dateFns.addDays)(startDate, 4) }, { date: (0, _dateFns.addDays)(startDate, 5) }, { date: (0, _dateFns.addDays)(startDate, 7) }], [{ date: (0, _dateFns.addDays)(startDate, 7) }, { date: (0, _dateFns.addDays)(startDate, 8) }, { date: (0, _dateFns.addDays)(startDate, 9) }, { date: (0, _dateFns.addDays)(startDate, 10) }, { date: (0, _dateFns.addDays)(startDate, 11) }, { date: (0, _dateFns.addDays)(startDate, 12) }, { date: (0, _dateFns.addDays)(startDate, 14) }]], getDateProps: jest.fn }; var setup = function setup() { var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var newProps = _extends({}, props, params); wrapper = (0, _testUtils.shallowWithTheme)(_react2.default.createElement(_2.default, newProps), _themes.qantas); }; it('renders correctly', function () { setup(); expect(wrapper).toMatchSnapshot(); }); describe('<CalendarDay />', function () { describe('highlighted', function () { describe('when isInRange is false', function () { it('props.highlighted is false', function () { setup({ isInRange: function isInRange() { return false; } }); expect(wrapper.find('CalendarDay').first().prop('highlighted')).toEqual(false); }); }); describe('when isInRange is true', function () { it('props.highlighted is true', function () { setup({ isInRange: function isInRange() { return true; } }); expect(wrapper.find('CalendarDay').first().prop('highlighted')).toEqual(true); }); }); }); describe('disabled', function () { describe('when disabled dates are provided', function () { beforeEach(function () { return setup({ disabledDates: [startDate, (0, _dateFns.addDays)(startDate, 1)] }); }); it('provided dates are disabled', function () { expect(wrapper.find('CalendarDay').at(0).prop('disabled')).toEqual(true); expect(wrapper.find('CalendarDay').at(1).prop('disabled')).toEqual(true); }); it('other dates are not disabled', function () { expect(wrapper.find('CalendarDay').at(2).prop('disabled')).toEqual(false); expect(wrapper.find('CalendarDay').at(3).prop('disabled')).toEqual(false); }); }); }); }); });