Só para ver se entendi bem para que serve a função done().
Como são utilizados callbacks, o primeiro callback é na função it
it("#Listagem JSON", done => {
});
Enquanto a operação de I/O é feita nessa primeira função, ele continua a execução do script para:
request.get("/produtos")
.set("Accept","application/json")
.expect("Content-Type",/json/)
.expect(200,done);
Internamente ao SuperTest, ele executa um outro callback, porém como a requisição de cima começou antes, provável que ela termina antes da execução do próximo callback. Por isso é utilizado o done() para indicar que só deve seguir a próxima instrução quando o callback for completamente finalizado (função síncrona)?