Add domain filter to cookie template function

This commit is contained in:
Gregory Schier
2026-05-06 11:09:43 -07:00
parent 41fe01adb9
commit 5978cec71e
9 changed files with 179 additions and 15 deletions

View File

@@ -0,0 +1,62 @@
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" });
});
});