mirror of
https://github.com/FranP-code/Baileys.git
synced 2025-10-13 00:32:22 +00:00
test fix
This commit is contained in:
@@ -36,8 +36,8 @@ export const WAConnectionTest = (name: string, func: (conn: WAConnection) => voi
|
|||||||
)
|
)
|
||||||
export const assertChatDBIntegrity = (conn: WAConnection) => {
|
export const assertChatDBIntegrity = (conn: WAConnection) => {
|
||||||
conn.chats.all ().forEach (chat => (
|
conn.chats.all ().forEach (chat => (
|
||||||
assert.equal (
|
assert.deepEqual (
|
||||||
chat.messages.sort ((m1, m2) => toNumber(m1.messageTimestamp)-toNumber(m2.messageTimestamp)),
|
[...chat.messages].sort ((m1, m2) => toNumber(m1.messageTimestamp)-toNumber(m2.messageTimestamp)),
|
||||||
chat.messages
|
chat.messages
|
||||||
)
|
)
|
||||||
))
|
))
|
||||||
|
|||||||
@@ -28,14 +28,15 @@ WAConnectionTest('Messages', conn => {
|
|||||||
assert.ok (received.description)
|
assert.ok (received.description)
|
||||||
})
|
})
|
||||||
it('should quote a message', async () => {
|
it('should quote a message', async () => {
|
||||||
const {messages} = await conn.loadMessages(testJid, 2)
|
const quoted = (await conn.loadMessages(testJid, 2)).messages[0]
|
||||||
const message = await sendAndRetreiveMessage(conn, 'hello fren 2', MessageType.extendedText, {
|
const message = await sendAndRetreiveMessage(conn, 'hello fren 2', MessageType.extendedText, { quoted })
|
||||||
quoted: messages[0],
|
assert.strictEqual(
|
||||||
})
|
message.message.extendedTextMessage.contextInfo.stanzaId,
|
||||||
assert.strictEqual(message.message.extendedTextMessage.contextInfo.stanzaId, messages[0].key.id)
|
quoted.key.id
|
||||||
|
)
|
||||||
assert.strictEqual(
|
assert.strictEqual(
|
||||||
message.message.extendedTextMessage.contextInfo.participant,
|
message.message.extendedTextMessage.contextInfo.participant,
|
||||||
messages[0].key.fromMe ? conn.user.jid : messages[0].key.id
|
quoted.key.fromMe ? conn.user.jid : quoted.key.id
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
it('should send a gif', async () => {
|
it('should send a gif', async () => {
|
||||||
@@ -65,12 +66,12 @@ WAConnectionTest('Messages', conn => {
|
|||||||
//const message2 = await sendAndRetreiveMessage (conn, 'this is a quote', MessageType.extendedText)
|
//const message2 = await sendAndRetreiveMessage (conn, 'this is a quote', MessageType.extendedText)
|
||||||
})
|
})
|
||||||
it('should send an image & quote', async () => {
|
it('should send an image & quote', async () => {
|
||||||
const {messages} = await conn.loadMessages(testJid, 1)
|
const quoted = (await conn.loadMessages(testJid, 2)).messages[0]
|
||||||
const content = await fs.readFile('./Media/meme.jpeg')
|
const content = await fs.readFile('./Media/meme.jpeg')
|
||||||
const message = await sendAndRetreiveMessage(conn, content, MessageType.image, { quoted: messages[0] })
|
const message = await sendAndRetreiveMessage(conn, content, MessageType.image, { quoted })
|
||||||
|
|
||||||
await conn.downloadMediaMessage(message) // check for successful decoding
|
await conn.downloadMediaMessage(message) // check for successful decoding
|
||||||
assert.strictEqual(message.message.imageMessage.contextInfo.stanzaId, messages[0].key.id)
|
assert.strictEqual(message.message.imageMessage.contextInfo.stanzaId, quoted.key.id)
|
||||||
})
|
})
|
||||||
it('should send a message & delete it', async () => {
|
it('should send a message & delete it', async () => {
|
||||||
const message = await sendAndRetreiveMessage(conn, 'hello fren', MessageType.text)
|
const message = await sendAndRetreiveMessage(conn, 'hello fren', MessageType.text)
|
||||||
|
|||||||
@@ -214,15 +214,17 @@ export class WAConnection extends Base {
|
|||||||
} else {
|
} else {
|
||||||
const messages = chat.messages
|
const messages = chat.messages
|
||||||
const messageTimestamp = toNumber (message.messageTimestamp)
|
const messageTimestamp = toNumber (message.messageTimestamp)
|
||||||
const idx = messages.findIndex(m => toNumber(m.messageTimestamp) >= messageTimestamp)
|
let idx = messages.length-1
|
||||||
|
for (idx; idx >= 0; idx--) {
|
||||||
|
if (toNumber(messages[idx].messageTimestamp) <= messageTimestamp) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
// if the message is already there
|
// if the message is already there
|
||||||
if (messages[idx]?.key.id === message.key.id) return
|
if (messages[idx]?.key.id === message.key.id) return
|
||||||
//this.log (`adding message ID: ${messageTimestamp} to ${JSON.stringify(messages.map(m => toNumber(messageTimestamp)))}`, MessageLogLevel.info)
|
//this.log (`adding message ID: ${messageTimestamp} to ${JSON.stringify(messages.map(m => toNumber(messageTimestamp)))}`, MessageLogLevel.info)
|
||||||
|
|
||||||
if (idx < 0) messages.push(message) // add to end
|
|
||||||
else if (toNumber(messages[idx].messageTimestamp) === toNumber(message.messageTimestamp)) messages.splice (idx+1, 0, message) // insert
|
|
||||||
else messages.splice (idx, 0, message) // insert
|
|
||||||
|
|
||||||
|
messages.splice (idx+1, 0, message) // insert
|
||||||
messages.splice(0, messages.length-this.maxCachedMessages)
|
messages.splice(0, messages.length-this.maxCachedMessages)
|
||||||
|
|
||||||
// only update if it's an actual message
|
// only update if it's an actual message
|
||||||
|
|||||||
Reference in New Issue
Block a user