Пример #1
0
def test_error_params_update_user(admin_client):
    """
    ...
    """
    oldvalues = UserHeavySerializer(User.objects.get(id=1))
    newdata: Dict[str, Any] = {
        'usernames': 'NEW',
        'first_namesss': 'new name',
    }
    response = admin_client.put('/api/user/' + str(1) + '/', newdata)
    newvalues = UserHeavySerializer(User.objects.get(id=1))
    assert response.status_code == 400
    assert newvalues.data == oldvalues.data
Пример #2
0
def test_user_update_profile_invalid_params(admin_client):
    """
    ...
    """
    user_id: int = 1
    oldvalues = UserHeavySerializer(User.objects.get(id=user_id))
    newdata: Dict[str, Any] = {
        'usernames': 'NEW',
        'first_names': 'new name',
    }
    response = admin_client.post('/api/user/profile/', newdata)
    newvalues = UserHeavySerializer(User.objects.get(id=user_id))
    assert response.status_code == 400
    assert newvalues.data == oldvalues.data
Пример #3
0
 def get(self, request, pk: Union[int, str], format=None):
     """
     ...
     """
     user = self.get_object(pk)
     response = UserHeavySerializer(user)
     return Response(response.data, status=status.HTTP_200_OK)
Пример #4
0
def test_get_all_user(admin_client):
    """
    ...
    """
    response = admin_client.get('/api/users/')
    serializer = UserHeavySerializer(User.objects.all(), many=True)
    assert response.status_code == 200
    assert serializer.data == response.data
Пример #5
0
def test_get_user(admin_client):
    """
    ...
    """
    response = admin_client.get('/api/user/' + str(1) + '/')
    serializer = UserHeavySerializer(User.objects.get(id=1))
    assert response.status_code == 200
    assert serializer.data == response.data
Пример #6
0
    def post(self, request, format=None):
        """
        ...
        """
        response = self.serializer(request.user, data=request.data)
        if response.is_valid():
            result = response.save()
            res = UserHeavySerializer(result)
            return Response(res.data, status=status.HTTP_200_OK)

        return Response(response.errors, status=status.HTTP_400_BAD_REQUEST)
Пример #7
0
    def put(self, request, pk: Union[int, str], format=None):
        """
        ...
        """
        user = self.get_object(pk)
        response = self.serializer(user, data=request.data)
        if response.is_valid():
            result = response.save()
            res = UserHeavySerializer(result)
            return Response(res.data, status=status.HTTP_200_OK)

        return Response(response.errors, status=status.HTTP_400_BAD_REQUEST)
Пример #8
0
 def post(self, request, *args, **kwargs):
     """
     ...
     """
     serializer = self.serializer_class(
         data=request.data,
         context={'request': request},
     )
     serializer.is_valid(raise_exception=True)
     user = serializer.validated_data['user']
     user_serializer = UserHeavySerializer(user)
     token, _ = Token.objects.get_or_create(user=user)
     return Response({
         'token': token.key,
         'user': user_serializer.data
     },
                     status=status.HTTP_200_OK)
Пример #9
0
def test_create_user(admin_client):
    """
    ...
    """
    data: Dict[str, Any] = {
        'username': '******',
        'email': '*****@*****.**',
        'password': '******',
        'first_name': 'name',
        'last_name': 'name2',
        'is_staff': False,
    }
    response = admin_client.post('/api/users/', data)
    serializer = UserHeavySerializer(
        User.objects.get(id=response.data['id']), )
    assert response.status_code == 201
    assert serializer.data == response.data
Пример #10
0
def test_success_request_jwt(public_client):
    """
    ...
    """
    data: Dict[str, str] = {
        'email': '*****@*****.**',
        'password': '******',
    }
    response = public_client.post('/api/jwt-auth/', data)
    assert response.status_code == 200

    decoded = jwt.decode(response.data, settings.KEY_HS256, algorithms='HS256')
    user = User.objects.get(email=data['email'])
    serialer = UserHeavySerializer(user)
    token = Token.objects.get(user_id=user.id)

    assert decoded['token'] == token.key
    assert decoded['user'] == serialer.data