[Closes #10] Reactive breadcrumbs
All checks were successful
Production Build and Deploy / Build (push) Successful in 1m32s
Production Build and Deploy / Deploy (push) Successful in 23s

This commit is contained in:
Liviu Burcusel 2026-01-12 14:26:29 +01:00
parent 6d3cdb560d
commit a1708317ec
Signed by: liviu
GPG key ID: 6CDB37A4AD2C610C
19 changed files with 200 additions and 33 deletions

View 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);
});
});