Tengo una función que almacena datos en la base de datos:
async function save(id, fields) { ... const exist = await knex('table').select('..').where({ id }); if (exist) { await knex('table').update([...fields...]).where({ id }); } else { await knex('table').insert([...fields...]); } .... }¿Cómo pruebo esta función? Busqué en knex docs pero no obtuve respuesta allí.
¿Cuáles son las mejores prácticas?
¿Debo conectarme a la base de datos de "prueba" y ejecutar la base de datos? pero creo que en este caso tendré que actualizar el esquema y los datos, lo cual es un poco molesto.
¿Debo crear una transacción cada vez que cambio la base de datos y deshacer después de completar la prueba?
¿Quizás simular knex? pero como se si el tipo y la consulta es correcta?
¿Algo más?