Files
speckle-server/packages/server/modules/gatekeeper/tests/helpers.ts
T
Daniel Gak Anagrov 51d6a8dd67 feat(activity): added user info to checkout_subscription and subscription upgrade (#4967)
* feat: added userId to checkout_subscription
* feat: add update intent to subscription
2025-06-24 15:34:26 +02:00

46 lines
1.4 KiB
TypeScript

import {
SubscriptionData,
WorkspaceSubscription
} from '@/modules/gatekeeper/domain/billing'
import cryptoRandomString from 'crypto-random-string'
import { assign } from 'lodash'
export const createTestSubscriptionData = (
overrides: Partial<SubscriptionData> = {}
): SubscriptionData => {
const aMonthFromNow = new Date()
aMonthFromNow.setMonth(new Date().getMonth() + 1)
const defaultValues = {
cancelAt: null,
customerId: cryptoRandomString({ length: 10 }),
products: [
{
priceId: cryptoRandomString({ length: 10 }),
productId: cryptoRandomString({ length: 10 }),
quantity: 3,
subscriptionItemId: cryptoRandomString({ length: 10 })
}
],
status: 'active',
subscriptionId: cryptoRandomString({ length: 10 }),
currentPeriodEnd: aMonthFromNow.toISOString()
}
return assign(defaultValues, overrides)
}
export const createTestWorkspaceSubscription = (
overrides: Partial<WorkspaceSubscription> = {}
): WorkspaceSubscription => {
const defaultValues: WorkspaceSubscription = {
billingInterval: 'monthly',
createdAt: new Date(),
updatedAt: new Date(),
currentBillingCycleEnd: new Date(),
subscriptionData: createTestSubscriptionData(),
updateIntent: null,
currency: 'usd',
workspaceId: cryptoRandomString({ length: 10 })
}
return assign(defaultValues, overrides)
}