Files
template/api/tests/factories/user-factory.ts
T
2026-06-19 23:55:45 -07:00

33 lines
894 B
TypeScript

import { Factory } from "fishery"
import { faker } from "@faker-js/faker/locale/en_CA"
import { User } from "@/models"
export const userFactory = Factory.define<User>(({ sequence, params, onCreate }) => {
onCreate((user) => {
try {
return user.save()
} catch (error) {
console.error(error)
throw new Error(
`Could not create User with attributes: ${JSON.stringify(user.dataValues, null, 2)}`
)
}
})
const firstName = params.firstName || `${faker.person.firstName()}-${sequence}`
const lastName = params.lastName || faker.person.lastName()
const email = params.email || faker.internet.email({ firstName, lastName })
return User.build({
email,
auth0Subject: params.auth0Subject || email,
firstName,
lastName,
displayName: `${firstName} ${lastName}`,
roles: [User.Roles.USER],
})
})
export default userFactory