Coverage for src/products/urls.py: 100%

8 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2025-08-04 12:59 +0300

1from django.urls import path, include 

2from rest_framework.routers import DefaultRouter 

3 

4from src.products.views.product import ( 

5 CollectionRetrieveView, 

6 ColorRetrieveView, 

7 MetalRetrieveView, 

8 StoneRetrieveView, 

9) 

10from src.products.views.product import ( 

11 EarwearItemView, 

12 EarwearListView, 

13 FingerwearItemView, 

14 FingerwearListView, 

15 NeckwearItemView, 

16 NeckwearListView, 

17 WristwearItemView, 

18 WristwearListView, 

19 ProductAllReviewsView, 

20) 

21from src.products.views.review import ReviewViewSet 

22 

23router = DefaultRouter() 

24router.register(r'reviews', ReviewViewSet, basename='review') 

25 

26 

27urlpatterns = [ 

28 path('', include(router.urls)), 

29 path( 

30 'earwears/', 

31 include( 

32 [ 

33 path('', EarwearListView.as_view(), name='earwear-list'), 

34 path( 

35 '<int:pk>/', EarwearItemView.as_view(), name='earwear-item' 

36 ), 

37 ] 

38 ), 

39 ), 

40 path( 

41 'fingerwears/', 

42 include( 

43 [ 

44 path('', FingerwearListView.as_view(), name='fingerwear-list'), 

45 path( 

46 '<int:pk>/', 

47 FingerwearItemView.as_view(), 

48 name='fingerwear-item', 

49 ), 

50 ] 

51 ), 

52 ), 

53 path( 

54 'neckwears/', 

55 include( 

56 [ 

57 path('', NeckwearListView.as_view(), name='neckwear-list'), 

58 path( 

59 '<int:pk>/', 

60 NeckwearItemView.as_view(), 

61 name='neckwear-item', 

62 ), 

63 ] 

64 ), 

65 ), 

66 path( 

67 'wristwears/', 

68 include( 

69 [ 

70 path('', WristwearListView.as_view(), name='wristwear-list'), 

71 path( 

72 '<int:pk>/', 

73 WristwearItemView.as_view(), 

74 name='wristwear-item', 

75 ), 

76 ] 

77 ), 

78 ), 

79 # Synchronous attribute views (existing) 

80 path('stones/', StoneRetrieveView.as_view(), name='stone-retrieve'), 

81 path('colors/', ColorRetrieveView.as_view(), name='color-retrieve'), 

82 path( 

83 'collections/', 

84 CollectionRetrieveView.as_view(), 

85 name='collection-retrieve', 

86 ), 

87 path('metals/', MetalRetrieveView.as_view(), name='metal-retrieve'), 

88 path( 

89 '<str:category>/<int:pk>/all-reviews/', 

90 ProductAllReviewsView.as_view(), 

91 name='product-all-reviews', 

92 ), 

93]