1
resposta

[Sugestão] Atualização de método

O teste de integração do método GET com usuário autenticado não funcionou como mostrado no vídeo devido ao self.client não possuir o método force_authenticate.

Para funcionar como esperado foi necessário utilizar a seguinte abordagem:

from django.contrib.auth.models import User
from django.contrib.auth import authenticate
from django.test import TestCase, RequestFactory
from django.urls import reverse
from rest_framework import status
from rest_framework.test import force_authenticate
from aluraflix.views import ProgramaViewSet

def test_get_authenticated_user(self):
        """Testa requisicao GET com user autenticado"""
        factory = RequestFactory()
        user = User.objects.get(username="testuser")
        view = ProgramaViewSet.as_view({"get": "list"})

        request = factory.get(self.list_url)
        force_authenticate(request, user=user)
        response = view(request)

        self.assertEqual(response.status_code, status.HTTP_200_OK)
1 resposta

Oii, Weslley, tudo bem?

Obrigada por compartilhar aqui. Assim você consegue ajudar mais estudantes com a sugestão :)

Se você quiser posstar mais sugestões, fique à vontade.

Abraços!