Initial updates with FE
This commit is contained in:
@@ -38,6 +38,14 @@ class EquipmentApiTests(APITestCase):
|
||||
is_active=True,
|
||||
)
|
||||
|
||||
def test_public_equipment_categories_list(self):
|
||||
res = self.client.get("/api/v1/equipment/categories/")
|
||||
self.assertEqual(res.status_code, status.HTTP_200_OK)
|
||||
self.assertEqual(len(res.data), 1)
|
||||
self.assertEqual(res.data[0]["id"], self.category.id)
|
||||
self.assertEqual(res.data[0]["name"], "Boat")
|
||||
self.assertEqual(res.data[0]["slug"], "boat")
|
||||
|
||||
def test_public_equipment_list_detail_and_filter(self):
|
||||
list_res = self.client.get("/api/v1/equipment/items/")
|
||||
self.assertEqual(list_res.status_code, status.HTTP_200_OK)
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
from django.urls import include, path
|
||||
from rest_framework.routers import DefaultRouter
|
||||
|
||||
from .views import PublicEquipmentDetailView, PublicEquipmentListView, VendorEquipmentViewSet, VendorStorefrontView
|
||||
from .views import (
|
||||
PublicEquipmentCategoryListView,
|
||||
PublicEquipmentDetailView,
|
||||
PublicEquipmentListView,
|
||||
VendorEquipmentViewSet,
|
||||
VendorStorefrontView,
|
||||
)
|
||||
|
||||
router = DefaultRouter()
|
||||
router.register("vendor/items", VendorEquipmentViewSet, basename="vendor-equipment-item")
|
||||
|
||||
urlpatterns = [
|
||||
path("", include(router.urls)),
|
||||
path("categories/", PublicEquipmentCategoryListView.as_view(), name="equipment_public_categories"),
|
||||
path("items/", PublicEquipmentListView.as_view(), name="equipment_public_list"),
|
||||
path("items/<str:public_id>/", PublicEquipmentDetailView.as_view(), name="equipment_public_detail"),
|
||||
path("storefront/<slug:slug>/", VendorStorefrontView.as_view(), name="vendor_storefront"),
|
||||
|
||||
@@ -8,8 +8,16 @@ from rest_framework.views import APIView
|
||||
from booking.models import Booking
|
||||
from marketing.mixins import EquipmentListingClickTrackingMixin
|
||||
|
||||
from .models import EquipmentItem
|
||||
from .serializers import EquipmentItemSerializer
|
||||
from .models import EquipmentCategory, EquipmentItem
|
||||
from .serializers import EquipmentCategorySerializer, EquipmentItemSerializer
|
||||
|
||||
|
||||
class PublicEquipmentCategoryListView(generics.ListAPIView):
|
||||
"""Read-only list of equipment categories for storefronts and vendor create flows."""
|
||||
|
||||
serializer_class = EquipmentCategorySerializer
|
||||
permission_classes = (permissions.AllowAny,)
|
||||
queryset = EquipmentCategory.objects.all().order_by("name")
|
||||
|
||||
|
||||
class PublicEquipmentListView(generics.ListAPIView):
|
||||
|
||||
Reference in New Issue
Block a user