DEV Community

Discussion on: Unit testing NestJS with mongo in memory...

Collapse
 
jrrmcalcio profile image
Julio

Hi guys, there were some changes on mongo-memory-server so I paste here the updated class with version 7:

import { MongooseModule, MongooseModuleOptions } from '@nestjs/mongoose';
import { MongoMemoryServer } from 'mongodb-memory-server';
import { disconnect } from 'mongoose';

let mongo: MongoMemoryServer;

export const rootMongooseTestModule = (options: MongooseModuleOptions = {}) =>
  MongooseModule.forRootAsync({
    useFactory: async () => {
      mongo = await MongoMemoryServer.create();
      const mongoUri = mongo.getUri();
      return {
        uri: mongoUri,
        useCreateIndex: true,
        ...options,
      };
    },
  });

export const closeMongoConnection = async () => {
  await disconnect();
  if (mongo) await mongo.stop();
};
Enter fullscreen mode Exit fullscreen mode