|
1 | | -import { describe, it, expect } from "vitest"; |
2 | | -import dayjs from "dayjs"; |
3 | | -import { createDefaultCurDate, handleRange } from "../../../js/calendar/utils"; |
| 1 | +import { describe, it, expect } from 'vitest'; |
| 2 | +import dayjs from 'dayjs'; |
| 3 | +import { createDefaultCurDate, handleRange } from '../../../js/calendar/utils'; |
4 | 4 |
|
5 | | -describe("utils", () => { |
6 | | - describe("createDefaultCurDate", () => { |
7 | | - it("返回当前日期的dayjs对象且日期格式为YYYY-MM-DD", () => { |
| 5 | +describe('utils', () => { |
| 6 | + describe('createDefaultCurDate', () => { |
| 7 | + it('返回当前日期的dayjs对象且日期格式为YYYY-MM-DD', () => { |
8 | 8 | const result = createDefaultCurDate(); |
9 | 9 | expect(result).toBeDefined(); |
10 | 10 | expect(result.isValid()).toBe(true); |
11 | | - const formatted = result.format("YYYY-MM-DD"); |
12 | | - const expected = dayjs().format("YYYY-MM-DD"); |
| 11 | + const formatted = result.format('YYYY-MM-DD'); |
| 12 | + const expected = dayjs().format('YYYY-MM-DD'); |
13 | 13 | expect(formatted).toBe(expected); |
14 | 14 | }); |
15 | 15 | }); |
16 | 16 |
|
17 | | - describe("handleRange", () => { |
| 17 | + describe('handleRange', () => { |
18 | 18 | // 场景1: 传入非列表值/传入列表值少于两项/传入列表值的两项均非日期格式 |
19 | | - it("传入 undefined 返回 null", () => { |
| 19 | + it('传入 undefined 返回 null', () => { |
20 | 20 | const result = handleRange(undefined); |
21 | 21 | expect(result).toBeNull(); |
22 | 22 | }); |
23 | 23 |
|
24 | | - it("传入 null 返回 null", () => { |
| 24 | + it('传入 null 返回 null', () => { |
25 | 25 | const result = handleRange(null); |
26 | 26 | expect(result).toBeNull(); |
27 | 27 | }); |
28 | 28 |
|
29 | | - it("传入非列表值返回 null", () => { |
30 | | - const result = handleRange("not-a-array"); |
| 29 | + it('传入非列表值返回 null', () => { |
| 30 | + const result = handleRange('not-a-array'); |
31 | 31 | expect(result).toBeNull(); |
32 | 32 | }); |
33 | 33 |
|
34 | | - it("传入长度小于2的列表返回 null", () => { |
| 34 | + it('传入长度小于2的列表返回 null', () => { |
35 | 35 | expect(handleRange([])).toBeNull(); |
36 | | - expect(handleRange(["2024-01-15"])).toBeNull(); |
| 36 | + expect(handleRange(['2024-01-15'])).toBeNull(); |
37 | 37 | }); |
38 | 38 |
|
39 | | - it("传入长度为2且两项均非日期格式的列表返回 null", () => { |
| 39 | + it('传入长度为2且两项均非日期格式的列表返回 null', () => { |
40 | 40 | expect(handleRange([null, undefined])).toBeNull(); |
41 | | - expect(handleRange(["abc", "not-a-date"])).toBeNull(); |
| 41 | + expect(handleRange(['abc', 'not-a-date'])).toBeNull(); |
42 | 42 | }); |
43 | 43 |
|
44 | 44 | // 场景2: 传入列表值的两项中有一项符合日期格式,另一项不符合 |
45 | | - it("传入第一项为非日期格式且第二项为日期的列表,第一项使用默认值处理", () => { |
46 | | - const result = handleRange(["abc", "2024-01-15"]); |
| 45 | + it('传入第一项为非日期格式且第二项为日期的列表,第一项使用默认值处理', () => { |
| 46 | + const result = handleRange(['abc', '2024-01-15']); |
47 | 47 | expect(result).not.toBeNull(); |
48 | | - expect(result.from).toBe("1970-01-01"); |
49 | | - expect(result.to).toBe("2024-01-15"); |
| 48 | + expect(result.from).toBe('1970-01-01'); |
| 49 | + expect(result.to).toBe('2024-01-15'); |
50 | 50 | }); |
51 | 51 |
|
52 | | - it("传入第一项为日期且第二项为非日期格式的列表,第二项使用默认值处理", () => { |
53 | | - const result = handleRange(["2024-01-15", "not-a-date"]); |
54 | | - const today = dayjs().format("YYYY-MM-DD"); |
| 52 | + it('传入第一项为日期且第二项为非日期格式的列表,第二项使用默认值处理', () => { |
| 53 | + const result = handleRange(['2024-01-15', 'not-a-date']); |
| 54 | + const today = dayjs().format('YYYY-MM-DD'); |
55 | 55 | expect(result).not.toBeNull(); |
56 | | - expect(result.from).toBe("2024-01-15"); |
| 56 | + expect(result.from).toBe('2024-01-15'); |
57 | 57 | expect(result.to).toBe(today); |
58 | 58 | }); |
59 | 59 |
|
60 | 60 | // 场景3: 传入列表值的两项均符合日期格式 |
61 | | - it("传入两项均为日期列表且第一项日期早于第二项日期,原样返回", () => { |
62 | | - const result = handleRange(["2024-01-15", "2024-12-31"]); |
| 61 | + it('传入两项均为日期列表且第一项日期早于第二项日期,原样返回', () => { |
| 62 | + const result = handleRange(['2024-01-15', '2024-12-31']); |
63 | 63 | expect(result).not.toBeNull(); |
64 | | - expect(result.from).toBe("2024-01-15"); |
65 | | - expect(result.to).toBe("2024-12-31"); |
| 64 | + expect(result.from).toBe('2024-01-15'); |
| 65 | + expect(result.to).toBe('2024-12-31'); |
66 | 66 | }); |
67 | 67 |
|
68 | | - it("传入两项均为日期列表且第一项日期不早于第二项日期,交换两项后返回", () => { |
69 | | - const result = handleRange(["2024-12-31", "2024-01-15"]); |
| 68 | + it('传入两项均为日期列表且第一项日期不早于第二项日期,交换两项后返回', () => { |
| 69 | + const result = handleRange(['2024-12-31', '2024-01-15']); |
70 | 70 | expect(result).not.toBeNull(); |
71 | | - expect(result.from).toBe("2024-01-15"); |
72 | | - expect(result.to).toBe("2024-12-31"); |
| 71 | + expect(result.from).toBe('2024-01-15'); |
| 72 | + expect(result.to).toBe('2024-12-31'); |
73 | 73 | }); |
74 | 74 |
|
75 | | - it("处理传入两项为Date格式的列表", () => { |
76 | | - const date1 = new Date("2024-01-15"); |
77 | | - const date2 = new Date("2024-12-31"); |
| 75 | + it('处理传入两项为Date格式的列表', () => { |
| 76 | + const date1 = new Date('2024-01-15'); |
| 77 | + const date2 = new Date('2024-12-31'); |
78 | 78 | const result = handleRange([date1, date2]); |
79 | 79 | expect(result).not.toBeNull(); |
80 | 80 | expect(result.from).toBeInstanceOf(Date); |
81 | 81 | expect(result.to).toBeInstanceOf(Date); |
82 | | - expect(result.from.getTime()).toBe(new Date("2024-01-15").getTime()); |
83 | | - expect(result.to.getTime()).toBe(new Date("2024-12-31").getTime()); |
| 82 | + expect(result.from.getTime()).toBe(new Date('2024-01-15').getTime()); |
| 83 | + expect(result.to.getTime()).toBe(new Date('2024-12-31').getTime()); |
84 | 84 | }); |
85 | 85 |
|
86 | | - it("处理传入一项字符串格式日期另一项为Date格式的列表", () => { |
87 | | - const date1 = new Date("2024-01-15"); |
88 | | - const result = handleRange([date1, "2024-12-31"]); |
| 86 | + it('处理传入一项字符串格式日期另一项为Date格式的列表', () => { |
| 87 | + const date1 = new Date('2024-01-15'); |
| 88 | + const result = handleRange([date1, '2024-12-31']); |
89 | 89 | expect(result).not.toBeNull(); |
90 | 90 | // Date object is returned as-is, string is returned as string |
91 | 91 | expect(result.from).toBeInstanceOf(Date); |
92 | | - expect(result.to).toBe("2024-12-31"); |
93 | | - expect(result.from.getTime()).toBe(new Date("2024-01-15").getTime()); |
| 92 | + expect(result.to).toBe('2024-12-31'); |
| 93 | + expect(result.from.getTime()).toBe(new Date('2024-01-15').getTime()); |
94 | 94 | }); |
95 | 95 |
|
96 | | - it("传入两项均为日期且处于同一天的列表,原样返回", () => { |
97 | | - const result = handleRange(["2024-01-15", "2024-01-15"]); |
| 96 | + it('传入两项均为日期且处于同一天的列表,原样返回', () => { |
| 97 | + const result = handleRange(['2024-01-15', '2024-01-15']); |
98 | 98 | expect(result).not.toBeNull(); |
99 | | - expect(result.from).toBe("2024-01-15"); |
100 | | - expect(result.to).toBe("2024-01-15"); |
| 99 | + expect(result.from).toBe('2024-01-15'); |
| 100 | + expect(result.to).toBe('2024-01-15'); |
101 | 101 | }); |
102 | 102 | }); |
103 | 103 | }); |
0 commit comments