Juan Luna
Pregunta tonta quizás, hemos generado 3 productos en la ultima prueba, generateManyProducts(3), pero mandamos un offset de 3 y un limit de 10 (productos), sin embargo la prueba no falla, cuando hacemos el expect(data.legnth).toEqual(mockData.length) ¡Que me maten si lo entiendo! ¿Alguien podría explicar esto? ¿No debería haberse hecho de esta otra forma para ser más coherente con lo que se está haciendo?, aunque de todas formas no falla, pongas lo que pongas...
const limit = 10; const offset = 3; const mockData: Product[] = generateManyProducts(limit);
Por eso es por lo que yo digo, ¿Quién testea las pruebas?..
gracias de antemano
Jorge Luis Silva Medina
Esta prueba que comentas puede aplicar cuando el total de productos es mayor al limite y ahí puedes probar si el limite se respeta.
Pero yo recomiendo que ese testing de esa lógica no debe estar en el FRONT debido a que el service no se encarga de limitar los registros, sino el BACK. Ese unit test debe estar en el BACK.
Danny Pacheco
Lo que sucede en este caso es lo siguiente, recuerda que tu mockData es la simulación de la respuesta de tu backend después de aplicarle un query params, es decir, aquí no estamos validando la cantidad de registros que nos devuelve el backend después del query params y no se debería hacer porque es responsabilidad del backend validar que te retorne de forma correcta lo que envias en el query params, lo que hace esta prueba es verificar si el limit y el offset enviados son aceptables para realizar esta petición.