fix: reset mocks between tests and improve message validation

main
borja (aider) 3 months ago
parent 290f854e85
commit d7390db8d6

@ -53,11 +53,13 @@ export class WebhookServer {
private static async handleMessageUpsert(data: any) { private static async handleMessageUpsert(data: any) {
// Basic message validation // Basic message validation
if (!data?.key?.remoteJid || !data.message) return; if (!data?.key?.remoteJid || !data.message || !data.message.conversation) return;
// Forward to command service if applicable // Forward to command service only if:
// 1. It's a text message (has conversation field)
// 2. Starts with /tarea command
const messageText = data.message.conversation; const messageText = data.message.conversation;
if (messageText?.startsWith('/tarea')) { if (typeof messageText === 'string' && messageText.trim().startsWith('/tarea')) {
const responses = await CommandService.handle({ const responses = await CommandService.handle({
sender: data.key.participant, sender: data.key.participant,
groupId: data.key.remoteJid, groupId: data.key.remoteJid,

@ -3,8 +3,12 @@ import { WebhookServer } from '../../src/server';
import { ResponseQueue } from '../../src/services/response-queue'; import { ResponseQueue } from '../../src/services/response-queue';
// Mock the ResponseQueue // Mock the ResponseQueue
const mockAdd = mock(() => Promise.resolve()); let mockAdd: any;
beforeEach(() => {
mockAdd = mock(() => Promise.resolve());
ResponseQueue.add = mockAdd; ResponseQueue.add = mockAdd;
});
describe('WebhookServer', () => { describe('WebhookServer', () => {
const envBackup = process.env; const envBackup = process.env;

Loading…
Cancel
Save