UNPKG

@cainiaofe/cn-ui-m

Version:
89 lines (88 loc) 3.42 kB
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 }); });