Files
js-sdk/tests/index.test.ts
2026-05-16 16:23:27 +06:00

44 lines
1.5 KiB
TypeScript

import { describe, expect, it } from "vitest";
import type { components, operations, paths } from "../src/index.js";
import * as sdk from "../src/index.js";
type CapsuleSchema = components["schemas"]["Capsule"];
type GetCapsuleOperation = operations["getCapsule"];
type CapsulePath = paths["/v1/capsules/{id}"];
function acceptsGeneratedTypes(
_capsule: CapsuleSchema,
_operation: GetCapsuleOperation,
_path: CapsulePath,
): void {}
describe("public entry point", () => {
it("exports the supported runtime API from the package root", () => {
expect(sdk.Capsule).toBeTypeOf("function");
expect(sdk.Sandbox).toBe(sdk.Capsule);
expect(sdk.WrennClient).toBeTypeOf("function");
expect(sdk.CodeInterpreter).toBeTypeOf("function");
expect(sdk.Notebook).toBeTypeOf("function");
expect(sdk.CommandManager).toBeTypeOf("function");
expect(sdk.FileManager).toBeTypeOf("function");
expect(sdk.Git).toBeTypeOf("function");
expect(sdk.PtyManager).toBeTypeOf("function");
expect(sdk.PtySession).toBeTypeOf("function");
expect(sdk.WrennError).toBeTypeOf("function");
expect(sdk.NotFoundError).toBeTypeOf("function");
});
it("keeps internal shared helpers out of the public runtime API", () => {
expect("HttpClient" in sdk).toBe(false);
expect("WsConnection" in sdk).toBe(false);
});
it("exposes generated OpenAPI types from the package root", () => {
acceptsGeneratedTypes(
{} as CapsuleSchema,
{} as GetCapsuleOperation,
{} as CapsulePath,
);
});
});