Coverage for posts/tests/test_urls.py: 93.75%

16 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-05-02 19:56 -0700

1import pytest 

2from django.urls import resolve, reverse 

3 

4from .factories import PostFactory 

5 

6pytestmark = pytest.mark.django_db 

7 

8 

9@pytest.fixture 

10def post(): 

11 return PostFactory() 

12 

13 

14def test_post_list_reverse(): 

15 """post_list should reverse to /posts/.""" 

16 assert reverse("post_list") == "/posts/" 1b

17 

18 

19def test_post_list_resolve(): 

20 """/posts/" should resolve to post_list.""" 

21 assert resolve("/posts/").view_name == "post_list" 1c

22 

23 

24def test_post_add_reverse(): 

25 """post_new should reverse to /posts/new/.""" 

26 assert reverse("post_new") == "/posts/new/" 1d

27 

28 

29def test_post_add_resolve(): 

30 """/posts/new/" should resolve to post_new.""" 

31 assert resolve("/posts/new/").view_name == "post_new" 1e

32 

33 

34# TODO Revisit PostFactory() construction & build an appropriate slug to test 

35""" 

36def test_post_detail_reverse(post): 

37 # post_detail should reverse to /posts/uuid. 

38 url = reverse("post_detail", kwargs={"pk": post.id}) 

39 assert url == f"/posts/{post.id}/" 

40 

41 

42def test_post_detail_resolve(post): 

43 # /posts/{post.id}/ should resolve to post_detail. 

44 url = f"/posts/{post.id}/" 

45 assert resolve(url).view_name == "post_detail" 

46"""