e6a46a9d60
| Numéro du ticket | Titre du ticket | |------------------|-----------------| | | | ## Description de la PR ## Modification du .env ## Check list - [ ] Pas de régression - [ ] TU/TI/TF rédigée - [ ] TU/TI/TF OK - [ ] CHANGELOG modifié Reviewed-on: #55 Co-authored-by: tristan <tristan@yuno.malio.fr> Co-committed-by: tristan <tristan@yuno.malio.fr>
32 lines
951 B
TypeScript
32 lines
951 B
TypeScript
import {describe, expect, it} from 'vitest'
|
|
import {clampHours, clampMinutes, formatTime, padSegment, parseTime} from './timeFormat'
|
|
|
|
describe('timeFormat', () => {
|
|
it('parse une chaîne HH:MM valide', () => {
|
|
expect(parseTime('09:05')).toEqual({hours: 9, minutes: 5})
|
|
})
|
|
|
|
it('renvoie null pour vide ou invalide', () => {
|
|
expect(parseTime('')).toBeNull()
|
|
expect(parseTime(null)).toBeNull()
|
|
expect(parseTime('abc')).toBeNull()
|
|
expect(parseTime('12')).toBeNull()
|
|
})
|
|
|
|
it('clamp les valeurs hors bornes au parsing', () => {
|
|
expect(parseTime('99:88')).toEqual({hours: 23, minutes: 59})
|
|
})
|
|
|
|
it('formate avec zéro-padding', () => {
|
|
expect(formatTime(9, 5)).toBe('09:05')
|
|
expect(formatTime(0, 0)).toBe('00:00')
|
|
})
|
|
|
|
it('clamp et pad les helpers', () => {
|
|
expect(clampHours(30)).toBe(23)
|
|
expect(clampHours(-2)).toBe(0)
|
|
expect(clampMinutes(75)).toBe(59)
|
|
expect(padSegment(7)).toBe('07')
|
|
})
|
|
})
|