import { vi, describe, it, expect, beforeEach } from 'vitest'; import appConfig from '../config/app'; import { createUser } from '../../test/factories/user'; import { createSubscription } from '../../test/factories/subscription'; import subscriptionSerializer from './subscription.ee.js'; describe('subscriptionSerializer', () => { let user, subscription; beforeEach(async () => { user = await createUser(); subscription = await createSubscription({ userId: user.id }); }); it('should return subscription data', async () => { vi.spyOn(appConfig, 'isCloud', 'get').mockReturnValue(true); const expectedPayload = { id: subscription.id, paddleSubscriptionId: subscription.paddleSubscriptionId, paddlePlanId: subscription.paddlePlanId, updateUrl: subscription.updateUrl, cancelUrl: subscription.cancelUrl, status: subscription.status, nextBillAmount: subscription.nextBillAmount, nextBillDate: subscription.nextBillDate, lastBillDate: subscription.lastBillDate, createdAt: subscription.createdAt.getTime(), updatedAt: subscription.updatedAt.getTime(), cancellationEffectiveDate: subscription.cancellationEffectiveDate, }; expect(subscriptionSerializer(subscription)).toEqual(expectedPayload); }); });