Quando executo .\node_mudules.bin\jest e o código é testado apresenta o seguinte erro:
FAIL tests/rotas/fornecedores/fornecedor.test.js classe Fornecedor × o metodo validar() retorna true (7 ms)
● classe Fornecedor › o metodo validar() retorna true
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: undefined
Chamei o método com uma função JS separada e de fato o retorno é undefined e não true. Não sei por que.
Meu teste: const Fornecedor = require('./api/rotas/fornecedores/Fornecedor')
const fornecedor = new Fornecedor({ empresa: 'Testes de Fornecedor', email: 'email@qualque3r.com', categoria: 'brinquedos' })
console.log(fornecedor.validar()) Retorna undefined
Código implementado. Não fiz nenhuma alteração é a mesma versão do git.
validar () { const campos = ['empresa', 'email', 'categoria']
campos.forEach(campo => {
const valor = this[campo]
if (typeof valor !== 'string' || valor.length === 0) {
throw new CampoInvalido(campo)
}
})
} }
const Fornecedor = require('../../../api/rotas/fornecedores/Fornecedor')
describe('classe Fornecedor', () => {
test('o metodo validar() retorna true', () => {
const fornecedor = new Fornecedor({
empresa: 'Testes de Fornecedor',
email: 'email@qualque3r.com',
categoria: 'brinquedos'
})
expect(fornecedor.validar()).toBe(true)
})
})