feat : propage min/max au popover + e2e sélecteur d'année (#date-year-picker)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -185,6 +185,49 @@ describe('MalioDate', () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe('vue années', () => {
|
||||
it('opens the year picker on second header toggle', async () => {
|
||||
const wrapper = mountDate()
|
||||
await wrapper.get('[data-test="date-input"]').trigger('click')
|
||||
await wrapper.get('[data-test="header-toggle"]').trigger('click') // -> mois
|
||||
await wrapper.get('[data-test="header-toggle"]').trigger('click') // -> années
|
||||
expect(wrapper.find('[data-test="year-picker"]').exists()).toBe(true)
|
||||
expect(wrapper.get('[data-test="header-toggle"]').text()).toContain('2021 – 2032')
|
||||
})
|
||||
|
||||
it('navigates days -> months -> years -> months -> days', async () => {
|
||||
const wrapper = mountDate()
|
||||
await wrapper.get('[data-test="date-input"]').trigger('click')
|
||||
await wrapper.get('[data-test="header-toggle"]').trigger('click')
|
||||
await wrapper.get('[data-test="header-toggle"]').trigger('click')
|
||||
await wrapper.get('[data-test="year"][data-year="2024"]').trigger('click') // -> mois 2024
|
||||
expect(wrapper.find('[data-test="month-picker"]').exists()).toBe(true)
|
||||
expect(wrapper.get('[data-test="header-toggle"]').text()).toContain('2024')
|
||||
await wrapper.get('[data-test="month"][data-month="0"]').trigger('click') // -> jours
|
||||
expect(wrapper.find('[data-test="month-picker"]').exists()).toBe(false)
|
||||
expect(wrapper.get('[data-test="header-toggle"]').text()).toContain('Janvier 2024')
|
||||
expect(wrapper.emitted('update:modelValue')).toBeUndefined()
|
||||
})
|
||||
|
||||
it('paginates the year window with chevrons', async () => {
|
||||
const wrapper = mountDate()
|
||||
await wrapper.get('[data-test="date-input"]').trigger('click')
|
||||
await wrapper.get('[data-test="header-toggle"]').trigger('click')
|
||||
await wrapper.get('[data-test="header-toggle"]').trigger('click')
|
||||
await wrapper.get('[data-test="header-next"]').trigger('click')
|
||||
expect(wrapper.get('[data-test="header-toggle"]').text()).toContain('2033 – 2044')
|
||||
})
|
||||
|
||||
it('greys out years outside [min, max]', async () => {
|
||||
const wrapper = mountDate({min: '2025-01-01', max: '2027-12-31'})
|
||||
await wrapper.get('[data-test="date-input"]').trigger('click')
|
||||
await wrapper.get('[data-test="header-toggle"]').trigger('click')
|
||||
await wrapper.get('[data-test="header-toggle"]').trigger('click')
|
||||
expect(wrapper.get('[data-test="year"][data-year="2024"]').attributes('disabled')).toBeDefined()
|
||||
expect(wrapper.get('[data-test="year"][data-year="2026"]').attributes('disabled')).toBeUndefined()
|
||||
})
|
||||
})
|
||||
|
||||
describe('vue mois', () => {
|
||||
it('switches to month view on header toggle', async () => {
|
||||
const wrapper = mountDate()
|
||||
|
||||
Reference in New Issue
Block a user