Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro no sincronismo do post usando o mocha e supertest.

Ao fazer posts nessas duas verificações no mocha. Ele reclama .

"Error: Can't set headers after they are sent."

Quando eu tiro o argumento de finalização "done", em algum dos it ele passa a funcionar. Não entendi esse comportamento.

Esse é o código.

it('#cadastro de novo produto com dados inválidos', function (done) {
        request.post('/cadastroLivros')
            .send({titulo: "", descricao: "Novo Livro", preco:20.89})
            /*Status 400 = Bad Request, post com campos no formato inválido*/
            .expect(400,done);
    });

    it('#cadastro de novo produto com dados validos', function (done) {
        request.post('/cadastroLivros')
            .send({titulo: "Teste2", descricao: "Novo Livro", preco:20.89})
            /*Status 302 = Foi redirecionado para outra page, nesse caso a tela de cadastro, redirecionou para a tela de consulta*/
            .expect(302,done);
    });
1 resposta
solução!

engraçado que o erro não parece ter a ver com os testes e sim com alguma implementação da rota em questão. Talvez vc não esteja colocando um return; em caso de erro de validação.