J'essaie de simuler HTTP fetch dans jsfiddle. Je ne suis pas sûr de ce que je fais de mal qui fait que le résultat ne soit pas égal au simulacre.Mock HTTP fetch dans sinon
Voici mon exemple de code: (Vous pouvez voir les journaux dans la console du navigateur.)
http://jsfiddle.net/maryam_saeidi/yredb06m/7/
async function getUser(userId) {
var user = await fetch("http://ui-developer-backend.herokuapp.com/api/users/" + userId);
return user.json();
}
mocha.setup("bdd");
chai.should();
var assert = chai.assert,
expect = chai.expect;
describe('getUser()',() => {
let server;
beforeEach(function() {
server = sinon.fakeServer.create();
});
afterEach(function() {
server.restore();
});
it('should return a user.', async() => {
const response = await getUser(1);
console.log("response:", response);
});
it('should return a user object', async() => {
const userId = 10;
server.respondWith("GET", "http://ui-developer-backend.herokuapp.com/api/users/" + userId,[200, { "Content-Type": "application/json" },
'{ "id": "1", "username": "John", "avatar_url": "http://placekitten.com/g/300/300" }']);
const response = getUser(userId);
server.respond();
response.then(function(result){
console.log("result:",result); //The code doesn't get here
result.should.deep.equal({ "id": "1", "username": "John", "avatar_url": "http://placekitten.com/g/300/300" });
});
});
});
mocha.run();