Rédige des tests unitaires exhaustifs pour le code suivant. Framework de test : [JEST/PYTEST/JUNIT/MOCHA/etc.]
Fonction à tester :
[COLLER LE CODE]
Couvre : 1) Le chemin nominal avec des entrées représentatives, 2) Les cas limites (entrée vide, null, valeurs aux bornes, valeurs maximales), 3) Les conditions d'erreur et la gestion des exceptions, 4) Le comportement asynchrone si applicable, 5) Les effets de bord et les dépendances simulées. Utilise le pattern AAA (Arrange-Act-Assert). Vise une couverture de branches à 100 %. Pour chaque test, ajoute un bref commentaire expliquant le scénario testé et son importance.