|
|
@ -287,31 +287,26 @@ describe('WebhookServer', () => {
|
|
|
|
|
|
|
|
|
|
|
|
await WebhookServer.handleRequest(createTestRequest(payload));
|
|
|
|
await WebhookServer.handleRequest(createTestRequest(payload));
|
|
|
|
|
|
|
|
|
|
|
|
// Verify the three command-related log calls
|
|
|
|
// Verify the two command-related log calls (first log is skipped in test mode)
|
|
|
|
expect(consoleSpy).toHaveBeenCalledTimes(3);
|
|
|
|
expect(consoleSpy).toHaveBeenCalledTimes(2);
|
|
|
|
|
|
|
|
|
|
|
|
expect(consoleSpy).toHaveBeenCalledWith(
|
|
|
|
// First call should be the command detection
|
|
|
|
'ℹ️ Incoming webhook request:'
|
|
|
|
expect(consoleSpy.mock.calls[0][0]).toBe('🔍 Detected /tarea command:');
|
|
|
|
);
|
|
|
|
expect(consoleSpy.mock.calls[0][1]).toEqual({
|
|
|
|
|
|
|
|
timestamp: expect.any(String),
|
|
|
|
expect(consoleSpy).toHaveBeenCalledWith(
|
|
|
|
from: 'user123@s.whatsapp.net',
|
|
|
|
'🔍 Detected /tarea command:',
|
|
|
|
group: 'group123@g.us',
|
|
|
|
expect.objectContaining({
|
|
|
|
rawMessage: '/tarea nueva Finish project @user2 2025-04-30'
|
|
|
|
from: 'user123@s.whatsapp.net',
|
|
|
|
});
|
|
|
|
group: 'group123@g.us',
|
|
|
|
|
|
|
|
rawMessage: '/tarea nueva Finish project @user2 2025-04-30'
|
|
|
|
// Second call should be the successful parsing
|
|
|
|
})
|
|
|
|
expect(consoleSpy.mock.calls[1][0]).toBe('✅ Successfully parsed command:');
|
|
|
|
);
|
|
|
|
expect(consoleSpy.mock.calls[1][1]).toEqual({
|
|
|
|
|
|
|
|
action: 'nueva',
|
|
|
|
expect(consoleSpy).toHaveBeenCalledWith(
|
|
|
|
description: 'Finish project @user2',
|
|
|
|
'✅ Successfully parsed command:',
|
|
|
|
dueDate: '2025-04-30',
|
|
|
|
expect.objectContaining({
|
|
|
|
mentionCount: 1
|
|
|
|
action: 'nueva',
|
|
|
|
});
|
|
|
|
description: 'Finish project @user2',
|
|
|
|
|
|
|
|
dueDate: '2025-04-30',
|
|
|
|
|
|
|
|
mentionCount: expect.any(Number)
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|