mirror of
https://github.com/hanzoai/msw.git
synced 2026-09-24 17:00:34 +00:00
33 lines
909 B
TypeScript
33 lines
909 B
TypeScript
import { test, expect } from '../playwright.extend'
|
|
|
|
test('supports redirect in a mocked response', async ({
|
|
loadExample,
|
|
fetch,
|
|
makeUrl,
|
|
page,
|
|
}) => {
|
|
await loadExample(new URL('./redirect.mocks.ts', import.meta.url))
|
|
|
|
const [res, redirectRes] = await Promise.all([
|
|
await fetch('/login'),
|
|
await page.waitForResponse(makeUrl('/user')),
|
|
])
|
|
const headers = await res.allHeaders()
|
|
|
|
// Assert the original response returns redirect.
|
|
expect(headers).toHaveProperty('location', '/user')
|
|
expect(res.fromServiceWorker()).toBe(true)
|
|
expect(res.status()).toBe(307)
|
|
|
|
const redirectStatus = redirectRes.status()
|
|
const redirectBody = await redirectRes.json()
|
|
|
|
// Assert redirect gets requested and mocked.
|
|
expect(redirectStatus).toBe(200)
|
|
expect(redirectRes.fromServiceWorker()).toBe(true)
|
|
expect(redirectBody).toEqual({
|
|
firstName: 'John',
|
|
lastName: 'Maverick',
|
|
})
|
|
})
|