import { describe, expect, it } from 'vitest' import { pageCount, readMonth, readPage, readText, readYear } from '~/lib/query' describe('readText', () => { it('nimmt den ersten Wert und wirft Leerraum weg', () => { expect(readText([' Spalten ', 'zweite'])).toBe('Spalten') expect(readText(' ')).toBeUndefined() expect(readText(undefined)).toBeUndefined() }) }) describe('readPage', () => { it('fällt auf Seite eins zurück', () => { expect(readPage('3')).toBe(3) expect(readPage('0')).toBe(1) expect(readPage('-2')).toBe(1) expect(readPage('abc')).toBe(1) expect(readPage(undefined)).toBe(1) }) }) describe('readYear', () => { it('nimmt nur vierstellige Jahre', () => { expect(readYear('2026')).toBe(2026) expect(readYear('26')).toBeUndefined() expect(readYear('20261')).toBeUndefined() expect(readYear('zweitausend')).toBeUndefined() }) }) describe('readMonth', () => { it('nimmt nur Monate von eins bis zwölf', () => { expect(readMonth('07')).toBe(7) expect(readMonth('7')).toBe(7) expect(readMonth('12')).toBe(12) expect(readMonth('0')).toBeUndefined() expect(readMonth('13')).toBeUndefined() expect(readMonth('007')).toBeUndefined() }) }) describe('pageCount', () => { it('zählt mindestens eine Seite', () => { expect(pageCount(0, 10)).toBe(1) expect(pageCount(10, 10)).toBe(1) expect(pageCount(11, 10)).toBe(2) expect(pageCount(7, 3)).toBe(3) }) })