iceshrimp-161sh/packages/iceshrimp-js/test-d/api.ts
Luna D Dragon 91b8b7b76b
Defry the fish (#125)
Co-authored-by: Luna <luna.dragon@suse.com>
Reviewed-on: https://iceshrimp.dev/iceshrimp/iceshrimp/pulls/125
Co-authored-by: Luna D Dragon <lunarequest@nullrequest.com>
Co-committed-by: Luna D Dragon <lunarequest@nullrequest.com>
2023-08-21 16:14:53 +02:00

48 lines
1.5 KiB
TypeScript

import { expectType } from "tsd";
import * as Misskey from "../src";
describe("API", () => {
test("success", async () => {
const cli = new Misskey.api.APIClient({
origin: "https://iceshrimp.test",
credential: "TOKEN",
});
const res = await cli.request("meta", { detail: true });
expectType<Misskey.entities.DetailedInstanceMetadata>(res);
});
test("conditional respose type (meta)", async () => {
const cli = new Misskey.api.APIClient({
origin: "https://iceshrimp.test",
credential: "TOKEN",
});
const res = await cli.request("meta", { detail: true });
expectType<Misskey.entities.DetailedInstanceMetadata>(res);
const res2 = await cli.request("meta", { detail: false });
expectType<Misskey.entities.LiteInstanceMetadata>(res2);
const res3 = await cli.request("meta", {});
expectType<Misskey.entities.LiteInstanceMetadata>(res3);
const res4 = await cli.request("meta", { detail: true as boolean });
expectType<
| Misskey.entities.LiteInstanceMetadata
| Misskey.entities.DetailedInstanceMetadata
>(res4);
});
test("conditional respose type (users/show)", async () => {
const cli = new Misskey.api.APIClient({
origin: "https://iceshrimp.test",
credential: "TOKEN",
});
const res = await cli.request("users/show", { userId: "xxxxxxxx" });
expectType<Misskey.entities.UserDetailed>(res);
const res2 = await cli.request("users/show", { userIds: ["xxxxxxxx"] });
expectType<Misskey.entities.UserDetailed[]>(res2);
});
});