57 lines
1.4 KiB
TypeScript
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",
|
|
}
|
|
`);
|
|
});
|
|
});
|