Mailspring/packages/nylas-message-processor/spec/threading-spec.js
Juan Tejada dce872fac8 Adds bunyan for json logging on every package!
- Bunyan logs json output, and added a stream to send our logs to
cloudwatch
- Replaces /all/ instances of console.log. Turned eslint rule back on,
so we don't use console.log ever again.
- Added npm scripts to view pretty logs
2016-07-08 17:30:24 -07:00

58 lines
1.4 KiB
JavaScript

const path = require('path')
const fs = require('fs')
const {DatabaseConnector} = require('nylas-core')
const {processMessage} = require('../processors/threading')
const BASE_PATH = path.join(__dirname, 'fixtures')
it('adds the message to the thread', (done) => {
const {message, reply} = require(`${BASE_PATH}/thread`)
const accountId = 'a-1'
const mockDb = {
Thread: {
findAll: () => {
return Promise.resolve([
{
id: 1,
subject: "Loved your work and interests",
messages: [message],
}])
},
find: () => {
return Promise.resolve(null)
},
create: (thread) => {
thread.id = 1
thread.addMessage = (message) => {
if (thread.messages) {
thread.messages.push(message.id)
} else {
thread.messages = [message.id]
}
}
return Promise.resolve(thread)
}
},
Message: {
findAll: () => {
return Promise.resolve([message, reply])
},
find: () => {
return Promise.resolve(reply)
},
create: (message) => {
message.setThread = (thread) => {
message.thread = thread.id
}
return Promise.resolve(message)
}
}
}
processMessage({db: mockDb, message: reply, accountId}).then((processed) => {
expect(processed.thread).toBe(1)
done()
})
})