|
|
|
/* eslint-disable import/prefer-default-export */
|
|
|
|
export function selectDate(wrapper, date, index) {
|
|
|
|
let calendar = wrapper;
|
|
|
|
if (index !== undefined) {
|
|
|
|
calendar = wrapper.find('.ant-calendar-range-part').at(index);
|
|
|
|
}
|
|
|
|
calendar.find({ title: date.format('LL'), role: 'gridcell' }).simulate('click');
|
|
|
|
}
|
|
|
|
|
|
|
|
export function hasSelected(wrapper, date) {
|
|
|
|
return wrapper
|
|
|
|
.find({ title: date.format('LL'), role: 'gridcell' })
|
|
|
|
.hasClass('ant-calendar-selected-day');
|
|
|
|
}
|
|
|
|
|
|
|
|
export function openPanel(wrapper) {
|
|
|
|
wrapper.find('.ant-calendar-picker-input').simulate('click');
|
|
|
|
}
|
|
|
|
|
|
|
|
export function clearInput(wrapper) {
|
|
|
|
wrapper
|
|
|
|
.find('.ant-calendar-picker-clear')
|
|
|
|
.hostNodes()
|
|
|
|
.simulate('click');
|
|
|
|
}
|
|
|
|
|
|
|
|
export function nextYear(wrapper) {
|
|
|
|
wrapper.find('.ant-calendar-next-year-btn').simulate('click');
|
|
|
|
}
|
|
|
|
|
|
|
|
export function nextMonth(wrapper) {
|
|
|
|
wrapper.find('.ant-calendar-next-month-btn').simulate('click');
|
|
|
|
}
|
|
|
|
|
|
|
|
export function openPicker(wrapper, index = 0) {
|
|
|
|
wrapper
|
|
|
|
.find('input')
|
|
|
|
.at(index)
|
|
|
|
.simulate('mousedown')
|
|
|
|
.simulate('focus');
|
|
|
|
}
|
|
|
|
export function closePicker(wrapper, index = 0) {
|
|
|
|
wrapper
|
|
|
|
.find('input')
|
|
|
|
.at(index)
|
|
|
|
.simulate('blur');
|
|
|
|
}
|
|
|
|
|
|
|
|
export function selectCell(wrapper, text, index = 0) {
|
|
|
|
let matchCell;
|
|
|
|
|
|
|
|
wrapper
|
|
|
|
.find('table')
|
|
|
|
.at(index)
|
|
|
|
.find('td')
|
|
|
|
.forEach(td => {
|
|
|
|
if (td.text() === String(text) && td.props().className.includes('-in-view')) {
|
|
|
|
matchCell = td;
|
|
|
|
td.simulate('click');
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
if (!matchCell) {
|
|
|
|
throw new Error('Cell not match in picker panel.');
|
|
|
|
}
|
|
|
|
|
|
|
|
return matchCell;
|
|
|
|
}
|