Django тестовое поле, из которого создается slug

Я пытаюсь написать test для UpdateView из Model, у которого есть title и slug. Когда я пытаюсь test свою view, я не могу получить response, потому что save метод выбрасывает ошибку

ОШИБКА

Reverse for 'books-delete' with arguments '('',)' not found. 1 pattern(s) tried: ['delete/(?P<slug>[^/]+)$']

Я понимаю, что slug не может быть пустым, и это то, что я пытаюсь проверить. Итак, шаг за шагом:

МОДЕЛЬ

from django.utils.text import slugify

class Book(models.Model):
    title = models.CharField(max_length=120)
    slug = models.SlugField(max_length=120, unique=True, blank=True)


    def __str__(self) -> str:
        return f'{self.title}'

    def save(self, *args, **kwargs):
        self.slug = slugify(self.title)
        return super().save(*args, **kwargs)

ТЕСТ

class BookUpdateTest(TestCase):
    
    def test_book_must_have_title(self):
        """Create book object and updates fields with wrong data"""

        book = Book.objects.create(title='Camera Work 2')

        response = self.client.post(
             reverse('books-update', kwargs={'slug': book.slug}), {'title': '',})
        
        self.assertEqual(response.status_code, 200)

ОБНОВИТЬ ПРЕДСТАВЛЕНИЕ

class BookUpdateView(UpdateView):             
    model = Book                              
    fields = '__all__'                        
    success_url = '/'                         
    template_name = 'books/book_update.html'  

URL PATTERNS

urlpatterns = [
    path('update/<str:slug>', BookUpdateView.as_view(), name='books-update'),
    path('delete/<str:slug>', BookDeleteView.as_view(), name='books-delete')
]

Как должен выглядеть тест для поля title?

Вернуться на верх