本文整理匯總了TypeScript中Sinon.SinonFakeXMLHttpRequest類的典型用法代碼示例。如果您正苦於以下問題:TypeScript SinonFakeXMLHttpRequest類的具體用法?TypeScript SinonFakeXMLHttpRequest怎麽用?TypeScript SinonFakeXMLHttpRequest使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了SinonFakeXMLHttpRequest類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: describe
describe("mapRequestHandler", () => {
let requests: SinonFakeXMLHttpRequest[];
let request: Request;
let requestMap: MapRequestHandler<Map>;
let xhr: SinonFakeXMLHttpRequest;
const category: string = "Two player";
const testRequestMethod = (method: any): any => {
const maps: Map[] = range(1, 12).map((id: number): Map => testMap(id));
const data: string = JSON.stringify({success: true, response: maps});
const response = method(category);
expect(requests.length).to.equal(1);
requests[0].respond(200, {"Content-Type": "application/json"}, data);
return response.then((received: Map[]): any => {
maps.forEach((map: Map, index: number): any => {
checkEqualityBetweenTwoMaps(received[index], map);
});
});
};
beforeEach(() => {
xhr = useFakeXMLHttpRequest();
requests = [];
xhr.onCreate = (newXhr: SinonFakeXMLHttpRequest): any => requests.push(newXhr);
request = requestMaker(xhr);
requestMap = mapRequestHandler("maps", "get", request);
});
afterEach((): any => xhr.restore());
it("Retrieves maps or games from server.", (): any => testRequestMethod(requestMap.byCategory));
it("Retrieves maps from a random category", (): any => testRequestMethod(requestMap.randomCategory));
});
示例2: describe
describe("requests", () => {
let requests: SinonFakeXMLHttpRequest[];
let request: Request;
let xhr: SinonFakeXMLHttpRequest;
const checkIfThrowsError = (method: any): Promise<any> => {
const promise: Promise<any> = method("/hello/bob", "hey bob!") as Promise<any>;
expect(requests.length).to.equal(1);
requests[0].respond(500, "", "");
return promise.then(() => "error")
.catch((error) => expect(error).to.be.an("error"));
};
beforeEach(() => {
xhr = sinon.useFakeXMLHttpRequest();
requests = [];
xhr.onCreate = (newXhr: SinonFakeXMLHttpRequest): any => requests.push(newXhr);
request = requestMaker(this.xhr);
});
afterEach((): any => xhr.restore());
it("Makes get requests.", () => {
const promise: Promise<any> = request.get("/hello/bob", "hey bob!") as Promise<any>;
expect(requests.length).to.equal(1);
requests[0].respond(200, {"Content-Type": "application/json"}, '[{ "id": 12, "comment": "Hey there" }]');
return promise.then((response: any) => expect(response).to.deep.equal([{id: 12, comment: "Hey there"}]));
});
it("Makes post requests that post json data.", () => {
const data: any[] = ["hello", 43110, "friend", {a: true}];
const json: string = JSON.stringify(data);
request.post("/target/hoop", data);
expect(requests[0].requestBody).to.equal(json);
});
it("Makes delete requests.", () => {
const promise: Promise<any> = request.del("/hello/bob", "hey bob!") as Promise<any>;
expect(requests.length).to.equal(1);
requests[0].respond(200, {"Content-Type": "application/json"}, JSON.stringify("success"));
return promise.then((response: any) => expect(response).to.deep.equal("success"));
});
it("Get should reject with error if a request fails.", () => checkIfThrowsError(request.get));
it("Post should reject with error if a request fails.", () => checkIfThrowsError(request.post));
it("Delete should reject with error if a request fails.", () => checkIfThrowsError(request.del));
});
示例3: afterEach
afterEach((): any => xhr.restore());