@roo-ui/components
Version:
89 lines (69 loc) • 3.48 kB
JavaScript
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);
});
});
});
});
});
;