| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- const SandboxedModule = require('sandboxed-module')
- const sinon = require('sinon')
- const modulePath = require('path').join(
- __dirname,
- '../../../../app/src/Features/SystemMessages/SystemMessageManager.js'
- )
- describe('SystemMessageManager', function () {
- beforeEach(function () {
- this.messages = ['messages-stub']
- this.SystemMessage = {
- find: sinon.stub().returns({
- exec: sinon.stub().resolves(this.messages),
- }),
- }
- this.SystemMessageManager = SandboxedModule.require(modulePath, {
- requires: {
- '../../models/SystemMessage': { SystemMessage: this.SystemMessage },
- },
- })
- })
- it('should look the messages up in the database on import', function () {
- sinon.assert.called(this.SystemMessage.find)
- })
- describe('getMessage', function () {
- beforeEach(function () {
- this.SystemMessageManager._cachedMessages = this.messages
- this.result = this.SystemMessageManager.getMessages()
- })
- it('should return the messages', function () {
- this.result.should.equal(this.messages)
- })
- })
- describe('clearMessages', function () {
- beforeEach(function () {
- this.SystemMessage.deleteMany = sinon.stub().returns({
- exec: sinon.stub().resolves(),
- })
- this.SystemMessageManager.promises.clearMessages()
- })
- it('should remove the messages from the database', function () {
- this.SystemMessage.deleteMany.calledWith({}).should.equal(true)
- })
- })
- })
|