コード例 #1
0
 def post(self, request):
     social_media_type = request.data.get("social_media_type")
     link = request.data.get("link")
     if social_media_type is None or link is None:
         return Response(
             {
                 "success": False,
                 "message":
                 "Required Param social_media_type, link is missing."
             },
             status=400)
     user_detail_exist = True
     try:
         user_details = UserDetail.objects.get(user=request.user.id)
     except UserDetail.DoesNotExist:
         user_detail_exist = False
     if social_media_type == "Facebook":
         if user_detail_exist:
             user_details.facebook_link = link
         else:
             data = {"facebook_link": link, "user": request.user.id}
     elif social_media_type == "Youtube":
         if user_detail_exist:
             user_details.youtube_link = link
         else:
             data = {"youtube_link": link, "user": request.user.id}
     elif social_media_type == "Instagram":
         if user_detail_exist:
             user_details.instagram_link = link
         else:
             data = {"instagram_link": link, "user": request.user.id}
     else:
         return Response({
             "success":
             False,
             "message":
             "Invalid social_media_type param is provided."
         })
     if user_detail_exist:
         user_details.save()
         serializer = UserDetailSerializer(user_details, many=False)
         return Response({
             "success": True,
             "message": "Link Updated",
             "data": serializer.data
         })
     else:
         user_detail_serializer = UserDetailSerializer(data=data)
         if user_detail_serializer.is_valid():
             instance = user_detail_serializer.save()
             serializer = UserDetailSerializer(instance, many=False)
             return Response({
                 "success": True,
                 "message": "Link Updated",
                 "data": serializer.data
             })
         return Response({
             "success": False,
             "message": user_detail_serializer.errors
         })
コード例 #2
0
ファイル: views.py プロジェクト: dennis1984/foodAppClient
    def post(self, request, *args, **kwargs):
        user = BusinessUser.get_user_detail(request)
        if isinstance(user, Exception):
            return Response({'Error': user.args}, status=status.HTTP_400_BAD_REQUEST)

        serializer = UserDetailSerializer(data=user)
        if serializer.is_valid():
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
コード例 #3
0
    def test_expected_fields(self):
        """Tests expected serializer fields for validated data
        email
        """
        user_data = factory.build(dict, FACTORY_CLASS=UserFactory)
        serializer = UserDetailSerializer(data=user_data)
        is_valid = serializer.is_valid()

        print("Errors: ", serializer.errors)
        assert is_valid, "serializer validation test"
        assert serializer.validated_data.keys() == set(['email'])
コード例 #4
0
    def post(self, request, *args, **kwargs):
        user_detail = self.get_user_object(request)
        if isinstance(user_detail, Exception):
            return Response({'Detail': user_detail.args},
                            status=status.HTTP_400_BAD_REQUEST)

        serializer = UserDetailSerializer(data=user_detail)
        if not serializer.is_valid():
            return Response({'Detail': serializer.errors},
                            status=status.HTTP_400_BAD_REQUEST)
        return Response(serializer.data, status=status.HTTP_200_OK)
コード例 #5
0
 def test_user_detail_serializer(self):
     """
         Testing UserDetailSerializer serializer
     """
     user_data = {
         "email": fake.email(),
         "first_name": fake.first_name(),
         "last_name": fake.last_name(),
         "phone": fake.phone_number(),
         "role_id": self.role.id,
         "password": "******",
         "date_of_add": datetime.datetime.now(),
         "login": "******",
     }
     serializer = UDS(data=user_data)
     valid = serializer.is_valid()
     self.assertTrue(valid)