mirror of
https://github.com/hanzoai/msw.git
synced 2026-09-24 17:00:34 +00:00
51 lines
1.6 KiB
TypeScript
51 lines
1.6 KiB
TypeScript
import { it } from 'vitest'
|
|
import { http, HttpResponse } from 'msw'
|
|
|
|
it('supports generator function as response resolver', () => {
|
|
http.get<never, never, { value: number }>('/', function* () {
|
|
yield HttpResponse.json({ value: 1 })
|
|
yield HttpResponse.json({ value: 2 })
|
|
return HttpResponse.json({ value: 3 })
|
|
})
|
|
|
|
http.get<never, never, { value: string }>('/', function* () {
|
|
yield HttpResponse.json({ value: 'one' })
|
|
yield HttpResponse.json({
|
|
// @ts-expect-error Expected string, got number.
|
|
value: 2,
|
|
})
|
|
return HttpResponse.json({ value: 'three' })
|
|
})
|
|
})
|
|
|
|
it('supports async generator function as response resolver', () => {
|
|
http.get<never, never, { value: number }>('/', async function* () {
|
|
yield HttpResponse.json({ value: 1 })
|
|
yield HttpResponse.json({ value: 2 })
|
|
return HttpResponse.json({ value: 3 })
|
|
})
|
|
|
|
http.get<never, never, { value: string }>('/', async function* () {
|
|
yield HttpResponse.json({ value: 'one' })
|
|
yield HttpResponse.json({
|
|
// @ts-expect-error Expected string, got number.
|
|
value: 2,
|
|
})
|
|
return HttpResponse.json({ value: 'three' })
|
|
})
|
|
})
|
|
|
|
it('supports returning nothing from generator resolvers', () => {
|
|
http.get<never, never, { value: string }>('/', function* () {})
|
|
http.get<never, never, { value: string }>('/', async function* () {})
|
|
})
|
|
|
|
it('supports returning undefined from generator resolvers', () => {
|
|
http.get<never, never, { value: string }>('/', function* () {
|
|
return undefined
|
|
})
|
|
http.get<never, never, { value: string }>('/', async function* () {
|
|
return undefined
|
|
})
|
|
})
|