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": {