test
test
by Maryam Saeidi
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.13.0/polyfill.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mocha/3.0.2/mocha.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chai/3.5.0/chai.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mocha/3.0.2/mocha.css">
<script src="http://sinonjs.org/releases/sinon-3.2.1.js"></script>
<div id="mocha"></div>
Babel + JSX
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();