UNPKG

vitest-mongodb

Version:

Run your tests using Vitest and MongoDB in Memory server.

28 lines (25 loc) 1.01 kB
import { MongoMemoryServer, MongoMemoryReplSet } from 'mongodb-memory-server'; import debugInit from 'debug'; const debug = debugInit(`vitest-jest:${process.env.VITEST_WORKER_ID ?? 0}`); async function setup(options) { const type = options?.type ?? "default"; const serverOptions = options?.serverOptions; debug("Starting setup with options:", { type, serverOptions }); debug("Starting mongo memory server"); if (type !== "replSet") { globalThis.__MONGO_DB__ = await MongoMemoryServer.create(serverOptions); globalThis.__MONGO_URI__ = globalThis.__MONGO_DB__.getUri(); } else { globalThis.__MONGO_DB__ = await MongoMemoryReplSet.create(serverOptions); globalThis.__MONGO_URI__ = globalThis.__MONGO_DB__.getUri(); } debug("Mongo URI:", globalThis.__MONGO_URI__); } async function teardown() { debug("Starting teardown"); if (globalThis.__MONGO_DB__) { debug("Stopping mongo memory server"); await globalThis.__MONGO_DB__.stop(); } } export { setup, teardown };