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")