0
respostas

Validação do JEST apresenta erro

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)
  })
})