GOOGLE ADS

lunes, 18 de abril de 2022

Las funciones de prueba no pueden tomar una devolución de llamada 'hecha'

Estoy tratando de crear una prueba simple con nestjs y recibo este error

Las funciones de prueba no pueden tomar una devolución de llamada 'hecha' y devolver algo. Utilice una devolución de llamada 'hecha' o devuelva una promesa.

Valor devuelto: Promesa {}

La prueba unitaria es muy simple, pero recibo un error cuando uso done();

it('throws an error if user signs up with email that is in use', async (done) => {
fakeUsersService.find = () => Promise.resolve([{ id: 1, email: 'a', password: '1' } as User]);
try {
await service.signup('asdf@asdf.com', 'asdf');
} catch (err) {
done();
}
});


Solución del problema

Estás combinando Async/Await y Listo.

O use asnyc/await, o listo.

it('throws an error if user signs up with email that is in use', async () => {
try {
await service();
expect(...);
} catch (err) {
}
});

o usa el formato hecho

it('throws an error if user signs up with email that is in use', (done) => {
...
service()
.then(...) {}
.catch(...) {}
}
done();
});

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...