From a91dc93a3750d024899ac8b3a56a9d2b8f682759 Mon Sep 17 00:00:00 2001 From: Hafez Date: Wed, 13 Nov 2019 16:04:54 +0200 Subject: [PATCH] Add test for #8331 --- test/model.test.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/test/model.test.js b/test/model.test.js index a0bf8dc8960..ce2ceddb56e 100644 --- a/test/model.test.js +++ b/test/model.test.js @@ -5671,6 +5671,34 @@ describe('Model', function() { then(() => Model.findOne()). then(doc => assert.equal(doc.nested.name, 'foo')); }); + + it('throws an error if no update object is provided (gh-8331)', function() { + const userSchema = new Schema({ name: { type: String, required: true } }); + const User = db.model('gh8331', userSchema); + + return co(function*() { + const createdUser = yield User.create({ name: 'Hafez' }); + let threw = false; + try { + yield User.bulkWrite([{ + updateOne: { + filter: { _id: createdUser._id } + } + }]); + } + catch (err) { + threw = true; + assert.equal(err.message, 'Must provide an update object.'); + } + finally { + assert.equal(threw, true); + + const userAfterUpdate = yield User.findOne({ _id: createdUser._id }); + + assert.equal(userAfterUpdate.name, 'Hafez', 'Document data is not wiped if no update object is provided.'); + } + }); + }); }); it('insertMany with Decimal (gh-5190)', function(done) {