У меня есть модель Django, которая переопределяет save_model
для автоматического сохранения текущего аутентифицированного пользователя в поле при сохранении.
Вопрос в том, как в модульном тесте я могу проверить создание этой модели без необходимости go в виде?
Модель:
class SomeClass(models.Model):
def save_model(self, request, obj, form, change):
self.prevent_update()
if not obj.pk:
# Only set added_by during the first save.
obj.created = request.user
super().save_model(request, obj, form, change)
Тест просто хочет настроить SomeClass
перед выполнением каких-либо других действий.
class SomeClassTestCase(TestCase):
def setUp(self):
self.assertTrue(request.user)
SomeClass.objects.create(name="abc")
Я знаю, что запрос устанавливается автоматически, так как request.user
не завершается с request
существо None
; вместо этого ограничение запроса не выполняется, поскольку пользователь имеет значение null. Как настроить пользователя для запроса, который, по-видимому, был передан в save_model
В качестве альтернативы я знаю, что могу настроить запрос с помощью RequestFactory
и сгенерировать пользователя. В таком случае, как я могу получить это в тесте, чтобы SomeClass.objects.create
действительно его увидел.