Estoy usando la biblioteca JestJS para probar mi aplicación nodeJS. Cuando se prueban los tipos de datos devueltos, algunas pruebas fallan y dicen que el tipo de datos recibido es diferente al esperado, sin embargo, el tipo de datos devuelto es incorrecto. Por ejemplo, tengo una cadena de fecha que se recibe como un objeto, pero en realidad es una cadena.
Received has value: [Error: expect(received).toBe(expected) // Object.is equality· Expected: "string" Received: "object"] 82 | expect(typeof response.data.getPublicDisinfectionByProductStage2[0].details[0].nextSampleDateRange).toBe("string");
Objeto de respuesta que se está evaluando:
{ "systemId": 1289, "frequency": "QT", "details": [ { "sampleId": 19842, "nextSampleDateRange": "04/01/2022 - 06/30/2022" } ] }
Luego, con un objeto similar, la prueba falla con un error:
expect(received).toMatch(expected) Matcher error: received value must be a string Received has type: object Received has value: [Error: expect(received).toBe(expected) // Object.is equality· Expected: "number" Received: "object"] 107 | expect(typeof response.data.getPublicOtherDistributionMonitoringPbcu.nextSampleDateRange).toBe("string"); 108 | } catch (e) { > 109 | expect(e).toMatch("error"); | ^ 110 | } 111 | });
Donde el objeto que se está evaluando se ve así:
{ "data": { "getPublicOtherDistributionMonitoringPbcu": { "systemId": 1289, "lastSampleDate": "2018-09-27 00:00:00", "nextSampleDateRange": "06/01/2022 - 09/30/2022" } } }
¿Puede alguien ayudarme a entender lo que está pasando aquí?