예제 #1
0
def test_post_view(rf):
    post = mixer.blend(Post, author=mixer.blend(User, username='******'))
    user = mixer.blend(User, username='******')
    url = reverse('blog:post_view', kwargs={'post_id': post.id})

    request = rf.get(url)
    request.user = user

    response = PostView().get(request, post_id=post.id)

    assert response.status_code == 302
    assert response.url == reverse('blog:user_view',
                                   kwargs={'username': post.author.username})

    mixer.blend(Subscription, author=post.author, subscriber=user)

    response = PostView().get(request, post_id=post.id)
    assert response.status_code == 200
예제 #2
0
from fastapi import APIRouter
from blog.views import PostView
from blog.schemas import PostSchema

router = APIRouter()

view = PostView()


@router.get('/posts')
async def list_post():
    return await view.list(('author', ))


@router.post('/posts')
async def create_post(post: PostSchema):
    return await view.store(**post.dict())