@cainiaofe/cn-ui-m
Version:
89 lines (88 loc) • 3.42 kB
JavaScript
import { convertDateToStringArray, convertStringArrayToDate, defaultRenderLabel, } from '../date-picker-week-utils';
describe('defaultRenderLabel', function () {
// Positive test case
it('should return the input number as a string', function () {
var result = defaultRenderLabel('week', 10);
expect(result).toBe('10');
});
// Negative test case
it('should return an empty string if the input number is 0', function () {
var result = defaultRenderLabel('week', 0);
expect(result).toBe('0');
});
// Boundary test case
it('should handle large numbers correctly', function () {
var result = defaultRenderLabel('week', 1000000);
expect(result).toBe('1000000');
});
});
// describe('generateDatePickerColumns', () => {
// const mockFilter = {
// week: (value) => value % 2 === 0, // Mock filter function for week precision
// 'week-day': (value) => value !== 7, // Mock filter function for week-day precision
// };
// const mockRenderLabel = jest.fn((type, data) => `Label: ${type}-${data}`);
// it('should generate date picker columns correctly', () => {
// const selected = ['2022', '25'];
// const min = new Date('2022-01-01');
// const max = new Date('2022-12-31');
// const precision = 'week';
// const result = generateDatePickerColumns(
// selected,
// min,
// max,
// precision,
// mockRenderLabel,
// undefined,
// );
// expect(result).toEqual([
// [{ label: 'Label: year-2022', value: '2022' }],
// [{ label: 'Label: week-25', value: '25' }],
// ]);
// });
// it('should generate date picker columns with filtered values', () => {
// const selected = ['2022', '25'];
// const min = new Date('2022-01-01');
// const max = new Date('2022-12-31');
// const precision = 'week';
// const filter = mockFilter;
// const result = generateDatePickerColumns(
// selected,
// min,
// max,
// precision,
// mockRenderLabel,
// filter,
// );
// expect(result).toEqual([
// [{ label: 'Label: year-2022', value: '2022' }],
// [
// { label: 'Label: week-2', value: '2' },
// { label: 'Label: week-4', value: '4' },
// { label: 'Label: week-6', value: '6' },
// ],
// ]);
// expect(mockRenderLabel).toHaveBeenCalledTimes(5);
// });
// });
describe('convertDateToStringArray', function () {
test('should return an empty array when date is undefined', function () {
expect(convertDateToStringArray(undefined)).toEqual([]);
});
test('should return an empty array when date is null', function () {
expect(convertDateToStringArray(null)).toEqual([]);
});
test('should return an array of string values representing the date', function () {
var date = new Date('2022-01-01');
expect(convertDateToStringArray(date)).toEqual(['2021', '52', '6']);
});
});
describe('convertStringArrayToDate', function () {
test('should convert string array to date correctly', function () {
var result = convertStringArrayToDate(['2023', '2', '3']);
expect(result instanceof Date).toBe(true);
expect(result.getFullYear()).toBe(2023);
expect(result.getMonth()).toBe(0); // January is month 0
expect(result.getDate()).toBe(11); // 11th January 2022
});
});