Суть проблемы вот в чем
У меня есть тест который должен проверять правильность работы функции которая создает путь для файла
Код теста и код функции
@mock.patch('uuid.uuid4', return_value='name_file.png')
def test_path_to_restaurant_image(self, fake_func):
"""
Checking that the path for the restaurant pictures is formed correctly
"""
restaurant = RestaurantFactory()
expected_value = restaurant_image_upload_handler(
restaurant, self.file_name,
)
result = os.path.join(
'restaurant',
'images',
self.file_name,
)
self.assertEqual(result, expected_value)
def restaurant_image_upload_handler(instance, filename):
unique_id = str(uuid.uuid4())
ext = filename.split('.')[-1]
return os.path.join(
'restaurant',
'images',
f'{unique_id}.{ext}'.lower(),
)
Я замокал функцию uuid.uuid4() чтобы точно проверить имя файла
Но для создания тестовых обектов я использую
фабрику (restaurant = RestaurantFactory()) и она где-то у себя использует функцию uuid.uuid4()
И там же падает потому что я её замокал
Вопрос как замокать функцию uuid.uuid4() только для моей функции (unique_id = str(uuid.uuid4())) или альтернатива