feat: Ajout des composants modal, accordeon, datetime avec selecteur d'heure à la molette (#56)
Release / release (push) Successful in 2m38s
Release / release (push) Successful in 2m38s
| 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é --------- Co-authored-by: THOLOT DECHENE Matthieu <matthieu@yuno.malio.fr> Co-authored-by: matthieu <matthieu@yuno.malio.fr> Reviewed-on: #56 Co-authored-by: tristan <tristan@yuno.malio.fr> Co-committed-by: tristan <tristan@yuno.malio.fr>
This commit was merged in pull request #56.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
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')
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user