Coverage for books/tests/test_urls.py: 100.00%

21 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2025-10-24 18:34 -0700

1import pytest 

2from django.urls import resolve, reverse 

3 

4from .factories import BookFactory 

5 

6pytestmark = pytest.mark.django_db 

7 

8 

9@pytest.fixture 

10def book(): 

11 return BookFactory() 

12 

13 

14def test_book_list_reverse(): 

15 """book_list should reverse to /books/.""" 

16 assert reverse("book_list") == "/books/" 1d

17 

18 

19def test_book_list_resolve(): 

20 """/books/" should resolve to book_list.""" 

21 assert resolve("/books/").view_name == "book_list" 1e

22 

23 

24def test_book_add_reverse(): 

25 """book_add should reverse to /books/add/.""" 

26 assert reverse("book_add") == "/books/add/" 1f

27 

28 

29def test_book_add_resolve(): 

30 """/books/add/" should resolve to book_add.""" 

31 assert resolve("/books/add/").view_name == "book_add" 1g

32 

33 

34def test_book_detail_reverse(book): 

35 """book_detail should reverse to /books/uuid.""" 

36 url = reverse("book_detail", kwargs={"pk": book.id}) 1b

37 assert url == f"/books/{book.id}/" 1b

38 

39 

40def test_book_detail_resolve(book): 

41 """/books/{book.id}/ should resolve to book_detail.""" 

42 url = f"/books/{book.id}/" 1c

43 assert resolve(url).view_name == "book_detail" 1c