1
|
|
|
import { Factory } from '@concepta/typeorm-seeding'; |
2
|
|
|
import { faker } from '@faker-js/faker'; |
3
|
|
|
import { User, UserRole } from 'src/Domain/HumanResource/User/User.entity'; |
4
|
|
|
import { UserAdministrativeFactory } from './UserAdministrativeFactory'; |
5
|
|
|
|
6
|
|
|
export class UserFactory extends Factory<User> { |
7
|
|
|
protected async entity(): Promise<User> { |
8
|
|
|
const user = new User( |
9
|
|
|
faker.name.firstName('female'), |
10
|
|
|
faker.name.lastName('female'), |
11
|
|
|
faker.internet.email(), |
12
|
|
|
'$argon2i$v=19$m=4096,t=3,p=1$slHh/xhoh8SvIjApBHSZnA$hqsry11DeWbNYsFnzADPkYOP2WQrf0yqDXGC3xjSX9A', |
13
|
|
|
'$argon2i$v=19$m=4096,t=3,p=1$slHh/xhoh8SvIjApBHSZnA$hqsry11DeWbNYsFnzADPkYOP2WQrf0yqDXGC3xjSX9A', |
14
|
|
|
UserRole.COOPERATOR |
15
|
|
|
); |
16
|
|
|
return user; |
17
|
|
|
} |
18
|
|
|
|
19
|
|
|
protected async finalize(entity: User): Promise<void> { |
20
|
|
|
entity.userAdministrative = await this.factory( |
21
|
|
|
UserAdministrativeFactory |
22
|
|
|
).create(); |
23
|
|
|
} |
24
|
|
|
} |
25
|
|
|
|
26
|
|
|
export class JohnFactory extends Factory<User> { |
27
|
|
|
protected async entity(): Promise<User> { |
28
|
|
|
const user = new User( |
29
|
|
|
'john', |
30
|
|
|
'doe', |
31
|
|
|
'[email protected]', |
32
|
|
|
'$argon2i$v=19$m=4096,t=3,p=1$slHh/xhoh8SvIjApBHSZnA$hqsry11DeWbNYsFnzADPkYOP2WQrf0yqDXGC3xjSX9A', |
33
|
|
|
'$argon2i$v=19$m=4096,t=3,p=1$slHh/xhoh8SvIjApBHSZnA$hqsry11DeWbNYsFnzADPkYOP2WQrf0yqDXGC3xjSX9A', |
34
|
|
|
UserRole.COOPERATOR |
35
|
|
|
); |
36
|
|
|
return user; |
37
|
|
|
} |
38
|
|
|
|
39
|
|
|
protected async finalize(entity: User): Promise<void> { |
40
|
|
|
entity.userAdministrative = await this.factory( |
41
|
|
|
UserAdministrativeFactory |
42
|
|
|
).create(); |
43
|
|
|
} |
44
|
|
|
} |
45
|
|
|
|