From 8335f4023857e59fe0de605ed0bb5849843d8d73 Mon Sep 17 00:00:00 2001 From: Mauricio Siu Date: Wed, 4 Feb 2026 09:20:19 -0600 Subject: [PATCH] feat(tests): add mock database setup for Vitest testing environment - Introduced a new mock database setup file to simulate database interactions during tests. - Updated Vitest configuration to include the mock setup file, enhancing test reliability and isolation. --- apps/dokploy/__test__/setup/mock-db.ts | 56 ++++++++++++++++++++++++++ apps/dokploy/__test__/vitest.config.ts | 1 + 2 files changed, 57 insertions(+) create mode 100644 apps/dokploy/__test__/setup/mock-db.ts diff --git a/apps/dokploy/__test__/setup/mock-db.ts b/apps/dokploy/__test__/setup/mock-db.ts new file mode 100644 index 000000000..f6b400628 --- /dev/null +++ b/apps/dokploy/__test__/setup/mock-db.ts @@ -0,0 +1,56 @@ +import { vi } from "vitest"; + +// Mock postgres to prevent actual database connections +vi.mock("postgres", () => { + return { + default: vi.fn(() => ({ + end: vi.fn(), + unsafe: vi.fn(), + })), + }; +}); + +// Mock the db export from @dokploy/server/db +vi.mock("@dokploy/server/db", () => { + const createChainableMock = (): any => { + const chain: any = { + set: vi.fn(() => chain), + where: vi.fn(() => chain), + returning: vi.fn().mockResolvedValue([{}]), + execute: vi.fn().mockResolvedValue([{}]), + }; + return chain; + }; + + return { + db: { + select: vi.fn(() => createChainableMock()), + insert: vi.fn(() => createChainableMock()), + update: vi.fn(() => createChainableMock()), + delete: vi.fn(() => createChainableMock()), + query: { + applications: { + findFirst: vi.fn(), + findMany: vi.fn(), + }, + deployments: { + findFirst: vi.fn(), + findMany: vi.fn(), + }, + servers: { + findFirst: vi.fn(), + findMany: vi.fn(), + }, + users: { + findFirst: vi.fn(), + findMany: vi.fn(), + }, + organizations: { + findFirst: vi.fn(), + findMany: vi.fn(), + }, + }, + }, + dbUrl: "postgres://mock:mock@localhost:5432/mock", + }; +}); diff --git a/apps/dokploy/__test__/vitest.config.ts b/apps/dokploy/__test__/vitest.config.ts index 7270b828a..beda096e5 100644 --- a/apps/dokploy/__test__/vitest.config.ts +++ b/apps/dokploy/__test__/vitest.config.ts @@ -7,6 +7,7 @@ export default defineConfig({ include: ["__test__/**/*.test.ts"], // Incluir solo los archivos de test en el directorio __test__ exclude: ["**/node_modules/**", "**/dist/**", "**/.docker/**"], pool: "forks", + setupFiles: ["./__test__/setup/mock-db.ts"], }, define: { "process.env": {