import { describe, expect, it } from 'bun:test'; import { mapWebhookTypeToStatus } from './helpers'; describe('event-mapping', () => { it('maps all webhook event types correctly', () => { expect(mapWebhookTypeToStatus('activated')).toBe('ACTIVE'); expect(mapWebhookTypeToStatus('updated')).toBe('ACTIVE'); expect(mapWebhookTypeToStatus('payment_failed')).toBe('PAST_DUE'); expect(mapWebhookTypeToStatus('cancelled')).toBe('CANCELED'); }); it('maps Stripe checkout.session.completed -> activated -> ACTIVE', () => { const status = mapWebhookTypeToStatus('activated'); expect(status).toBe('ACTIVE'); }); it('maps Stripe customer.subscription.deleted -> cancelled -> CANCELED', () => { const status = mapWebhookTypeToStatus('cancelled'); expect(status).toBe('CANCELED'); }); it('maps Mercado Pago subscription_authorized_payment -> activated -> ACTIVE', () => { const status = mapWebhookTypeToStatus('activated'); expect(status).toBe('ACTIVE'); }); it('maps Mercado Pago subscription_cancelled -> cancelled -> CANCELED', () => { const status = mapWebhookTypeToStatus('cancelled'); expect(status).toBe('CANCELED'); }); });