Exemple #1
0
def get_create_post_view(request):
    request_serializer = CreatePostRequestSerializer(data=request.data)
    is_valid_data = request_serializer.is_valid()
    if is_valid_data:
        request_object = request_serializer.save()
        try:
            post_id = create_post(user_id=request_object.user_id,
                                  post_content=request_object.content)
        except InvalidUserException:
            return Response(status=404)
        except InvalidPostContent:
            return Response(status=400)
        post_object = CreatePostResponseclass(post_id=post_id)
        response_serializer = CreatePostResponseSerializer(post_object)
        return Response(response_serializer.data, status=201)
def api_wrapper(*args, **kwargs):
    user = kwargs['user']
    request_data = kwargs['request_data']
    post_content = request_data['content']
    try: 
        post_id = create_post(
            user_id = user.id,
            post_content = post_content
        )
    except InvalidPostContent:
        raise BadRequest(*INVALID_POST_CONTENT)

    data = json.dumps ({"post_id": post_id})
    response = HttpResponse(data, status=200)
    return response
def test_create_post_valid(user):
    #arrange
    #act
    post = create_post(1, "usha")
    #assert
    assert Post.objects.get(id=1).id == post
def test_create_post_post_content_invalid(user):
    #arrange
    #act
    with pytest.raises(InvalidPostContent):
        create_post(1, "")
def test_create_post_user_id_invalid():
    #arrange
    #act
    with pytest.raises(InvalidUserException):
        create_post(2, "usha")