Skip to content

Commit c355cab

Browse files
committed
Added: unit tests for GetSearchServices use case
1 parent 4d61527 commit c355cab

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { SearchService } from "../../../src/search/domain/models/SearchService"
2+
3+
export const createSearchServiceModelArray = (count: number): SearchService[] => {
4+
return Array.from({ length: count }, (_, index) => ({
5+
name: `role${index + 1}`,
6+
displayName: `Role ${index + 1}`,
7+
}))
8+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { ReadError } from '../../../src'
2+
import { ISearchServicesRepository } from '../../../src/search/domain/repositories/ISearchServicesRepository'
3+
import { GetSearchServices } from '../../../src/search/domain/useCases/GetSearchServices'
4+
import { createSearchServiceModelArray } from '../../testHelpers/search/searchServiceHelper'
5+
6+
describe('execute', () => {
7+
test('should return search services array on repository success', async () => {
8+
const searchServicesRepositoryStub: ISearchServicesRepository = {} as ISearchServicesRepository
9+
const testServices = createSearchServiceModelArray(5)
10+
searchServicesRepositoryStub.getSearchServices = jest.fn().mockResolvedValue(testServices)
11+
const sut = new GetSearchServices(searchServicesRepositoryStub)
12+
13+
const actual = await sut.execute()
14+
15+
expect(actual).toEqual(testServices)
16+
})
17+
18+
test('should return error result on repository error', async () => {
19+
const searchServicesRepositoryStub: ISearchServicesRepository = {} as ISearchServicesRepository
20+
searchServicesRepositoryStub.getSearchServices = jest.fn().mockRejectedValue(new ReadError())
21+
const sut = new GetSearchServices(searchServicesRepositoryStub)
22+
23+
await expect(sut.execute()).rejects.toThrow(ReadError)
24+
})
25+
})

0 commit comments

Comments
 (0)