GOOGLE ADS

viernes, 29 de abril de 2022

Sinon: cómo crear un stub que resuelva múltiples llamadas

Parece sencillo crear un código auxiliar que devuelva diferentes valores en llamadas repetidas:
¿Es posible aplicar el método auxiliar dos veces dentro de una sola prueba para obtener resultados diferentes?

Pero, ¿cómo se hace esto con un método asíncrono que se resuelve en varias llamadas?

sinon(module, "myFunction")
.resolves('a')
.resolves('b')

Para ser claros, en el fragmento anterior, la segunda resolución sobrescribe la primera, por lo que siempre devuelve 'b'. Me gustaría el comportamiento donde 'myFunction' primero resuelve 'a' y luego resuelve 'b'.


Solución del problema

Aquí está la solución:

sinon(module, "myFunction")
.onFirstCall().resolves('a')
.onSecondCall().resolves('b')

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...