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