feat : pagination des années + selectYear + recentrage (#date-year-picker)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-22 10:04:07 +02:00
parent 03d9775ddb
commit ea379ce5e4
2 changed files with 44 additions and 4 deletions
@@ -1,5 +1,5 @@
import {afterEach, beforeEach, describe, expect, it, vi} from 'vitest'
import {ref} from 'vue'
import {nextTick, ref} from 'vue'
import {useCalendarView} from './useCalendarView'
describe('useCalendarView', () => {
@@ -65,4 +65,27 @@ describe('useCalendarView', () => {
expect(currentMonth.value).toBe(4)
expect(currentYear.value).toBe(2026)
})
it('paginates years by 12 in years view', () => {
const {yearPageStart, goToNext, goToPrev} = useCalendarView(ref('years'))
const start = yearPageStart.value
goToNext()
expect(yearPageStart.value).toBe(start + 12)
goToPrev()
expect(yearPageStart.value).toBe(start)
})
it('selectYear sets the current year', () => {
const {currentYear, selectYear} = useCalendarView(ref('days'))
selectYear(2030)
expect(currentYear.value).toBe(2030)
})
it('recenters the year page on entering years view (current - 5)', async () => {
const mode = ref<'days' | 'months' | 'years'>('days')
const {yearPageStart} = useCalendarView(mode)
mode.value = 'years'
await nextTick()
expect(yearPageStart.value).toBe(2021) // 2026 - 5
})
})