Skip to content

Commit

Permalink
test: add unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
g-saracca committed Nov 29, 2024
1 parent b18ebf4 commit a5634ad
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions test/unit/users/RegisterUser.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { RegisterUser } from '../../../src/users/domain/useCases/RegisterUser'
import { IUsersRepository } from '../../../src/users/domain/repositories/IUsersRepository'
import { UserDTO, WriteError } from '../../../src'

describe('execute', () => {
const testUserDTO: UserDTO = {
username: 'johndoe',
firstName: 'John',
lastName: 'Doe',
emailAddress: '[email protected]',
position: '',
affiliation: '',
termsAccepted: true
}

test('should return undefined on repository success', async () => {
const usersRepositoryStub: IUsersRepository = {} as IUsersRepository
usersRepositoryStub.registerUser = jest.fn().mockResolvedValue(undefined)
const testRegisterUser = new RegisterUser(usersRepositoryStub)

const actual = await testRegisterUser.execute(testUserDTO)

expect(actual).toEqual(undefined)
})

test('should return error result on repository error', async () => {
const usersRepositoryStub: IUsersRepository = {} as IUsersRepository
usersRepositoryStub.registerUser = jest.fn().mockRejectedValue(new WriteError())
const testRegisterUser = new RegisterUser(usersRepositoryStub)

await expect(testRegisterUser.execute(testUserDTO)).rejects.toThrow(WriteError)
})
})

0 comments on commit a5634ad

Please sign in to comment.