UNPKG

vitest-mms

Version:

mongodb-memory-server integration for vitest

30 lines (26 loc) 644 B
'use strict'; var node_crypto = require('node:crypto'); var mongodb = require('mongodb'); var vitest = require('vitest'); let client; vitest.afterAll(async () => { if (client) { await client.close(); } }); const mmsTest = vitest.test.extend({ mongoClient: async ({}, use) => { if (!client) { const uri = vitest.inject("MONGO_URI"); client = new mongodb.MongoClient(uri); await client.connect(); } await use(client); }, db: async ({ mongoClient }, use) => { const db = mongoClient.db(node_crypto.randomUUID()); await use(db); await db.dropDatabase(); } }); exports.mmsTest = mmsTest;