fix: repair WhatsApp channel tests (missing Browsers mock and async flush)

Added missing Browsers mock to the Baileys vi.mock and made
triggerMessages async to flush microtasks before assertions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
gavrielc
2026-02-13 23:08:34 +02:00
parent ae474fd344
commit 5c68deef76

View File

@@ -72,6 +72,7 @@ let fakeSocket: ReturnType<typeof createFakeSocket>;
vi.mock('@whiskeysockets/baileys', () => {
return {
default: vi.fn(() => fakeSocket),
Browsers: { macOS: vi.fn(() => ['macOS', 'Chrome', '']) },
DisconnectReason: {
loggedOut: 401,
badSession: 500,
@@ -126,8 +127,10 @@ function triggerDisconnect(statusCode: number) {
});
}
function triggerMessages(messages: unknown[]) {
async function triggerMessages(messages: unknown[]) {
fakeSocket._ev.emit('messages.upsert', { messages });
// Flush microtasks so the async messages.upsert handler completes
await new Promise((r) => setTimeout(r, 0));
}
// --- Tests ---
@@ -297,7 +300,7 @@ describe('WhatsAppChannel', () => {
await connectChannel(channel);
triggerMessages([
await triggerMessages([
{
key: {
id: 'msg-1',
@@ -332,7 +335,7 @@ describe('WhatsAppChannel', () => {
await connectChannel(channel);
triggerMessages([
await triggerMessages([
{
key: {
id: 'msg-2',
@@ -359,7 +362,7 @@ describe('WhatsAppChannel', () => {
await connectChannel(channel);
triggerMessages([
await triggerMessages([
{
key: {
id: 'msg-3',
@@ -381,7 +384,7 @@ describe('WhatsAppChannel', () => {
await connectChannel(channel);
triggerMessages([
await triggerMessages([
{
key: {
id: 'msg-4',
@@ -402,7 +405,7 @@ describe('WhatsAppChannel', () => {
await connectChannel(channel);
triggerMessages([
await triggerMessages([
{
key: {
id: 'msg-5',
@@ -430,7 +433,7 @@ describe('WhatsAppChannel', () => {
await connectChannel(channel);
triggerMessages([
await triggerMessages([
{
key: {
id: 'msg-6',
@@ -458,7 +461,7 @@ describe('WhatsAppChannel', () => {
await connectChannel(channel);
triggerMessages([
await triggerMessages([
{
key: {
id: 'msg-7',
@@ -486,7 +489,7 @@ describe('WhatsAppChannel', () => {
await connectChannel(channel);
triggerMessages([
await triggerMessages([
{
key: {
id: 'msg-8',
@@ -515,7 +518,7 @@ describe('WhatsAppChannel', () => {
await connectChannel(channel);
triggerMessages([
await triggerMessages([
{
key: {
id: 'msg-9',
@@ -556,7 +559,7 @@ describe('WhatsAppChannel', () => {
// The socket has lid '9876543210:1@lid' → phone '1234567890@s.whatsapp.net'
// Send a message from the LID
triggerMessages([
await triggerMessages([
{
key: {
id: 'msg-lid',
@@ -582,7 +585,7 @@ describe('WhatsAppChannel', () => {
await connectChannel(channel);
triggerMessages([
await triggerMessages([
{
key: {
id: 'msg-normal',
@@ -608,7 +611,7 @@ describe('WhatsAppChannel', () => {
await connectChannel(channel);
triggerMessages([
await triggerMessages([
{
key: {
id: 'msg-unknown-lid',