File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed
Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change 1+ import { RegisterUser } from '../../../src/users/domain/useCases/RegisterUser'
2+ import { IUsersRepository } from '../../../src/users/domain/repositories/IUsersRepository'
3+ import { UserDTO , WriteError } from '../../../src'
4+
5+ describe ( 'execute' , ( ) => {
6+ const testUserDTO : UserDTO = {
7+ username : 'johndoe' ,
8+ firstName : 'John' ,
9+ lastName : 'Doe' ,
10+ emailAddress :
'[email protected] ' , 11+ position : '' ,
12+ affiliation : '' ,
13+ termsAccepted : true
14+ }
15+
16+ test ( 'should return undefined on repository success' , async ( ) => {
17+ const usersRepositoryStub : IUsersRepository = { } as IUsersRepository
18+ usersRepositoryStub . registerUser = jest . fn ( ) . mockResolvedValue ( undefined )
19+ const testRegisterUser = new RegisterUser ( usersRepositoryStub )
20+
21+ const actual = await testRegisterUser . execute ( testUserDTO )
22+
23+ expect ( actual ) . toEqual ( undefined )
24+ } )
25+
26+ test ( 'should return error result on repository error' , async ( ) => {
27+ const usersRepositoryStub : IUsersRepository = { } as IUsersRepository
28+ usersRepositoryStub . registerUser = jest . fn ( ) . mockRejectedValue ( new WriteError ( ) )
29+ const testRegisterUser = new RegisterUser ( usersRepositoryStub )
30+
31+ await expect ( testRegisterUser . execute ( testUserDTO ) ) . rejects . toThrow ( WriteError )
32+ } )
33+ } )
You can’t perform that action at this time.
0 commit comments