Документ MongoDB не обновляется в тесте mocha - PullRequest
0 голосов
/ 29 января 2020

У меня есть функция, в которой я хочу добавить sh в поле массива в пользовательском документе.

create(perm) {
    const dbResult = db.collection(user).updateOne(
        { _id: { $eq: 000000000 } },
        { $push: { permissions: perm}})

    return dbResult;
}

Я использовал pu sh, потому что он создаст поле разрешений, если поле разрешений еще не существует в документе. Все работает как надо, и я получаю новый массив разрешений, как и ожидалось. Я проверил свою базу данных после того, как вызвал эту функцию, и увидел, что это новое разрешение действительно добавлено.

Однако, когда я попытался проверить это в тесте мокко, оно не работает.

Таким образом, в моем тесте mocha для моего перед хуком я создаю пользователя с идентификатором 000000000, чтобы убедиться, что этот пользователь существует. Затем я пишу свой тест следующим образом:

describe('Create', () => {
    it('Should be able to create permission on user', done => {
        const createdPermission = create(testPermission);

        createdPermission
            .then(() => getUserById('000000000'))
            .then(u => {
                console.log(u)
                assert.equal(u.permissions.length, 1);
                return done();
            })
            .catch(e => done(e));
    });
});

Мой console.log возвращает u без массива полномочий, поэтому мой тест не пройден.

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