vitest-mms
Version:
mongodb-memory-server integration for vitest
22 lines (20 loc) • 546 B
JavaScript
import { MongoClient } from 'mongodb';
import { beforeAll, inject, beforeEach } from 'vitest';
import { randomUUID } from 'node:crypto';
let mongoClient;
beforeAll(async () => {
const uri = inject("MONGO_URI");
mongoClient = new MongoClient(uri);
await mongoClient.connect();
return async () => {
await mongoClient.close();
};
});
beforeEach(async (context) => {
const db = mongoClient.db(randomUUID());
context.db = db;
context.mongoClient = mongoClient;
return async () => {
await context.db.dropDatabase();
};
});