Skip to content

Instantly share code, notes, and snippets.

@rinaldifonseca
Created February 4, 2013 14:21
Show Gist options
  • Save rinaldifonseca/4706964 to your computer and use it in GitHub Desktop.
Save rinaldifonseca/4706964 to your computer and use it in GitHub Desktop.
describe("SinonFakeServerWithJasmine", function() {
var server;
beforeEach(function() {
server = sinon.fakeServer.create();
});
afterEach(function () {
server.restore();
});
it("should fake a jQuery ajax request", function () {
server.respondWith("GET", "/something",
[200, { "Content-Type": "application/json" },
'{ "stuff": "is", "awesome": "in here" }']);
var callbacks = [sinon.spy(), sinon.spy()];
jQuery.ajax({
url: "/something",
success: callbacks[0]
});
jQuery.ajax({
url: "/other",
success: callbacks[1]
});
console.log(server.requests); // Logs all requests so far
server.respond(); // Process all requests
expect(callbacks[0].calledOnce).toBeTruthy();
expect(callbacks[0].calledWith({
stuff: "is",
awesome: "in here"
})).toBeTruthy();
expect(callbacks[1].calledOnce).toBeFalsy(); // Unknown URL /other received 404
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment