Как подключиться к MongoDB из теста Jest - PullRequest
0 голосов
/ 26 марта 2020

I wi sh для проверки бизнес-логики c, которая пишет в mongodb. После того, как запись завершена. Я sh запросить базу данных, чтобы утверждать, что действие было сделано правильно. Я не могу определить модель в своем тесте и запросить это.

jest.config. js

{
  testEnvironment: 'node',
}

Jest Test File

const mongoose = require('mongoose');

  describe('mongoose', () => {

  beforeAll(async () => {
      await mongoose.connect('mongodb://localhost:27017/test_database');
      console.log('connected!');
  });

  afterAll(async () => {
      await mongoose.disconnect();
      console.log('disconnected!');
  });

  it('should find records in the database', async () => {
      const model = mongoose.Schema({
          key: mongoose.Schema.Types.String,
      });
      const Record = mongoose.model('record', model);
//                           ^ ERROR
      const result = await Record.find({});
      expect(result).toBeDefined();
  });
});

Хотя я получаю сообщение об ошибке при использовании модели:

TypeError: Cannot read property 'Decimal128' of null

  at Object.<anonymous> (node_modules/mongoose/lib/types/decimal128.js:13:44)
  at Object.<anonymous> (node_modules/mongoose/lib/utils.js:11:17)
  at Object.<anonymous> (node_modules/mongoose/lib/statemachine.js:8:15)
  at Object.<anonymous> (node_modules/mongoose/lib/internal.js:7:22)

Есть предложения о том, что мне нужно сделать?

ОБНОВЛЕНИЕ

Я сделал эту работу с мокко. :inking: Можно ли вообще делать подобные вещи с шуткой? На мой взгляд, тестовый бегун - это тестовый бегун. Еще интересует ваш ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...