Olá pessoal, estou aprendendo a fazer testes de integração com Mocha e Chai, estou tendo alguns problemas com o GET de um único elemento. Sempre que tento validar as propriedades presentes nesse elemento o teste não passa. Se eu pegar só o status e o que ele está retornando, como por exemplo o objeto, ai tudo bem. Agradeço se alguém puder me ajudar. E também se puderem me informar se estou usando uma biblioteca adequada para testes.
Aqui está o meu controller:
router.get("/games/:id", async (req, res) => {
var id = parseInt(req.params.id);
if (isNaN(id)) {
res.sendStatus(400)
} else {
try {
let gamesReturned = await Game.findOne({
where: {
id: id
}
})
res.status(200).json({ game: gamesReturned})
} catch (err) {
console.log(err)
res.sendStatus(500)
}
}
})
E aqui está o teste:
describe('/GET/:id game', () => {
it('GET one game by id', (done) => {
let id = 2;
chai.request('localhost:3033')
.get('/games/' + id)
.end((err, res) => {
if(err) {
console.log(err)
done(err)
}
res.should.have.status(200)
res.body.should.have.property('id').eql(id);
res.body.should.be.a('object')
done();
})
})
})
No caso esse erro me é mostrado: Uncaught AssertionError: expected { Object (game) } to have property ‘id’
Como eu posso resolver isso?