Попытка написать тесты для устаревшего проекта Django 1.11. В проекте используется пакет unittest
(я не знаю, стандартный это или выбор).
Я пытаюсь использовать django.test.Client.force_login
для проверки вида с LoginRequiredMixin
, но он делает ничего . Я добавил print(self.request.user)
в метод отправки mixin. Он выводит AnonymousUser
, использую ли я force_login
или нет. Почему он не работает?
Тест (упрощенный для удобства чтения):
class CheckoutTest(TestCase):
def test_successful_payment(self):
user = UserAccount.objects.create(email='foo@bar.com', is_owner=True, is_customer=True)
self.client.force_login(user)
self.client.post('/subscription/buy/' + str(package.id) + '/', {
... redacted ...
})
Вид:
class BuyPackageView(LoginRequiredMixin, View):
def post(self, request, *args, **kwargs):
... redacted ...