@@ -4,6 +4,7 @@ import { beforeEach, describe, expect, it, vi } from 'vitest';
4
4
import { UserItem } from '@/database/schemas' ;
5
5
import { UserModel } from '@/database/server/models/user' ;
6
6
import { pino } from '@/libs/logger' ;
7
+ import { AgentService } from '@/server/services/agent' ;
7
8
8
9
import { UserService } from './index' ;
9
10
@@ -29,6 +30,12 @@ vi.mock('@/libs/logger', () => ({
29
30
} ,
30
31
} ) ) ;
31
32
33
+ vi . mock ( '@/server/services/agent' , ( ) => ( {
34
+ AgentService : vi . fn ( ) . mockImplementation ( ( ) => ( {
35
+ createInbox : vi . fn ( ) . mockResolvedValue ( undefined ) ,
36
+ } ) ) ,
37
+ } ) ) ;
38
+
32
39
let service : UserService ;
33
40
const mockUserId = 'test-user-id' ;
34
41
@@ -57,7 +64,7 @@ describe('UserService', () => {
57
64
// Mock user not found
58
65
vi . mocked ( UserModel . findById ) . mockResolvedValue ( null as any ) ;
59
66
60
- await service . createUser ( mockUserId , mockUserJSON ) ;
67
+ const result = await service . createUser ( mockUserId , mockUserJSON ) ;
61
68
62
69
expect ( UserModel . findById ) . toHaveBeenCalledWith ( expect . anything ( ) , mockUserId ) ;
63
70
expect ( UserModel . createUser ) . toHaveBeenCalledWith (
@@ -73,6 +80,12 @@ describe('UserService', () => {
73
80
clerkCreatedAt : new Date ( '2023-01-01T00:00:00Z' ) ,
74
81
} ) ,
75
82
) ;
83
+ expect ( AgentService ) . toHaveBeenCalledWith ( expect . anything ( ) , mockUserId ) ;
84
+ expect ( vi . mocked ( AgentService ) . mock . results [ 0 ] . value . createInbox ) . toHaveBeenCalled ( ) ;
85
+ expect ( result ) . toEqual ( {
86
+ message : 'user created' ,
87
+ success : true ,
88
+ } ) ;
76
89
} ) ;
77
90
78
91
it ( 'should not create user if already exists' , async ( ) => {
@@ -83,6 +96,7 @@ describe('UserService', () => {
83
96
84
97
expect ( UserModel . findById ) . toHaveBeenCalledWith ( expect . anything ( ) , mockUserId ) ;
85
98
expect ( UserModel . createUser ) . not . toHaveBeenCalled ( ) ;
99
+ expect ( AgentService ) . not . toHaveBeenCalled ( ) ;
86
100
expect ( result ) . toEqual ( {
87
101
message : 'user not created due to user already existing in the database' ,
88
102
success : false ,
@@ -106,6 +120,8 @@ describe('UserService', () => {
106
120
phone : '+1234567890' , // Should use first phone number
107
121
} ) ,
108
122
) ;
123
+ expect ( AgentService ) . toHaveBeenCalledWith ( expect . anything ( ) , mockUserId ) ;
124
+ expect ( vi . mocked ( AgentService ) . mock . results [ 0 ] . value . createInbox ) . toHaveBeenCalled ( ) ;
109
125
} ) ;
110
126
} ) ;
111
127
0 commit comments