Files
Compass/backend/api/tests/unit/search-location.unit.test.ts
2026-03-29 18:26:45 +02:00

39 lines
1.1 KiB
TypeScript

jest.mock('common/geodb')
import {AuthedUser} from 'api/helpers/endpoint'
import {searchLocationEndpoint} from 'api/search-location'
import * as geodbModules from 'common/geodb'
describe('searchLocation', () => {
beforeEach(() => {
jest.resetAllMocks()
})
afterEach(() => {
jest.restoreAllMocks()
})
describe('when given valid input', () => {
it('should return search location', async () => {
const mockBody = {
term: 'mockTerm',
limit: 15,
}
const mockAuth = {uid: '321'} as AuthedUser
const mockReq = {} as any
const mockReturn = 'Pass'
;(geodbModules.geodbFetch as jest.Mock).mockResolvedValue(mockReturn)
const result = await searchLocationEndpoint(mockBody, mockAuth, mockReq)
expect(result).toBe(mockReturn)
expect(geodbModules.geodbFetch).toBeCalledTimes(1)
expect(geodbModules.geodbFetch).toBeCalledWith(
expect.stringContaining(
`/cities?namePrefix=${mockBody.term}&limit=${mockBody.limit}&offset=0&sort=-population`,
),
)
})
})
})