Model.insertMany () вставляет больше документов, чем ожидалось - PullRequest
0 голосов
/ 27 сентября 2019

В целях тестирования я храню некоторые документы в тестовой коллекции в mongodb:

beforeAll((done) => {
    server = app.listen(done);
});

afterAll(async(done) => {
    server.close(done);
    await Topic.deleteMany({});
});
describe('GET /', ()=>{
    it('should return all topics', async ()=>{
        await Topic.insertMany([
            {name: 'topic1'},
            {name: 'topic2'},
            {name: 'topic3'}
        ]);
        const res = await request(server).get('/api/topics/');
        expect(res.status).toBe(200);
        expect(res.body.length).toBe(3);
    });
});

Тест не пройден, когда я ожидаю, что length из res.body равно 3. При первом запускетесты, в большинстве случаев эта строка не дает сбоя, но позже она всегда срабатывает.

Res.body выглядит так:

   [  { _id: '5d8dbe31205ef11cbcdc45bf', name: 'topic1', __v: 0 },
      { _id: '5d8dbe319f154c29e0c43ce6', name: 'topic1', __v: 0 },
      { _id: '5d8dbe31205ef11cbcdc45c0', name: 'topic2', __v: 0 },
      { _id: '5d8dbe31205ef11cbcdc45c1', name: 'topic3', __v: 0 }
   ]

Так почему же существует дубликатпервая тема?

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