This commit is contained in:
Alan Mosko
2023-01-11 23:58:29 -03:00
parent 5041be776e
commit 78f04d8714
18 changed files with 405 additions and 253 deletions
+19 -28
View File
@@ -22,25 +22,16 @@ describe('Event Buffer Tests', () => {
ev.on('chats.update', () => fail('should not emit update event'))
ev.buffer()
await Promise.all([
(async() => {
ev.buffer()
await delay(100)
ev.emit('chats.upsert', [{ id: chatId, conversationTimestamp: 123, unreadCount: 1 }])
const flushed = ev.flush()
expect(flushed).toBeFalsy()
})(),
(async() => {
ev.buffer()
await delay(200)
ev.emit('chats.update', [{ id: chatId, conversationTimestamp: 124, unreadCount: 1 }])
const flushed = ev.flush()
expect(flushed).toBeFalsy()
})()
])
ev.processInBuffer((async() => {
await delay(100)
ev.emit('chats.upsert', [{ id: chatId, conversationTimestamp: 123, unreadCount: 1 }])
})())
ev.processInBuffer((async() => {
await delay(200)
ev.emit('chats.update', [{ id: chatId, conversationTimestamp: 124, unreadCount: 1 }])
})())
const flushed = ev.flush()
expect(flushed).toBeTruthy()
await ev.flush()
expect(chats).toHaveLength(1)
expect(chats[0].conversationTimestamp).toEqual(124)
@@ -60,7 +51,7 @@ describe('Event Buffer Tests', () => {
ev.emit('chats.delete', [chatId])
ev.emit('chats.update', [{ id: chatId, conversationTimestamp: 124, unreadCount: 1 }])
ev.flush()
await ev.flush()
expect(chats).toHaveLength(1)
})
@@ -77,7 +68,7 @@ describe('Event Buffer Tests', () => {
ev.emit('chats.update', [{ id: chatId, conversationTimestamp: 123, unreadCount: 1 }])
ev.emit('chats.delete', [chatId])
ev.flush()
await ev.flush()
expect(chatsDeleted).toHaveLength(1)
})
@@ -112,7 +103,7 @@ describe('Event Buffer Tests', () => {
}
}])
ev.flush()
await ev.flush()
ev.buffer()
ev.emit('chats.upsert', [{
@@ -132,7 +123,7 @@ describe('Event Buffer Tests', () => {
messages: [],
isLatest: false
})
ev.flush()
await ev.flush()
expect(chatsUpserted).toHaveLength(1)
expect(chatsUpserted[0].id).toEqual(chatId)
@@ -168,7 +159,7 @@ describe('Event Buffer Tests', () => {
muteEndTime: 123
}])
ev.flush()
await ev.flush()
expect(chatsUpserted).toHaveLength(1)
expect(chatsUpserted[0].archived).toBeUndefined()
@@ -193,7 +184,7 @@ describe('Event Buffer Tests', () => {
})
ev.emit('chats.update', [{ id: chatId, archived: true }])
ev.flush()
await ev.flush()
expect(chatRecv).toBeDefined()
expect(chatRecv?.archived).toBeTruthy()
@@ -227,7 +218,7 @@ describe('Event Buffer Tests', () => {
ev.emit('messages.upsert', { messages: [proto.WebMessageInfo.fromObject(msg)], type: 'notify' })
ev.emit('messages.update', [{ key: msg.key, update: { status: WAMessageStatus.READ } }])
ev.flush()
await ev.flush()
expect(msgs).toHaveLength(1)
expect(msgs[0].message).toBeTruthy()
@@ -263,7 +254,7 @@ describe('Event Buffer Tests', () => {
}
])
ev.flush()
await ev.flush()
expect(msgs).toHaveLength(1)
expect(msgs[0].userReceipt).toHaveLength(1)
@@ -284,7 +275,7 @@ describe('Event Buffer Tests', () => {
ev.emit('messages.update', [{ key, update: { status: WAMessageStatus.DELIVERY_ACK } }])
ev.emit('messages.update', [{ key, update: { status: WAMessageStatus.READ } }])
ev.flush()
await ev.flush()
expect(msgs).toHaveLength(1)
expect(msgs[0].update.status).toEqual(WAMessageStatus.READ)
@@ -312,7 +303,7 @@ describe('Event Buffer Tests', () => {
ev.emit('chats.update', [{ id: msg.key.remoteJid!, unreadCount: 1, conversationTimestamp: msg.messageTimestamp }])
ev.emit('messages.update', [{ key: msg.key, update: { status: WAMessageStatus.READ } }])
ev.flush()
await ev.flush()
expect(chats[0].unreadCount).toBeUndefined()
})
-37
View File
@@ -1,37 +0,0 @@
import { WAMessageContent } from '../Types'
import { normalizeMessageContent } from '../Utils'
describe('Messages Tests', () => {
it('should correctly unwrap messages', () => {
const CONTENT = { imageMessage: { } }
expectRightContent(CONTENT)
expectRightContent({
ephemeralMessage: { message: CONTENT }
})
expectRightContent({
viewOnceMessage: {
message: {
ephemeralMessage: { message: CONTENT }
}
}
})
expectRightContent({
viewOnceMessage: {
message: {
viewOnceMessageV2: {
message: {
ephemeralMessage: { message: CONTENT }
}
}
}
}
})
function expectRightContent(content: WAMessageContent) {
expect(
normalizeMessageContent(content)
).toHaveProperty('imageMessage')
}
})
})