GF-12-breadcrumbs #11
2 changed files with 59 additions and 0 deletions
23
tests/shared/utils/auth-client.test.ts
Normal file
23
tests/shared/utils/auth-client.test.ts
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
import { describe, expect, it, vi } from "vitest";
|
||||||
|
|
||||||
|
import { authClient } from "#shared/utils/auth-client";
|
||||||
|
import { createAuthClient } from "better-auth/vue";
|
||||||
|
|
||||||
|
const vars = vi.hoisted(() => ({
|
||||||
|
mockAuthClient: {
|
||||||
|
signIn: vi.fn(),
|
||||||
|
signUp: vi.fn(),
|
||||||
|
signOut: vi.fn(),
|
||||||
|
},
|
||||||
|
}));
|
||||||
|
|
||||||
|
vi.mock("better-auth/vue", () => ({
|
||||||
|
createAuthClient: vi.fn(() => vars.mockAuthClient),
|
||||||
|
}));
|
||||||
|
|
||||||
|
describe("auth-client utility", () => {
|
||||||
|
it("should create and export the auth client", () => {
|
||||||
|
expect(createAuthClient).toHaveBeenCalled();
|
||||||
|
expect(authClient).toBe(vars.mockAuthClient);
|
||||||
|
});
|
||||||
|
});
|
||||||
36
tests/shared/utils/env.test.ts
Normal file
36
tests/shared/utils/env.test.ts
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
/* eslint-disable node/no-process-env */
|
||||||
|
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
||||||
|
import { z } from "zod";
|
||||||
|
|
||||||
|
describe("shared/utils/env", () => {
|
||||||
|
const originalEnv = process.env;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
vi.resetModules();
|
||||||
|
process.env = { ...originalEnv };
|
||||||
|
process.env.NODE_ENV = "test";
|
||||||
|
process.env.DATABASE_URL = "postgres://localhost:5432/db";
|
||||||
|
process.env.BETTER_AUTH_SECRET = "secret";
|
||||||
|
process.env.BETTER_AUTH_URL = "http://localhost:3000";
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
process.env = originalEnv;
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should validate and export variables when all required variables are present", async () => {
|
||||||
|
const env = (await import("#shared/utils/env")).default;
|
||||||
|
|
||||||
|
expect(env).toEqual({
|
||||||
|
NODE_ENV: "test",
|
||||||
|
DATABASE_URL: "postgres://localhost:5432/db",
|
||||||
|
BETTER_AUTH_SECRET: "secret",
|
||||||
|
BETTER_AUTH_URL: "http://localhost:3000",
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should throw an error if NODE_ENV is missing", async () => {
|
||||||
|
delete process.env.NODE_ENV;
|
||||||
|
await expect(import("#shared/utils/env")).rejects.toThrow(z.ZodError);
|
||||||
|
});
|
||||||
|
});
|
||||||
Loading…
Add table
Add a link
Reference in a new issue