def request_post(request_factory):
    """Fixture allowing POST request object generation.

    Example::

        def test_this(request_post):
            request = request_post('/some', {'a': 'b'})


    :param str|unicode path:

    :param dict data: Data to post.

    :param AbstractBaseUser user: User making this request.

    :param bool ajax: Make AJAX (XMLHttpRequest) request.

    :param kwargs: Additional arguments for .post() method.

    """
    def request_post_(path=None, data=None, user=None, ajax=False, **kwargs):
        """
        :rtype: HttpRequest
        """
        path = path or '/'
        request = request_factory(ajax=ajax).post(path, data, **kwargs)
        if user:
            request.user = user
        return request

    return request_post_