Tengo un código que (muy simplificado y con pseudocódigo) se ve así:
obj1 = [1,2,3], obj2 = "foo" returned_values = [] for item in obj1: returned_values.push(connection.query(item)) returned_values.push(connection.query(obj2)Las llamadas de item y obj2 deberían devolver valores diferentes de la base de datos simulada.
Podríamos burlarnos así:
jest.spyOn(connection, "query") .mockResolvedValueOnce("foo") .mockResolvedValueOnce("foo") .mockResolvedValueOnce("foo") .mockResolvedValueOnce("bar")y llámalo un día.
El problema es: tengo diferentes casos de prueba con obj1 que tienen diferentes longitudes: puede ser una matriz vacía, puede tener 1 elemento o 10. Sé cuántos tiene antes del tiempo de ejecución.
¿Hay algo como "mockResolvedValueNTimes(times, value)" o un enfoque que me permita simular el mismo valor devuelto n veces?
No puedo cambiar el orden en el código real en el que se realizan las llamadas DB. La última llamada depende de las llamadas b4