Mongomock: макет exec_js от mongoengine

Я использую mongomock для своих юнит-тестов. Но в одной функции я использую exec_js из mongoengine, вот так:

MyDocument.objects.exec_js('function() {db[collection].updateMany({}, {$set: {live: false}});}')

Проблема в том, что я получаю следующую ошибку:

File "/home/user/.virtualenvs/mvp/lib/python3.6/site-packages/mongoengine/queryset/base.py", line 1353, in exec_js
return db.eval(code, *fields)
TypeError: 'Collection' object is not callable

Я хочу издеваться над этой функцией, было бы достаточно, если бы я мог просто проверить параметры exec_js был вызван с. Но я не могу издеваться, как @patch('database.core.MyDocument.objects.exec_js'), Я могу только издеваться MyDocument но если я сделаю это, я перестану гадать на другие мои вопросы. Есть ли способ издеваться exec_js?

0 ответов

Другие вопросы по тегам