assistant-cloud
Version:
Cloud integration for assistant-ui
31 lines (25 loc) • 1.1 kB
text/typescript
import { describe, expect, it, vi } from "vitest";
import type { AssistantCloudAPI } from "./AssistantCloudAPI";
import { AssistantCloudAuthTokens } from "./AssistantCloudAuthTokens";
const createCloudAuthTokens = () => {
const makeRequest = vi.fn();
const api = { makeRequest } as unknown as AssistantCloudAPI;
return { tokens: new AssistantCloudAuthTokens(api), makeRequest };
};
describe("AssistantCloudAuthTokens responses", () => {
it("decodes a valid token response", async () => {
const { tokens, makeRequest } = createCloudAuthTokens();
makeRequest.mockResolvedValue({ token: "token-1" });
await expect(tokens.create()).resolves.toEqual({ token: "token-1" });
expect(makeRequest).toHaveBeenCalledWith("/auth/tokens", {
method: "POST",
});
});
it("rejects a response that is missing the token", async () => {
const { tokens, makeRequest } = createCloudAuthTokens();
makeRequest.mockResolvedValue({});
await expect(tokens.create()).rejects.toThrow(
'Invalid Assistant Cloud response for "token": expected a string',
);
});
});