With the Global Setup/Teardown and Async Test Environment APIs, Jest can work smoothly with MongoDB.
Jest MongoDB provides all required configuration to run your tests using MongoDB.
@shelf/jest-mongodb
yarn add @shelf/jest-mongodb --dev
{ "preset": "@shelf/jest-mongodb" }
const {MongoClient} = require('mongodb'); describe('insert', () => { let connection; let db; beforeAll(async () => { connection = await MongoClient.connect(global.__MONGO_URI__, { useNewUrlParser: true, }); db = await connection.db(global.__MONGO_DB_NAME__); }); afterAll(async () => { await connection.close(); await db.close(); }); it('should insert a doc into collection', async () => { const users = db.collection('users'); const mockUser = {_id: 'some-user-id', name: 'John'}; await users.insertOne(mockUser); const insertedUser = await users.findOne({_id: 'some-user-id'}); expect(insertedUser).toEqual(mockUser); }); });
There's no need to load any dependencies.
See documentation for details (configuring MongoDB version, etc).
© 2020 Facebook, Inc.
Licensed under the MIT License.
https://jestjs.io/docs/en/mongodb