Example #1
0
def test_new_forum_failure(app, authed_client, category_id):
    with pytest.raises(APIException):
        Forum.new(
            name='NewForum',
            description=None,
            category_id=category_id,
            position=100,
        )
Example #2
0
def test_new_forum(app, authed_client):
    forum = Forum.new(name='NewForum',
                      description=None,
                      category_id=2,
                      position=100)
    assert forum.name == 'NewForum'
    assert forum.description is None
    assert forum.position == 100
    assert Forum.from_cache(forum.cache_key).id == forum.id == 7
Example #3
0
def create_forum(name: str,
                 category_id: int,
                 description: str = None,
                 position: int = 0) -> flask.Response:
    """
    This is the endpoint for forum creation. The ``forums_forums_modify`` permission
    is required to access this endpoint.

    .. :quickref: Forum; Create a forum.

    **Example request**:

    .. parsed-literal::

       POST /forums HTTP/1.1

       {
         "name": "Support",
         "description": "The place for confused share bears.",
         "position": 6
       }

    **Example response**:

    .. parsed-literal::

       {
         "status": "success",
         "response": "<Forum>"
       }

    :>json dict response: The newly created forum

    :statuscode 200: Creation successful
    :statuscode 400: Creation unsuccessful
    """
    forum = Forum.new(
        name=name,
        category_id=category_id,
        description=description,
        position=position,
    )
    return flask.jsonify(forum)