Using with MongoDB
With the Global Setup/Teardown and Async Test Environment APIs, Jest can work smoothly with MongoDB.
Use jest-mongodb Preset
Jest MongoDB provides all required configuration to run your tests using MongoDB.
- First install
@shelf/jest-mongodb
yarn add @shelf/jest-mongodb --dev
- Specify preset in your Jest configuration:
{ "preset": "@shelf/jest-mongodb" }
- Write your test
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).
© 2021 Facebook, Inc.
Licensed under the MIT License.
https://jestjs.io/docs/mongodb