diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-03 15:35:00 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-03 15:35:00 +0200 |
commit | de98e0b232509d5f40c135d540a70e415272ff85 (patch) | |
tree | a79222a5b58484ab3b80d18efcaaa7ccc4769b33 /node_modules/isomorphic-fetch/test/api.test.js | |
parent | e0c9d480a73fa629c1e4a47d3e721f1d2d345406 (diff) |
node_modules
Diffstat (limited to 'node_modules/isomorphic-fetch/test/api.test.js')
-rw-r--r-- | node_modules/isomorphic-fetch/test/api.test.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/node_modules/isomorphic-fetch/test/api.test.js b/node_modules/isomorphic-fetch/test/api.test.js new file mode 100644 index 000000000..c25a5cbe8 --- /dev/null +++ b/node_modules/isomorphic-fetch/test/api.test.js @@ -0,0 +1,51 @@ +/*global fetch*/ +"use strict"; + +require('es6-promise').polyfill(); +require('../fetch-npm-node'); +var expect = require('chai').expect; +var nock = require('nock'); +var good = 'hello world. 你好世界。'; +var bad = 'good bye cruel world. 再见残酷的世界。'; + +function responseToText(response) { + if (response.status >= 400) throw new Error("Bad server response"); + return response.text(); +} + +describe('fetch', function() { + + before(function() { + nock('https://mattandre.ws') + .get('/succeed.txt') + .reply(200, good); + nock('https://mattandre.ws') + .get('/fail.txt') + .reply(404, bad); + }); + + it('should be defined', function() { + expect(fetch).to.be.a('function'); + }); + + it('should facilitate the making of requests', function(done) { + fetch('//mattandre.ws/succeed.txt') + .then(responseToText) + .then(function(data) { + expect(data).to.equal(good); + done(); + }) + .catch(done); + }); + + it('should do the right thing with bad requests', function(done) { + fetch('//mattandre.ws/fail.txt') + .then(responseToText) + .catch(function(err) { + expect(err.toString()).to.equal("Error: Bad server response"); + done(); + }) + .catch(done); + }); + +}); |