import mongoose from 'mongoose'; import { MongoMemoryServer } from 'mongodb-memory-server'; let mongoServer; export const connectDatabase = async () => { mongoServer = await MongoMemoryServer.create(); const uri = mongoServer.getUri(); await mongoose.connect(uri, { useNewUrlParser: true, useUnifiedTopology: true, }); }; export const closeDatabase = async () => { await mongoose.connection.dropDatabase(); await mongoose.connection.close(); if (mongoServer) { await mongoServer.stop(); } }; export const clearDatabase = async () => { const collections = mongoose.connection.collections; for (const key in collections) { const collection = collections[key]; await collection.deleteMany(); } }; export const seedDatabase = async (model, data) => { return await model.create(data); };