Testing redirects to parameterized URLs when creating object

Viewed 24

I have a view for creating blog posts which redirects the user to a form to fill the blog post content like this:

from django.views import View
from app.models import BlogPost

class CreateBlogPost(View):
    def post():
        new_post = BlogPost.objects.create()
        return redirect(reverse('post_edit'), args=[new_post.id])


class EditBlogPost(View):
    ...
    

And my urls are the following:

from django.urls import path
from app.views import CreateBlogPost

urlpatterns = [
    path('post', CreateBlogPost.as_view(), name='post_create'),
    path('post/<int:pk>/edit', EditBlogPost.as_view(), name='post_edit')
]

I would like to: test the CreateBlogPost by asserting that it redirects to post/<some_id>/edit.

I've tried: using the method assertRedirects from django's SimpleTestCase, but couldn't find a way to make this work.

I'm also using pytest-django, in case that's relevant.

0 Answers
Related