import { User } from 'src/users/entities/user.entity'; import { audienceMonthlyStripe, rssAddonMonthlyStripe, verificationAddonMonthlyStripe, } from './subscription'; import { Subscription } from 'src/subscriptions/entities/subscription.entity'; import { Filmmaker } from 'src/filmmakers/entities/filmmaker.entity'; interface UserParameters { id?: string; email?: string; legalName?: string; profilePictureUrl?: string; subscriptions?: Subscription[]; filmmaker?: Filmmaker; } export const createUser = ({ id = 'a2b9b1b0-0b1b-4b1b-8b1b-2b1b3b1b4b1b5', email = 'test@oneseventech.com', legalName = 'Test User', profilePictureUrl = 'https://example.com/profile.jpg', subscriptions = [], filmmaker, }: UserParameters = {}): User => { return { cognitoId: 'test-cognito-id', id, email, legalName, profilePictureUrl, createdAt: new Date(), updatedAt: new Date(), subscriptions, filmmaker, seasonRents: [], redemptions: [], }; }; const createFilmmaker = ( id: string, userId: string, professionalName: string, bio: string, ): any => { return { id, userId, professionalName, lightningAddress: '', bio, createdAt: new Date(), updatedAt: new Date(), }; }; export const audienceUserStripe: User = createUser({ subscriptions: [audienceMonthlyStripe], }); export const proPlusUserStripe: User = createUser({ subscriptions: [rssAddonMonthlyStripe], filmmaker: createFilmmaker( 'a2b9b1b0-0b1b-4b1b-8b1b-2b1b3b1b4b1b5', 'a2b9b1b0-0b1b-4b1b-8b1b-2b1b3b1b4b1b5', 'Test Filmmaker', 'Test bio', ), }); export const ultimateUserStripe: User = createUser({ subscriptions: [verificationAddonMonthlyStripe], filmmaker: createFilmmaker( 'a2b9b1b0-0b1b-4b1b-8b1b-2b1b3b1b4b1b5', 'a2b9b1b0-0b1b-4b1b-8b1b-2b1b3b1b4b1b5', 'Test Filmmaker', 'Test bio', ), }); export const audienceUserNoSubscription: User = createUser();