Initial updates with FE

This commit is contained in:
2026-04-10 21:41:26 -05:00
parent 562a8525d0
commit bb8af62f2d
9 changed files with 119 additions and 11 deletions

View File

@@ -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)

View File

@@ -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"),

View File

@@ -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):