Jasmine 2.0 SO answer
Jasmine 2.0 using spyOn
HTML
<script src="https://jasmine.github.io/2.2/lib/jasmine.js"></script>
<script src="https://jasmine.github.io/2.2/lib/jasmine-html.js"></script>
<script src="https://jasmine.github.io/2.2/lib/boot.js"></script>
<link rel="stylesheet" href="https://jasmine.github.io/2.2/lib/jasmine.css">
JavaScript
// Source
var queryServer = {
getJsonServerNine: function () {
'use strict';
$.getJSON(queryServer.url, function (simpleJson) {
// parseResponse(simpleJson);
console.log(simpleJson)
queryServer.queryResult = simpleJson[Object.keys(simpleJson)[0]];
}).fail(function (error) {
console.log(error.statusText);
});
}
}
// Test
describe('foo', function () {
it("tests getJSON call", function () {
spyOn($, 'getJSON').and.callFake(function (url, success) {
success({
"nine": 10
});
return {
fail: function() {}
}
});
queryServer.getJsonServerNine();
expect(queryServer.queryResult).toBe(9);
});
});