Não estou conseguindo implementar o node-database-cleaner, meu código está assim:
var express = require('../config/express')();
var request = require('supertest')(express);
var DatabaseCleaner = require('database-cleaner');
describe('#ProdutosController', function(){
beforeEach(function(done){
var databaseCleaner = new DatabaseCleaner('mysql');
databaseCleaner.clean('alura_casa-do-codigo_test', function(){
done();
});
});
it('#listagem json', function(done){
request.get("/produtos")
.set('Accept', 'application/json')
.expect('Content-Type',/json/)
.expect(200,done);
});
it('#listagem html', function(done){
request.get("/produtos")
.set('Accept', 'text/html')
.expect('Content-Type',/html/)
.expect(200,done);
});
it('#cadastro de novo produto com dados inválidos', function(done){
request.post("/produtos")
.send({titulo: '', descricao:"novo livro"})
.expect(400,done);
});
it('#cadastro de novo produto com dados válidos', function(done){
request.post("/produtos")
.send({titulo: 'titulo livro', descricao:"novo livro",preco:20.50})
.expect(302,done);
});
});
e o seguintes erro:
[..]
1) #ProdutosController "before each" hook:
TypeError: db.query is not a function
at Object.cleaner.mysql (node_modules/database-cleaner/lib/database-cleaner.js:50:8)
at clean (node_modules/database-cleaner/lib/database-cleaner.js:158:18)
at Context.<anonymous> (test/produtos.js:9:21)
[..]
Como faço para funcionar?