123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /*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);
- });
- });
|