-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathroute.test.ts
More file actions
32 lines (26 loc) · 905 Bytes
/
Copy pathroute.test.ts
File metadata and controls
32 lines (26 loc) · 905 Bytes
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
26
27
28
29
30
31
32
import { beforeEach, describe, expect, it, vi } from 'vitest'
const combinedMocks = vi.hoisted(() => ({
getCombinedActivity: vi.fn()
}))
vi.mock('@/app/api/activity/combined/combine', () => combinedMocks)
describe('activity combined route', () => {
beforeEach(() => {
vi.resetModules()
combinedMocks.getCombinedActivity.mockReset()
})
it('clamps public query params before calling the aggregator', async () => {
combinedMocks.getCombinedActivity.mockResolvedValue({
fetchedAt: 123
})
const { GET } = await import('@/app/api/activity/combined/route')
const response = await GET(
new Request(
'http://localhost:3000/api/activity/combined?activityLimit=999&tracksLimit=0'
)
)
const data = await response.json()
expect(response.status).toBe(200)
expect(combinedMocks.getCombinedActivity).toHaveBeenCalledWith(25, 1)
expect(data).toEqual({ fetchedAt: 123 })
})
})