-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathGetUserSelectableRoles.test.ts
More file actions
25 lines (20 loc) · 1.11 KB
/
Copy pathGetUserSelectableRoles.test.ts
File metadata and controls
25 lines (20 loc) · 1.11 KB
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
import { ReadError } from '../../../src'
import { IRolesRepository } from '../../../src/roles/domain/repositories/IRolesRepository'
import { createRoleModelArray } from '../../testHelpers/roles/roleHelper'
import { GetUserSelectableRoles } from '../../../src/roles/domain/useCases/GetUserSelectableRoles'
describe('execute', () => {
test('should return roles array on repository success', async () => {
const rolesRepositoryStub: IRolesRepository = {} as IRolesRepository
const testRoles = createRoleModelArray(5)
rolesRepositoryStub.getUserSelectableRoles = jest.fn().mockResolvedValue(testRoles)
const sut = new GetUserSelectableRoles(rolesRepositoryStub)
const actual = await sut.execute()
expect(actual).toEqual(testRoles)
})
test('should return error result on repository error', async () => {
const rolesRepositoryStub: IRolesRepository = {} as IRolesRepository
rolesRepositoryStub.getUserSelectableRoles = jest.fn().mockRejectedValue(new ReadError())
const sut = new GetUserSelectableRoles(rolesRepositoryStub)
await expect(sut.execute()).rejects.toThrow(ReadError)
})
})