Merge pull request #17084 from overleaf/dp-mongoose-callback-system-message-manager

Promisify SystemMessageManager and SystemMessageManagerTests

GitOrigin-RevId: b8fafdfdba817160c1b18cf7eb0270a27adf114c
This commit is contained in:
David
2024-02-19 09:43:28 +00:00
committed by Copybot
parent 6287a3f358
commit 29483271b8
5 changed files with 76 additions and 80 deletions
@@ -1,17 +1,4 @@
/* eslint-disable
max-len,
no-return-assign,
no-unused-vars,
*/
// TODO: This file was created by bulk-decaffeinate.
// Fix any style issues and re-enable lint.
/*
* decaffeinate suggestions:
* DS102: Remove unnecessary code created because of implicit returns
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
const SandboxedModule = require('sandboxed-module')
const assert = require('assert')
const sinon = require('sinon')
const modulePath = require('path').join(
__dirname,
@@ -22,14 +9,15 @@ describe('SystemMessageManager', function () {
beforeEach(function () {
this.messages = ['messages-stub']
this.SystemMessage = {
find: sinon.stub().yields(null, this.messages),
find: sinon.stub().returns({
exec: sinon.stub().resolves(this.messages),
}),
}
this.SystemMessageManager = SandboxedModule.require(modulePath, {
requires: {
'../../models/SystemMessage': { SystemMessage: this.SystemMessage },
},
})
return (this.callback = sinon.stub())
})
it('should look the messages up in the database on import', function () {
@@ -39,26 +27,24 @@ describe('SystemMessageManager', function () {
describe('getMessage', function () {
beforeEach(function () {
this.SystemMessageManager._cachedMessages = this.messages
return this.SystemMessageManager.getMessages(this.callback)
this.result = this.SystemMessageManager.getMessages()
})
it('should return the messages', function () {
return this.callback.calledWith(null, this.messages).should.equal(true)
this.result.should.equal(this.messages)
})
})
describe('clearMessages', function () {
beforeEach(function () {
this.SystemMessage.deleteMany = sinon.stub().callsArg(1)
return this.SystemMessageManager.clearMessages(this.callback)
this.SystemMessage.deleteMany = sinon.stub().returns({
exec: sinon.stub().resolves(),
})
this.SystemMessageManager.promises.clearMessages()
})
it('should remove the messages from the database', function () {
return this.SystemMessage.deleteMany.calledWith({}).should.equal(true)
})
it('should return the callback', function () {
return this.callback.called.should.equal(true)
this.SystemMessage.deleteMany.calledWith({}).should.equal(true)
})
})
})