-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjest.setup.unit.ts
63 lines (59 loc) · 1.52 KB
/
jest.setup.unit.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
jest.mock("mongoose", () => {
const actualMongoose = jest.requireActual("mongoose");
class MockSchema {
methods = {};
statics = {};
pre = jest.fn();
static Types = {
ObjectId: jest.fn(() => "mockObjectId"),
};
constructor() {}
}
return {
...actualMongoose,
connect: jest.fn(),
model: jest.fn(() => ({
findOne: jest.fn().mockReturnValue({
exec: jest.fn().mockResolvedValue(null),
}),
find: jest.fn().mockReturnValue({
exec: jest.fn().mockResolvedValue([]),
}),
create: jest.fn().mockResolvedValue({}),
findById: jest.fn().mockReturnValue({
exec: jest.fn().mockResolvedValue(null),
}),
findByIdAndUpdate: jest.fn().mockResolvedValue({}),
findByIdAndDelete: jest.fn().mockResolvedValue({}),
})),
Schema: MockSchema,
Types: {
ObjectId: jest.fn(() => "mockObjectId"),
},
};
});
jest.mock("./src/utils/security.utils", () => ({
...jest.requireActual("./src/utils/security.utils"),
comparePassword: jest.fn().mockResolvedValue(true),
hashPassword: jest.fn().mockResolvedValue("mockHashedPassword"),
generateJWTToken: jest.fn().mockResolvedValue("mockToken"),
}));
jest.mock("./src/config/app.config", () => ({
AppConfig: {
jwt: {
secret: "mockSecret",
expiresIn: "1h",
},
client: {
url: "http://localhost",
},
notification: {
email: {
brevoApiKey: "mockBrevoApiKey",
},
},
token: {
defaultExpiresIn: 3600,
},
},
}));