import { Subscription } from 'src/subscriptions/entities/subscription.entity'; import { SubscriptionPeriod } from 'src/subscriptions/enums/periods.enum'; import { PaymentStatus } from 'src/subscriptions/enums/status.enum'; import { SubscriptionType } from 'src/subscriptions/enums/types.enum'; import { createUser } from './user'; import { User } from 'src/users/entities/user.entity'; type SubscriptionParameters = { type?: SubscriptionType; period?: SubscriptionPeriod; status?: PaymentStatus; createdAt?: Date; user?: User; }; export const createSubscription = ({ type = 'enthusiast', period = 'monthly', status = 'succeeded', createdAt = new Date(), user, }: SubscriptionParameters): Subscription => ({ id: 'ab2b9b1b0-0b1b-4b1b-8b1b-2b1b3b1b4b1b5', stripeId: 'sub_123', status, type, period, userId: 'a2b9b1b0-0b1b-4b1b-8b1b-2b1b3b1b4b1b5', user, createdAt, flashEvents: [], }); export const audienceMonthlyStripe = createSubscription({ type: 'enthusiast', period: 'monthly', user: createUser(), }); export const rssAddonMonthlyStripe = createSubscription({ type: 'rss-addon', period: 'monthly', }); export const verificationAddonMonthlyStripe = createSubscription({ type: 'verification-addon', period: 'monthly', }); export const audienceMonthlyRejectedStripe = createSubscription({ type: 'enthusiast', period: 'monthly', status: 'rejected', });