diff --git a/docs/adapters/custom.md b/docs/adapters/custom.md index d44cfe90..ed36f27e 100644 --- a/docs/adapters/custom.md +++ b/docs/adapters/custom.md @@ -93,6 +93,7 @@ class FetchAdapter extends Adapter { return new Response(response.body, { status: response.statusCode, + statusText: response.statusText, headers: response.headers }); }; diff --git a/packages/@pollyjs/adapter-fetch/src/index.js b/packages/@pollyjs/adapter-fetch/src/index.js index ea62a62a..75c8c9c7 100644 --- a/packages/@pollyjs/adapter-fetch/src/index.js +++ b/packages/@pollyjs/adapter-fetch/src/index.js @@ -218,6 +218,7 @@ export default class FetchAdapter extends Adapter { const response = new Response(responseBody, { status: statusCode, + statusText: pollyResponse.statusText, headers: pollyResponse.headers }); diff --git a/packages/@pollyjs/adapter-fetch/tests/integration/adapter-test.js b/packages/@pollyjs/adapter-fetch/tests/integration/adapter-test.js index 3757bc03..e7ad936b 100644 --- a/packages/@pollyjs/adapter-fetch/tests/integration/adapter-test.js +++ b/packages/@pollyjs/adapter-fetch/tests/integration/adapter-test.js @@ -133,6 +133,16 @@ describe('Integration | Fetch Adapter', function() { expect(nativeResponseBuffer.equals(replayedResponseBuffer)).to.equal(true); }); + it('should return status text', async function() { + const { server } = this.polly; + + server.any(this.recordUrl()).intercept((_, res) => res.sendStatus(200)); + + const res = await this.fetch(new Request(this.recordUrl())); + + expect(res.statusText).to.equal('OK'); + }); + describe('Request', function() { it('should support Request objects', async function() { const { server } = this.polly;