Skip to content

Commit a5634ad

Browse files
committed
test: add unit test
1 parent b18ebf4 commit a5634ad

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
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+
})

0 commit comments

Comments
 (0)