У меня VOUCHERED_PEOPLE
в base.py
И мне нужно проверить его по dummy
Я прочитал это , чтобы получить исправление settings.VOUCHERED_PEOPLE
, но оно не работает в Django2
utils.py
from django.conf import settings
def get_voucher_people(mobile_phone: str) -> typing.Dict[str, typing.Union[str, int]]:
"""Read name from base.py"""
for record in settings.VOUCHERED_PEOPLE:
if record['mobile_phone'] == mobile_phone:
return record
return None
base.py
VOUCHERED_PEOPLE = [{...}, {...}]
tests.py
with patch('poinkbackend.apps.vouchers.utils.settings', VOUCHERED_PEOPLE=dummy):
from pprint import pprint
import ipdb;
ipdb.set_trace()
give_voucher(sarit.userprofile, True)
Attempt1:
with patch.object(settings, 'VOUCHERED_PEOPLE') as mock_settings:
mock_settings.return_value = dummy
Это не работает. settings.VOUCHERED_PEOPLE
- это функция. Я должен выполнить его, чтобы получить пустышку settings.VOUCHERED_PEOPLE()
Проблема:
патч не работает. Это не изменить значение, чтобы быть моим dummy
Вопрос:
Где я не прав?