1
resposta

Teste não está passando

Estou tomando o seguinte erro:`

FAIL tests/rotas/fornecedores/Fornecedor.test.js classe Fornecedor ✓ O método validar() retorna true! (3 ms) ✕ O método criar() foi criado com sucesso!

● classe Fornecedor › O método criar() foi criado com sucesso!

TypeError: Cannot read property 'id' of undefined

  24 |     })
  25 |
> 26 |     this.id = resultado.id // campos criados conforme inserimos informacoes na tabela
     |                         ^
  27 |     this.dataCriacao = resultado.dataCriacao
  28 |     this.dataAtualizacao = resultado.dataAtualizacao
  29 |     this.versao = resultado.versao

  at Fornecedor.id [as criar] (api/rotas/fornecedores/fornecedor.js:26:25)
  at Object.<anonymous> (tests/rotas/fornecedores/Fornecedor.test.js:22:5)

Test Suites: 1 failed, 1 total Tests: 1 failed, 1 passed, 2 total Snapshots: 0 total Time: 0.955 s Ran all test suites. `

1 resposta

Olá, Margarida! Como vai?

Peço desculpa pela demora em responder o seu tópico.

Para resolver esse problema, sugiro que você verifique se adicionou o id no construtor logo acima. Pois o erro apresentado informa que essa propriedade não está definida, logo, a não definição do id no escopo do constructor pode acabar levando a esse erro. Segue abaixo um exemplo de como ficaria:

class Fornecedor {
  constructor ({ id, empresa, email, categoria, dataCriacao, dataAtualizacao, versao }) {
    this.id = id
    this.dataCriacao = dataCriacao
    this.dataAtualizacao = dataAtualizacao
    this.versao = versao
  }
}

Espero que essa sugestão ajude a resolver o problema! Se tiver mais alguma dúvida, é só perguntar. Estou aqui para ajudar!

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.