Estoy usando fastify-cli. Ya he creado una publicación enrutada. Funciona normalmente cuando lo llamo desde Postman, pero no funciona cuando lo llamo desde el comando de prueba. Dice FST_ERR_CTP_INVALID_MEDIA_TYPE . ¿Dónde está mi error?
const UserCreate = { email: 'email@email.com', password: bcrypt.hashSync('password', salt), name: 'User Fullname', username: 'cooluser', initial: 'U', roleId: 1, status: 'active' } test(`create User`, async (t) => { const app = build(t) const res = await app.inject({ url: '/administrator/user', method: 'POST', payload: JSON.stringify(UserCreate), headers: { 'Accept': 'application/json' } }) console.log(`res.payload`, res.payload) t.equal(JSON.parse(res.payload).code, 200) })Resuelto. Solo necesito cambiar la payload: JSON.stringify(UserCreate) a body: UserCreate . Por lo tanto, no necesito convertir el objeto creado por el usuario en texto. y también obtengo datos del cuerpo, por lo que también necesito cambiar a body en lugar de payload .
el código de prueba debería ser así:
test(`create User`, async (t) => { const app = build(t) const res = await app.inject({ url: '/administrator/user', method: 'POST', body: UserCreate, headers: { 'Accept': 'application/json' } }) console.log(`res.payload`, res.payload) t.equal(JSON.parse(res.payload).code, 200) })