1
0
Fork 0
mirror of synced 2024-09-19 18:59:06 +12:00
budibase/packages/backend-core/tests/utilities/structures/accounts.ts

64 lines
1.4 KiB
TypeScript
Raw Normal View History

2022-10-07 04:03:47 +13:00
import { generator, uuid } from "."
import * as db from "../../../src/db/utils"
import {
Account,
AccountSSOProvider,
AccountSSOProviderType,
AuthType,
CloudAccount,
Hosting,
SSOAccount,
} from "@budibase/types"
import _ from "lodash"
2022-10-07 04:03:47 +13:00
export const account = (): Account => {
2022-10-07 04:03:47 +13:00
return {
accountId: uuid(),
tenantId: generator.word(),
email: generator.email(),
tenantName: generator.word(),
hosting: Hosting.SELF,
2022-10-07 04:03:47 +13:00
createdAt: Date.now(),
verified: true,
verificationSent: true,
tier: "FREE", // DEPRECATED
2022-10-07 04:03:47 +13:00
authType: AuthType.PASSWORD,
name: generator.name(),
size: "10+",
profession: "Software Engineer",
}
}
export const cloudAccount = (): CloudAccount => {
return {
...account(),
hosting: Hosting.CLOUD,
2022-10-07 04:03:47 +13:00
budibaseUserId: db.generateGlobalUserID(),
}
}
function providerType(): AccountSSOProviderType {
return _.sample(
Object.values(AccountSSOProviderType)
) as AccountSSOProviderType
}
function provider(): AccountSSOProvider {
return _.sample(Object.values(AccountSSOProvider)) as AccountSSOProvider
}
export function ssoAccount(): SSOAccount {
return {
...cloudAccount(),
authType: AuthType.SSO,
oauth2: {
accessToken: generator.string(),
refreshToken: generator.string(),
},
pictureUrl: generator.url(),
provider: provider(),
providerType: providerType(),
thirdPartyProfile: {},
}
}