Skip to content

Commit eeca49d

Browse files
committed
test: add showTimeInput preservation test for Today button
1 parent e39352e commit eeca49d

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

packages/eds-core-react/src/components/Datepicker/DatePicker.spec.tsx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,31 @@ describe('DatePicker', () => {
428428
await userEvent.click(screen.getByText('Today'))
429429
expect(onChange).not.toHaveBeenCalled()
430430
})
431+
432+
it('preserves the existing time when showTimeInput is active', async () => {
433+
const onChange = jest.fn<void, [Date]>()
434+
const futureYear = new Date().getFullYear() + 2
435+
// 14:30 should survive clicking Today
436+
const valueWithTime = new Date(futureYear, 0, 1, 14, 30)
437+
render(
438+
<I18nProvider locale={'en-US'}>
439+
<DatePicker
440+
label={'Datepicker'}
441+
showTimeInput
442+
value={valueWithTime}
443+
onChange={onChange}
444+
/>
445+
</I18nProvider>,
446+
)
447+
448+
await userEvent.click(screen.getByLabelText(/^Change date.*/))
449+
await userEvent.click(screen.getByText('Today'))
450+
451+
expect(onChange).toHaveBeenCalledTimes(1)
452+
const result = onChange.mock.calls[0][0]
453+
expect(result.getHours()).toBe(14)
454+
expect(result.getMinutes()).toBe(30)
455+
})
431456
})
432457

433458
it('should display localized message for unavailable dates', () => {

0 commit comments

Comments
 (0)