summaryrefslogtreecommitdiff
path: root/test/api.ts
diff options
context:
space:
mode:
Diffstat (limited to 'test/api.ts')
-rw-r--r--test/api.ts23
1 files changed, 18 insertions, 5 deletions
diff --git a/test/api.ts b/test/api.ts
index fc42c3c265..50a5b641e1 100644
--- a/test/api.ts
+++ b/test/api.ts
@@ -1,4 +1,4 @@
-import { request } from '../src/api';
+import { APIClient } from '../src/api';
import { enableFetchMocks } from 'jest-fetch-mock';
enableFetchMocks();
@@ -21,16 +21,22 @@ describe('API', () => {
fetchMock.mockResponse(async (req) => {
const body = await req.json();
if (req.method == 'POST' && req.url == 'https://misskey.test/api/i') {
- if (typeof body.i != 'string') {
+ if (body.i === 'TOKEN') {
+ return JSON.stringify({ id: 'foo' });
+ } else {
return { status: 400 };
}
- return JSON.stringify({ id: 'foo' });
} else {
return { status: 404 };
}
});
- const res = await request('https://misskey.test', 'i', {}, 'TOKEN');
+ const cli = new APIClient({
+ origin: 'https://misskey.test',
+ credential: 'TOKEN',
+ });
+
+ const res = await cli.request('i');
// validate response
expect(res).toEqual({
@@ -60,11 +66,18 @@ describe('API', () => {
});
try {
- await request('https://misskey.test', 'i', {}, 'TOKEN');
+ const cli = new APIClient({
+ origin: 'https://misskey.test',
+ credential: 'TOKEN',
+ });
+
+ await cli.request('i');
} catch (e) {
expect(e.id).toEqual('5d37dbcb-891e-41ca-a3d6-e690c97775ac');
}
});
// TODO: ネットワークエラーのテスト
+
+ // TODO: JSON以外が返ってきた場合のハンドリング
});