Pruebas unitarias con Bookshelf.js y knex.js

Soy relativamente nuevo en Node y estoy trabajando en un proyecto usando knex y estantería. Tengo una pequeña unidad de problemas probando mi código y no estoy seguro de qué estoy haciendo mal.

Básicamente tengo un modelo (llamado VorcuProduct) que se ve así:

var VorcuProduct = bs.Model.extend({
    tableName: 'vorcu_products'
});

module.exports.VorcuProduct = VorcuProduct

Y una función que guarda un VorcuProduct si no existe en la base de datos. Bastante sencillo. La función que hace esto se ve así:

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)
        }
    })
}

¿Cuál es la forma correcta de probar esto sin golpear el DB? ¿Necesito burlarmefetch para devolver un modelo o indefinido (dependiendo de la prueba) y luego hacer lo mismo consave? ¿Debo usar rewire para esto?

Como puede ver, estoy un poco perdido, por lo que cualquier ayuda será apreciada.

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta