This repository has been archived on 2025-01-27. You can view files and clone it, but cannot push or open issues or pull requests.
puyoskey-firefish/packages/firefish-js/test-d/api.ts
naskya d096da02e6 🎉 First Commit
release: v20240729

Co-authored-by: Laura Hausmann <laura@hausmann.dev>
Co-authored-by: GitLab CI <project_7_bot_1bfaee5701aed20091a86249a967a6c1@noreply.firefish.dev>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Saamkhaih Kyakya <70475761+hiohlan@users.noreply.github.com>

See merge request firefish/firefish!11214
2024-08-01 00:03:39 +09:00

48 lines
1.5 KiB
TypeScript

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