mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
test: response interception after redirects (failing) (#7534)
This commit is contained in:
parent
22bc9c0285
commit
869ef072e7
@ -160,3 +160,42 @@ it('should be abortable after interception', async ({page, server, browserName})
|
||||
expect(failed).toBe(true);
|
||||
});
|
||||
|
||||
it('should fulfill after redirects', async ({page, server}) => {
|
||||
it.fixme();
|
||||
server.setRedirect('/redirect/1.html', '/redirect/2.html');
|
||||
server.setRedirect('/redirect/2.html', '/empty.html');
|
||||
const expectedUrls = ['/redirect/1.html', '/redirect/2.html', '/empty.html'].map(s => server.PREFIX + s);
|
||||
const requestUrls = [];
|
||||
const responseUrls = [];
|
||||
const requestFinishedUrls = [];
|
||||
page.on('request', request => requestUrls.push(request.url()));
|
||||
page.on('response', response => responseUrls.push(response.url()));
|
||||
page.on('requestfinished', request => requestFinishedUrls.push(request.url()));
|
||||
await page.route('**/*', async route => {
|
||||
// @ts-expect-error
|
||||
await route._intercept({});
|
||||
await route.fulfill({
|
||||
status: 201,
|
||||
headers: {
|
||||
foo: 'bar'
|
||||
},
|
||||
contentType: 'text/plain',
|
||||
body: 'Yo, page!'
|
||||
});
|
||||
});
|
||||
const response = await page.goto(server.PREFIX + '/redirect/1.html');
|
||||
expect(requestUrls).toEqual(expectedUrls);
|
||||
expect(responseUrls).toEqual(expectedUrls);
|
||||
await response.finished();
|
||||
expect(requestFinishedUrls).toEqual(expectedUrls);
|
||||
|
||||
const redirectChain = [];
|
||||
for (let req = response.request(); req; req = req.redirectedFrom())
|
||||
redirectChain.unshift(req.url());
|
||||
expect(redirectChain).toEqual(expectedUrls);
|
||||
|
||||
expect(response.status()).toBe(201);
|
||||
expect(response.headers().foo).toBe('bar');
|
||||
expect(response.headers()['content-type']).toBe('text/plain');
|
||||
expect(await response.text()).toBe('Yo, page!');
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user