59 lines
2.7 KiB
JavaScript
59 lines
2.7 KiB
JavaScript
describe("Typertext.Json.JsonResponse", function () {
|
|
it("exists", function () {
|
|
expect(typeof Typertext.Json.JsonResponse).toBe("function");
|
|
});
|
|
|
|
describe("fromHttpResponse", function () {
|
|
it("exists", function () {
|
|
expect(typeof Typertext.Json.JsonResponse.fromHttpResponse).toBe("function");
|
|
});
|
|
|
|
it("handles an empty json object response", function () {
|
|
function hf() {
|
|
return "";
|
|
}
|
|
|
|
var inputBody = "{}",
|
|
input = new Typertext.Http.HttpResponse(Typertext.Http.HttpResponseStatus.success, hf, 200, inputBody),
|
|
expectedBody = {},
|
|
expectedOutput = new Typertext.Json.JsonResponse(Typertext.Http.HttpResponseStatus.success, hf, 200, expectedBody),
|
|
actualOutput = Typertext.Json.JsonResponse.fromHttpResponse(input);
|
|
expect(window["JSON"].parse(inputBody)).toEqual(expectedBody);
|
|
expect(window["JSON"].stringify(actualOutput)).toEqual(window["JSON"].stringify(expectedOutput));
|
|
});
|
|
|
|
it("handles an empty string", function () {
|
|
function hf() {
|
|
return "";
|
|
}
|
|
|
|
var inputBody = "",
|
|
input = new Typertext.Http.HttpResponse(Typertext.Http.HttpResponseStatus.success, hf, 200, inputBody);
|
|
expect(function () {
|
|
Typertext.Json.JsonResponse.fromHttpResponse(input);
|
|
}).toThrow();
|
|
});
|
|
|
|
it("handles an example server response", function () {
|
|
function hf() {
|
|
return "";
|
|
}
|
|
|
|
var inputBody = "{\"access_token\":\"0d95289cb2f54831dc435ce9274b1d1bdf8f5949\",\"expires_in\":86400," +
|
|
"\"token_type\":\"Bearer\",\"scope\":null," +
|
|
"\"refresh_token\":\"8a4431470af2edc3fdf747eca5f71451a3ad2d98\"}",
|
|
input = new Typertext.Http.HttpResponse(Typertext.Http.HttpResponseStatus.success, hf, 200, inputBody),
|
|
expectedBody = {
|
|
"access_token": "0d95289cb2f54831dc435ce9274b1d1bdf8f5949",
|
|
"expires_in": 86400,
|
|
"token_type": "Bearer",
|
|
"scope": null,
|
|
"refresh_token": "8a4431470af2edc3fdf747eca5f71451a3ad2d98"
|
|
},
|
|
expectedOutput = new Typertext.Json.JsonResponse(Typertext.Http.HttpResponseStatus.success, hf, 200, expectedBody),
|
|
actualOutput = Typertext.Json.JsonResponse.fromHttpResponse(input);
|
|
expect(window["JSON"].parse(inputBody)).toEqual(expectedBody);
|
|
expect(window["JSON"].stringify(actualOutput)).toEqual(window["JSON"].stringify(expectedOutput));
|
|
});
|
|
});
|
|
}); |