@@ -64,8 +64,10 @@ test('week prop', async () => {
64
64
firstDayOfWeek = { 1 }
65
65
/>
66
66
)
67
- const viewArea = container . querySelector ( '.viewArea' ) as HTMLElement
68
- // expect(viewArea.innerHTML).toMatchSnapshot()
67
+ const viewArea = container . querySelector (
68
+ '.nut-calendar-pannel'
69
+ ) as HTMLElement
70
+ expect ( viewArea . innerHTML ) . toMatchSnapshot ( )
69
71
} )
70
72
71
73
test ( 'range prop' , async ( ) => {
@@ -80,8 +82,76 @@ test('range prop', async () => {
80
82
firstDayOfWeek = { 1 }
81
83
/>
82
84
)
83
- const viewArea = container . querySelector ( '.viewArea' ) as HTMLElement
84
- // expect(viewArea.innerHTML).toMatchSnapshot()
85
+ const viewArea = container . querySelector (
86
+ '.nut-calendar-pannel'
87
+ ) as HTMLElement
88
+ expect ( viewArea . innerHTML ) . toMatchSnapshot ( )
89
+ } )
90
+
91
+ test ( 'viewmode prop' , async ( ) => {
92
+ const onItemClick = vi . fn ( )
93
+ const { container } = render (
94
+ < Calendar
95
+ viewMode = "quarter"
96
+ defaultValue = "2025-Q1"
97
+ startDate = "2025-01-01"
98
+ endDate = "2025-3-31"
99
+ onItemClick = { onItemClick }
100
+ />
101
+ )
102
+ const viewArea = container . querySelector (
103
+ '.nut-calendar-viewmode-pannel'
104
+ ) as HTMLElement
105
+ expect ( viewArea . innerHTML ) . toMatchSnapshot ( )
106
+ } )
107
+
108
+ test ( 'should render calendar in quarter view with extended date range' , async ( ) => {
109
+ const { container } = render (
110
+ < Calendar
111
+ viewMode = "quarter"
112
+ defaultValue = "2025-Q1"
113
+ startDate = "2025-01-01"
114
+ endDate = "2027-3-31"
115
+ />
116
+ )
117
+ const viewArea = container . querySelector (
118
+ '.nut-calendar-viewmode-pannel'
119
+ ) as HTMLElement
120
+ expect ( viewArea . innerHTML ) . toMatchSnapshot ( )
121
+ } )
122
+
123
+ test ( 'should render calendar in month view with onItemClick' , async ( ) => {
124
+ const onItemClick = vi . fn ( )
125
+ const { container } = render (
126
+ < Calendar
127
+ viewMode = "month"
128
+ defaultValue = "2025-01"
129
+ startDate = "2025-01-01"
130
+ endDate = "2025-3-31"
131
+ onItemClick = { onItemClick }
132
+ />
133
+ )
134
+ const viewArea = container . querySelector (
135
+ '.nut-calendar-viewmode-pannel'
136
+ ) as HTMLElement
137
+ expect ( viewArea . innerHTML ) . toMatchSnapshot ( )
138
+ } )
139
+
140
+ test ( 'should render calendar in month view with extended date range' , async ( ) => {
141
+ const onItemClick = vi . fn ( )
142
+ const { container } = render (
143
+ < Calendar
144
+ viewMode = "month"
145
+ defaultValue = "2025-01"
146
+ startDate = "2025-01-01"
147
+ endDate = "2027-3-31"
148
+ onItemClick = { onItemClick }
149
+ />
150
+ )
151
+ const viewArea = container . querySelector (
152
+ '.nut-calendar-viewmode-pannel'
153
+ ) as HTMLElement
154
+ expect ( viewArea . innerHTML ) . toMatchSnapshot ( )
85
155
} )
86
156
87
157
test ( 'popup prop' , async ( ) => {
@@ -121,7 +191,9 @@ test('should render slot correctly', async () => {
121
191
const topSlot = container . querySelector (
122
192
'.nut-calendar-header-buttons'
123
193
) as HTMLElement
124
- const viewArea = container . querySelector ( '.viewArea' ) as HTMLElement
194
+ const viewArea = container . querySelector (
195
+ '.nut-calendar-pannel'
196
+ ) as HTMLElement
125
197
expect ( topSlot . innerHTML ) . toContain ( '<div class="d_div"> 最近七天</div>' )
126
198
expect ( viewArea . innerHTML ) . toMatchSnapshot ( )
127
199
} )
@@ -217,13 +289,13 @@ test('range select event when click item', () => {
217
289
const start = container . querySelectorAll (
218
290
'.nut-calendar-day-active .nut-calendar-day-day'
219
291
) [ 0 ]
220
- expect ( start . innerHTML ) . toBe ( '13 ' )
292
+ expect ( start . innerHTML ) . toBe ( '10 ' )
221
293
222
294
const calendarMonthDay2 = container . querySelectorAll ( '.nut-calendar-day' ) [ 20 ]
223
295
fireEvent . click ( calendarMonthDay2 )
224
296
expect ( onDayClick ) . toBeCalled ( )
225
297
const next = container . querySelectorAll (
226
298
'.nut-calendar-day-choose .nut-calendar-day-day'
227
299
) [ 0 ]
228
- expect ( next . innerHTML ) . toBe ( '14 ' )
300
+ expect ( next . innerHTML ) . toBe ( '11 ' )
229
301
} )
0 commit comments