1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 | interface JasmineAjaxResponse {
|
9 | status?: number | undefined;
|
10 | statusText?: string | undefined;
|
11 | responseText?: string | undefined;
|
12 | response?: string | undefined;
|
13 | responseURL?: string | undefined;
|
14 | responseJSON?: any;
|
15 | contentType?: string | undefined;
|
16 | responseHeaders?: { [key: string]: string } | undefined;
|
17 | }
|
18 |
|
19 | interface JasmineAjaxRequest extends XMLHttpRequest {
|
20 | url: string;
|
21 | method: string;
|
22 | params: any;
|
23 | username: string;
|
24 | password: string;
|
25 | requestHeaders: { [key: string]: string };
|
26 | overriddenMimeType: string;
|
27 | data(): string | object;
|
28 |
|
29 | respondWith(response: JasmineAjaxResponse): void;
|
30 | responseTimeout(): void;
|
31 | responseError(options?: JasmineAjaxRequestStubErrorOptions): void;
|
32 | }
|
33 |
|
34 | interface JasmineAjaxRequestTracker {
|
35 | track(request: JasmineAjaxRequest): void;
|
36 | first(): JasmineAjaxRequest;
|
37 | count(): number;
|
38 | reset(): void;
|
39 | mostRecent(): JasmineAjaxRequest;
|
40 | at(index: number): JasmineAjaxRequest;
|
41 | filter(urlToMatch: RegExp): JasmineAjaxRequest[];
|
42 | filter(urlToMatch: (request: JasmineAjaxRequest) => boolean): JasmineAjaxRequest[];
|
43 | filter(urlToMatch: string): JasmineAjaxRequest[];
|
44 | }
|
45 |
|
46 |
|
47 |
|
48 |
|
49 | type JasmineAjaxRequestStubReturnOptions = JasmineAjaxResponse;
|
50 |
|
51 | interface JasmineAjaxRequestStubErrorOptions {
|
52 | status?: number | undefined;
|
53 | statusText?: string | undefined;
|
54 | }
|
55 |
|
56 | interface JasmineAjaxRequestStub {
|
57 | url: RegExp | string;
|
58 | query: string;
|
59 | data: string;
|
60 | method: string;
|
61 | andReturn(options: JasmineAjaxResponse): void;
|
62 | andError(options: JasmineAjaxRequestStubErrorOptions): void;
|
63 | andTimeout(): void;
|
64 | andCallFunction(functionToCall: (request: JasmineAjaxRequest) => void): void;
|
65 | matches(fullUrl: string, data: string, method: string): boolean;
|
66 | }
|
67 |
|
68 | interface JasmineAjaxStubTracker {
|
69 | addStub(stub: JasmineAjaxRequestStub): void;
|
70 | reset(): void;
|
71 | findStub(url: string, data?: string, method?: string): JasmineAjaxRequestStub;
|
72 | }
|
73 |
|
74 | interface JasmineAjaxParamParser {
|
75 | test(xhr: XMLHttpRequest): boolean;
|
76 | parse(paramString: string): any;
|
77 | }
|
78 |
|
79 | declare class MockAjax {
|
80 | constructor(globals: any);
|
81 |
|
82 | install(): void;
|
83 | uninstall(): void;
|
84 |
|
85 | withMock(closure: () => void): void;
|
86 | addCustomParamParser(parser: JasmineAjaxParamParser): void;
|
87 |
|
88 | stubRequest(url: RegExp, data?: string, method?: string): JasmineAjaxRequestStub;
|
89 | stubRequest(url: string, data?: string, method?: string): JasmineAjaxRequestStub;
|
90 |
|
91 | stubRequest(url: RegExp, data?: RegExp, method?: string): JasmineAjaxRequestStub;
|
92 | stubRequest(url: string, data?: RegExp, method?: string): JasmineAjaxRequestStub;
|
93 |
|
94 | requests: JasmineAjaxRequestTracker;
|
95 | stubs: JasmineAjaxStubTracker;
|
96 | }
|
97 |
|
98 | declare namespace jasmine {
|
99 | const Ajax: MockAjax;
|
100 | }
|