Teste de unidade com Bookshelf.js e knex.js
Sou relativamente novo no Node e estou trabalhando em um projeto usando knex e estante de livros. Estou com um pouco de dificuldade para testar meu código e não tenho certeza do que estou fazendo de errado.
Basicamente, eu tenho um modelo (chamado VorcuProduct) que se parece com isso:
var VorcuProduct = bs.Model.extend({
tableName: 'vorcu_products'
});
module.exports.VorcuProduct = VorcuProduct
E uma função que salva um VorcuProduct se ele não existir no banco de dados. Bem simples. A função fazendo isso é assim:
function subscribeToUpdates(productInformation, callback) {
model.VorcuProduct
.where({product_id: productInformation.product_id, store_id: productInformation.store_id})
.fetch()
.then(function(existing_model) {
if (existing_model == undefined) {
new model.VorcuProduct(productInformation)
.save()
.then(function(new_model) { callback(null, new_model)})
.catch(callback);
} else {
callback(null, existing_model)
}
})
}
Qual é a maneira correta de testar isso sem atingir o banco de dados? Preciso zombarfetch
para retornar um modelo ou indefinido (dependendo do teste) e faça o mesmo comsave
? Devo usar religar para isso?
Como você pode ver, estou um pouco perdido, então qualquer ajuda será apreciada.
Obrigado!