qt-public-ui
Version:
新设计规范下业务组件库
153 lines (152 loc) • 6.64 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.radioOptions = void 0;
var _react = _interopRequireDefault(require("react"));
var _enzyme = require("enzyme");
var _moment = _interopRequireDefault(require("moment"));
var _mockdate = _interopRequireDefault(require("mockdate"));
var _indexv = _interopRequireDefault(require("../indexv3"));
var option = ['today', 'yesterday', 'recent7Day', 'recent15Day', 'recent15DayFromToday', 'recent7DayFromToday', 'recent30Day', 'recent60Day', 'recent60DayFromToday', 'recent90Day', 'recent90DayFromToday', 'recent30DayFromToday', 'recent48Hour', 'recent24Hour', 'recent1Hour', 'thisWeek', 'lastWeek', 'thisMonth', 'lastMonth'];
var radioOptions = exports.radioOptions = [{
name: '本周',
value: 'thisWeek'
}, {
name: '上周',
value: 'lastWeek' // 不包含今天
}, {
name: '本月',
value: 'thisMonth'
}, {
name: '上月',
value: 'lastMonth' // 不包含今天
}, {
name: '过去1小时',
value: 'recent1Hour'
}, {
name: '过去24小时',
value: 'recent24Hour'
}, {
name: '过去48小时',
value: 'recent48Hour'
}, {
name: '实时',
value: 'today'
}, {
name: '昨天',
value: 'yesterday'
}, {
name: '过去7天',
value: 'recent7Day' // 不包含今天
}, {
name: '近7天',
value: 'recent7DayFromToday' // 包含今天
}, {
name: '过去15天',
value: 'recent15Day'
}, {
name: '近15天',
value: 'recent15DayFromToday' // 包含今天
}, {
name: '过去30天',
value: 'recent30Day'
}, {
name: '近30天',
value: 'recent30DayFromToday'
}, {
name: '过去60天',
value: 'recent60Day'
}, {
name: '近60天',
value: 'recent60DayFromToday'
}, {
name: '过去90天',
value: 'recent90Day'
}, {
name: '近90天',
value: 'recent90DayFromToday'
}];
var getDateRange = function getDateRange(key) {
switch (key) {
case 'recent24Hour':
return [(0, _moment["default"])().subtract(23, 'h'), (0, _moment["default"])()];
case 'recent48Hour':
return [(0, _moment["default"])().subtract(47, 'h'), (0, _moment["default"])()];
case 'recent1Hour':
return [(0, _moment["default"])().subtract(59, 'm'), (0, _moment["default"])()];
case 'today':
return [(0, _moment["default"])().startOf('d'), (0, _moment["default"])().endOf('d')];
case 'yesterday':
return [(0, _moment["default"])().subtract(1, 'd').startOf('d'), (0, _moment["default"])().subtract(1, 'd').endOf('d')];
case 'recent7Day':
return [(0, _moment["default"])().subtract(7, 'd').startOf('d'), (0, _moment["default"])().subtract(1, 'd').endOf('d')];
case 'recent7DayFromToday':
return [(0, _moment["default"])().subtract(6, 'd').startOf('d'), (0, _moment["default"])().endOf('d')];
case 'recent15Day':
return [(0, _moment["default"])().subtract(15, 'd').startOf('d'), (0, _moment["default"])().subtract(1, 'd').endOf('d')];
case 'recent15DayFromToday':
return [(0, _moment["default"])().subtract(14, 'd').startOf('d'), (0, _moment["default"])().endOf('d')];
case 'recent30Day':
return [(0, _moment["default"])().subtract(30, 'd').startOf('d'), (0, _moment["default"])().subtract(1, 'd').endOf('d')];
case 'recent30DayFromToday':
return [(0, _moment["default"])().subtract(29, 'd').startOf('d'), (0, _moment["default"])().endOf('d')];
case 'recent60Day':
return [(0, _moment["default"])().subtract(60, 'd').startOf('d'), (0, _moment["default"])().subtract(1, 'd').endOf('d')];
case 'recent60DayFromToday':
return [(0, _moment["default"])().subtract(59, 'd').startOf('d'), (0, _moment["default"])().endOf('d')];
case 'recent90Day':
return [(0, _moment["default"])().subtract(90, 'd').startOf('d'), (0, _moment["default"])().subtract(1, 'd').endOf('d')];
case 'recent90DayFromToday':
return [(0, _moment["default"])().subtract(89, 'd').startOf('d'), (0, _moment["default"])().endOf('d')];
case 'thisWeek':
return [(0, _moment["default"])().isoWeekday(1).startOf('d'), (0, _moment["default"])().subtract(1, 'd').endOf('d')];
case 'lastWeek':
return [(0, _moment["default"])().isoWeekday(-6).startOf('d'), (0, _moment["default"])().isoWeekday(0).endOf('d')];
case 'thisMonth':
return [(0, _moment["default"])().set('date', 1).startOf('d'), (0, _moment["default"])().subtract(1, 'd').endOf('d')];
case 'lastMonth':
return [(0, _moment["default"])().set('month', (0, _moment["default"])().get('month') - 1).set('date', 1).startOf('d'), (0, _moment["default"])().set('date', 1).subtract(1, 'd').endOf('d')];
default:
return null;
}
};
describe('CyclePicker', function () {
radioOptions.forEach(function (item, index) {
it("Set value by radio:".concat(item.value), function () {
_mockdate["default"].set('2021-12-15');
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_indexv["default"], {
useShortcuts: option
}));
var radios = wrapper.find('input');
radios.at(index).simulate('change');
// console.log(wrapper.find('.ant-picker-input').map(i =>i.children().prop('value')),item.name,getDateRange(item.value).map(i => i.format('YYYY-MM-DD')))
expect(wrapper.find('.ant-calendar-range-picker-input').map(function (i) {
return i.prop('value');
})).toEqual(getDateRange(item.value).map(function (i) {
return i.format('YYYY-MM-DD');
}));
});
});
radioOptions.forEach(function (item, index) {
it("Map value to radio:".concat(item.value), function () {
_mockdate["default"].set('2021-12-15');
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_indexv["default"], {
useShortcuts: option,
defaultValue: _indexv["default"].getShortcutRange(item.value)
}));
expect(wrapper.find('.ant-radio-button-wrapper-checked').text()).toEqual(item.name);
});
});
it("Disabled on the first day of the week", function () {
_mockdate["default"].set('2022-1-17');
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_indexv["default"], null));
expect(wrapper.find('.ant-radio-button-wrapper-disabled').text()).toEqual('本周');
});
it("Disabled on the first day of the month", function () {
_mockdate["default"].set('2022-1-1');
var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_indexv["default"], null));
expect(wrapper.find('.ant-radio-button-wrapper-disabled').text()).toEqual('本月');
});
});