first commit
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
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
|
||||
Reference in New Issue
Block a user