bde148f286
* wip * some extra fixes * stuff kinda works? * need to figure out mocks * need to figure out mocks * fix db listener * gqlgen fix * minor gqlgen watch adjustment * lint fixes * delete old codegen file * converting migrations to ESM * getModuleDIrectory * vitest sort of works * added back ts-vitest * resolve gql double load * fixing test timeout configs * TSC lint fix * fix automate tests * moar debugging * debugging * more debugging * codegen update * server works * yargs migrated * chore(server): getting rid of global mocks for Server ESM (#5046) * got rid of email mock * got rid of comment mocks * got rid of multi region mocks * got rid of stripe mock * admin override mock updated * removed final mock * fixing import.meta.resolve calls * another import.meta.resolve fix * added requested test * nyc ESM fix * removed unneeded deps + linting * yarn lock forgot to commit * tryna fix flakyness * email capture util fix * sendEmail fix * fix TSX check * sender transporter fix + CR comments * merge main fix * test fixx * circleci fix * gqlgen bigint fix * error formatter fix * more error formatting improvements * esmloader added to Dockerfile * more dockerfile fixes * bg jobs fix
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import {
|
|
SubscriptionData,
|
|
WorkspaceSubscription
|
|
} from '@/modules/gatekeeper/domain/billing'
|
|
import cryptoRandomString from 'crypto-random-string'
|
|
import { assign } from 'lodash-es'
|
|
|
|
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)
|
|
}
|