Files
yaak/plugins/template-function-cookie/tests/index.test.ts
2026-05-06 11:09:43 -07:00

63 lines
1.6 KiB
TypeScript

import type { Context } from "@yaakapp/api";
import { describe, expect, it, vi } from "vite-plus/test";
import { plugin } from "../src";
describe("cookie.value", () => {
const valueFunction = plugin.templateFunctions?.find((f) => f.name === "cookie.value");
it("should exist", () => {
expect(valueFunction).toBeDefined();
});
it("should get a cookie by name", async () => {
const getValue = vi.fn().mockResolvedValue("token");
const result = await valueFunction?.onRender(
{ cookies: { getValue } } as unknown as Context,
{
values: {
name: "co-auth",
},
purpose: "send",
},
);
expect(result).toBe("token");
expect(getValue).toHaveBeenCalledWith({ name: "co-auth" });
});
it("should get a cookie by name and domain", async () => {
const getValue = vi.fn().mockResolvedValue("token");
const result = await valueFunction?.onRender(
{ cookies: { getValue } } as unknown as Context,
{
values: {
name: "co-auth",
domain: " example.com ",
},
purpose: "send",
},
);
expect(result).toBe("token");
expect(getValue).toHaveBeenCalledWith({ name: "co-auth", domain: "example.com" });
});
it("should support the legacy cookie_name arg", async () => {
const getValue = vi.fn().mockResolvedValue("token");
await valueFunction?.onRender(
{ cookies: { getValue } } as unknown as Context,
{
values: {
cookie_name: "co-auth",
},
purpose: "send",
},
);
expect(getValue).toHaveBeenCalledWith({ name: "co-auth" });
});
});