Вы не можете войти в систему с помощью self.user.password
- это пароль пользователя хэшированный , а не пароль, который они будут использовать для входа в систему - следовательно, ваш логин не удался (вы можете проверить это с помощью проверка возвращаемого значения login()
- это будет False
).
Поскольку здесь вы на самом деле не тестируете аутентификацию, вам следует просто использовать force_login
вместо:
def test_export_to_excel(self) -> None:
data = {'action': 'export_to_excel'}
change_url = '/admin/donation/donation/'
self.user.is_staff = True
self.user.is_superuser = True
self.user.save()
self.client.force_login(self.user)
response = self.client.post(change_url, data)