私はノードに比較的慣れておらず、knex と本棚を使用するプロジェクトに取り組んでいます。コードの単体テストで少し問題があり、何が間違っているのかわかりません。
基本的に、次のようなモデル (VorcuProduct と呼ばれる) があります。
var VorcuProduct = bs.Model.extend({
tableName: 'vorcu_products'
});
module.exports.VorcuProduct = VorcuProduct
また、VorcuProductがDB上に存在しない場合に保存する機能。とてもシンプルです。これを行う関数は次のようになります。
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)
}
})
}
DBにアクセスせずにこれをテストする正しい方法はどれですか? fetch
モデルまたは未定義 (テストに応じて) を返すようにモックしてから、で同じことを行う必要がありsave
ますか? これには再配線を使用する必要がありますか?
ご覧のとおり、私は少し迷っているので、助けていただければ幸いです。
ありがとう!