From f10f621d378f7f73eceb23a840a42473f8c534a8 Mon Sep 17 00:00:00 2001 From: Valeri Karpov Date: Tue, 30 Jul 2019 10:44:40 -0400 Subject: [PATCH] test(query): repro #8012 --- test/model.findOneAndReplace.test.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/model.findOneAndReplace.test.js b/test/model.findOneAndReplace.test.js index 87d72d6ce77..11e7dfbd8fe 100644 --- a/test/model.findOneAndReplace.test.js +++ b/test/model.findOneAndReplace.test.js @@ -436,4 +436,24 @@ describe('model: findOneAndReplace:', function() { assert.equal(doc.age, 59); }); }); + + it('orFail() (gh-8030)', function() { + const schema = Schema({ name: String, age: Number }); + const Model = db.model('gh8030', schema); + + return co(function*() { + let err = yield Model.findOneAndReplace({}, { name: 'test' }).orFail(). + then(() => assert.ok(false), err => err); + + assert.ok(err); + assert.equal(err.name, 'DocumentNotFoundError'); + + yield Model.create({ name: 'test' }); + err = yield Model.findOneAndReplace({ name: 'test' }, { name: 'test2' }). + orFail(). + then(() => null, err => err); + + assert.ifError(err); + }); + }); });