Skip to content

Commit 4428f85

Browse files
committed
- Updated test cases after EOL change
- Added request options object to ApiError
1 parent f69da7f commit 4428f85

File tree

9 files changed

+1078
-570
lines changed

9 files changed

+1078
-570
lines changed

package-lock.json

Lines changed: 556 additions & 336 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,10 @@
116116
"rxjs": "7.5.5",
117117
"ts-node": "10.8.0",
118118
"tslib": "2.4.0",
119-
"typescript": "4.7.2",
119+
"typescript": "4.6.4",
120120
"zone.js": "0.11.5"
121+
},
122+
"resolutions": {
123+
"node-fetch": "2.6.7"
121124
}
122125
}

src/templates/core/ApiError.hbs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
{{>header}}
22

3+
import type { ApiRequestOptions } from './ApiRequestOptions';
34
import type { ApiResult } from './ApiResult';
45

56
export class ApiError extends Error {
67
public readonly url: string;
78
public readonly status: number;
89
public readonly statusText: string;
910
public readonly body: any;
11+
public readonly request: ApiRequestOptions;
1012

11-
constructor(response: ApiResult, message: string) {
13+
constructor(request: ApiRequestOptions, response: ApiResult, message: string) {
1214
super(message);
1315

1416
this.name = 'ApiError';
1517
this.url = response.url;
1618
this.status = response.status;
1719
this.statusText = response.statusText;
1820
this.body = response.body;
21+
this.request = request;
1922
}
2023
}

src/templates/core/functions/catchErrorCodes.hbs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void =>
1212

1313
const error = errors[result.status];
1414
if (error) {
15-
throw new ApiError(result, error);
15+
throw new ApiError(options, result, error);
1616
}
1717

1818
if (!result.ok) {
19-
throw new ApiError(result, 'Generic Error');
19+
throw new ApiError(options, result, 'Generic Error');
2020
}
2121
};

src/utils/writeClientCore.spec.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { EOL } from 'os';
2+
13
import type { Client } from '../client/interfaces/Client';
24
import { HttpClient } from '../HttpClient';
35
import { Indent } from '../Indent';
@@ -38,11 +40,11 @@ describe('writeClientCore', () => {
3840

3941
await writeClientCore(client, templates, '/', HttpClient.FETCH, Indent.SPACE_4);
4042

41-
expect(writeFile).toBeCalledWith('/OpenAPI.ts', 'settings');
42-
expect(writeFile).toBeCalledWith('/ApiError.ts', 'apiError');
43-
expect(writeFile).toBeCalledWith('/ApiRequestOptions.ts', 'apiRequestOptions');
44-
expect(writeFile).toBeCalledWith('/ApiResult.ts', 'apiResult');
45-
expect(writeFile).toBeCalledWith('/CancelablePromise.ts', 'cancelablePromise');
46-
expect(writeFile).toBeCalledWith('/request.ts', 'request');
43+
expect(writeFile).toBeCalledWith('/OpenAPI.ts', `settings${EOL}`);
44+
expect(writeFile).toBeCalledWith('/ApiError.ts', `apiError${EOL}`);
45+
expect(writeFile).toBeCalledWith('/ApiRequestOptions.ts', `apiRequestOptions${EOL}`);
46+
expect(writeFile).toBeCalledWith('/ApiResult.ts', `apiResult${EOL}`);
47+
expect(writeFile).toBeCalledWith('/CancelablePromise.ts', `cancelablePromise${EOL}`);
48+
expect(writeFile).toBeCalledWith('/request.ts', `request${EOL}`);
4749
});
4850
});

src/utils/writeClientModels.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { EOL } from 'os';
2+
13
import type { Model } from '../client/interfaces/Model';
24
import { HttpClient } from '../HttpClient';
35
import { Indent } from '../Indent';
@@ -51,6 +53,6 @@ describe('writeClientModels', () => {
5153

5254
await writeClientModels(models, templates, '/', HttpClient.FETCH, false, Indent.SPACE_4);
5355

54-
expect(writeFile).toBeCalledWith('/User.ts', 'model');
56+
expect(writeFile).toBeCalledWith('/User.ts', `model${EOL}`);
5557
});
5658
});

src/utils/writeClientSchemas.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { EOL } from 'os';
2+
13
import type { Model } from '../client/interfaces/Model';
24
import { HttpClient } from '../HttpClient';
35
import { Indent } from '../Indent';
@@ -51,6 +53,6 @@ describe('writeClientSchemas', () => {
5153

5254
await writeClientSchemas(models, templates, '/', HttpClient.FETCH, false, Indent.SPACE_4);
5355

54-
expect(writeFile).toBeCalledWith('/$User.ts', 'schema');
56+
expect(writeFile).toBeCalledWith('/$User.ts', `schema${EOL}`);
5557
});
5658
});

src/utils/writeClientServices.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { EOL } from 'os';
2+
13
import type { Service } from '../client/interfaces/Service';
24
import { HttpClient } from '../HttpClient';
35
import { Indent } from '../Indent';
@@ -39,6 +41,6 @@ describe('writeClientServices', () => {
3941

4042
await writeClientServices(services, templates, '/', HttpClient.FETCH, false, false, Indent.SPACE_4, 'Service');
4143

42-
expect(writeFile).toBeCalledWith('/UserService.ts', 'service');
44+
expect(writeFile).toBeCalledWith('/UserService.ts', `service${EOL}`);
4345
});
4446
});

0 commit comments

Comments
 (0)