hts/packages/nuxt/test/index.spec.ts

57 lines
1.4 KiB
TypeScript

import { fileURLToPath } from "node:url";
import { $fetch, fetch, setup } from "@nuxt/test-utils";
import { config } from "dotenv";
import { describe, expect, it } from "vitest";
config({
path: fileURLToPath(new URL("../.env", import.meta.url)),
});
await setup({
rootDir: fileURLToPath(new URL("../playground", import.meta.url)),
});
describe("basic behaviour", () => {
it("should set `unkey` on context with (invalid) authenticated request", async () => {
const res = await fetch("/api/context", {
headers: {
Authorization: "Bearer 123",
},
});
expect(await res.json()).toMatchInlineSnapshot(`
{
"unkey": {
"code": "NOT_FOUND",
"valid": false,
},
}
`);
});
// TODO: use mock API when we have one
it("should set `unkey` on context with (valid) authenticated request", async () => {
const data = await $fetch("/api/context", {
headers: {
Authorization: `Bearer ${process.env.NUXT_TEST_KEY}`,
},
});
expect(data).toMatchInlineSnapshot(`
{
"unkey": {
"code": "NOT_FOUND",
"valid": false,
},
}
`);
});
it("should allow using `useUnkey()` helper", async () => {
const data = await $fetch("/api/helper");
expect(data).toMatchInlineSnapshot(`
{
"baseUrl": "https://api.unkey.dev",
}
`);
});
});