mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-09-25 01:36:06 +08:00
a9be3bb3ed
This will only generate 1 delta per new message instead of 2 Adds a MessageFactory to create messages from imapmessage objects, and unifies and cleans up that logic Also modified the message-processor to be more suited for local sync, made emphasis that it's only for processing new messages, and got rid of the while "pipeline" concept - TODO message-processor specs are broken
58 lines
1.4 KiB
JavaScript
58 lines
1.4 KiB
JavaScript
const path = require('path')
|
|
const fs = require('fs')
|
|
const LocalDatabaseConnector = require('../../shared/local-database-connector')
|
|
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()
|
|
})
|
|
})
|