diff --git a/pom.xml b/pom.xml
index df316bc..9dc9700 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,7 +50,7 @@
com.github.Podzilla
podzilla-utils-lib
- 1.1.11
+ v1.1.13
diff --git a/src/main/java/com/podzilla/cart/controller/PromoCodeController.java b/src/main/java/com/podzilla/cart/controller/PromoCodeController.java
index 1ff1bab..969545e 100644
--- a/src/main/java/com/podzilla/cart/controller/PromoCodeController.java
+++ b/src/main/java/com/podzilla/cart/controller/PromoCodeController.java
@@ -1,5 +1,6 @@
package com.podzilla.cart.controller;
+import com.podzilla.auth.annotations.AllowedRoles;
import com.podzilla.cart.model.PromoCode;
import com.podzilla.cart.service.PromoCodeService;
import io.swagger.v3.oas.annotations.Operation;
@@ -22,6 +23,7 @@
@RestController
@RequestMapping("/admin/promocodes")
+@AllowedRoles({"ROLE_ADMIN"})
@RequiredArgsConstructor
@Tag(name = "PromoCode Admin", description = "Manage promotional codes (Requires Admin Role)")
@Slf4j
diff --git a/src/main/java/com/podzilla/cart/service/CartService.java b/src/main/java/com/podzilla/cart/service/CartService.java
index a22a13a..84aa01f 100644
--- a/src/main/java/com/podzilla/cart/service/CartService.java
+++ b/src/main/java/com/podzilla/cart/service/CartService.java
@@ -294,7 +294,7 @@ public Cart checkoutCart(final String customerId, final ConfirmationType confirm
+ " Discount={}, Total={}, ConfirmationType={}",
cart.getId(), cart.getSubTotal(), cart.getDiscountAmount(),
cart.getTotalPrice(), confirmationType);
- eventPublisher.publishEvent(EventsConstants.ORDER_PLACED, checkoutEvent);
+ eventPublisher.publishEvent(EventsConstants.CART_CHECKEDOUT, checkoutEvent);
log.info("Checkout event published successfully for cartId: {}. Clearing cart.", cart.getId());
cart.getItems().clear();
diff --git a/src/test/java/service/CartServiceTest.java b/src/test/java/service/CartServiceTest.java
index a31bd02..ff7d614 100644
--- a/src/test/java/service/CartServiceTest.java
+++ b/src/test/java/service/CartServiceTest.java
@@ -343,12 +343,12 @@ void checkoutCart_validCartWithPromo_publishesEventAndClearsCart() {
PromoCode promo = createTestPromoCode("SAVE10", PromoCode.DiscountType.PERCENTAGE, new BigDecimal("10"), null, null, true);
when(promoCodeService.getActivePromoCode("SAVE10")).thenReturn(Optional.of(promo));
- doNothing().when(eventPublisher).publishEvent(eq(EventsConstants.ORDER_PLACED), any(CartCheckedoutEvent.class));
+ doNothing().when(eventPublisher).publishEvent(eq(EventsConstants.CART_CHECKEDOUT), any(CartCheckedoutEvent.class));
Cart result = cartService.checkoutCart(customerId, ConfirmationType.OTP, "", latitude, longitude, address);
ArgumentCaptor eventCaptor = ArgumentCaptor.forClass(CartCheckedoutEvent.class);
- verify(eventPublisher).publishEvent(eq(EventsConstants.ORDER_PLACED), eventCaptor.capture());
+ verify(eventPublisher).publishEvent(eq(EventsConstants.CART_CHECKEDOUT), eventCaptor.capture());
CartCheckedoutEvent publishedEvent = eventCaptor.getValue();
assertEquals(customerId, publishedEvent.getCustomerId());
@@ -377,7 +377,7 @@ void checkoutCart_withSignature_publishesEventWithSignature() {
Cart result = cartService.checkoutCart(customerId, ConfirmationType.SIGNATURE, signature, latitude, longitude, address);
ArgumentCaptor eventCaptor = ArgumentCaptor.forClass(CartCheckedoutEvent.class);
- verify(eventPublisher).publishEvent(eq(EventsConstants.ORDER_PLACED), eventCaptor.capture());
+ verify(eventPublisher).publishEvent(eq(EventsConstants.CART_CHECKEDOUT), eventCaptor.capture());
CartCheckedoutEvent publishedEvent = eventCaptor.getValue();
assertEquals(ConfirmationType.SIGNATURE, publishedEvent.getConfirmationType());
@@ -393,7 +393,7 @@ void checkoutCart_signatureTypeWithoutSignature_throwsException() {
assertEquals(HttpStatus.BAD_REQUEST, ex.getStatus());
assertEquals("Signature is required for SIGNATURE confirmation type", ex.getMessage());
-verify(eventPublisher, never()).publishEvent(eq(EventsConstants.ORDER_PLACED), any(CartCheckedoutEvent.class));
+verify(eventPublisher, never()).publishEvent(eq(EventsConstants.CART_CHECKEDOUT), any(CartCheckedoutEvent.class));
}
@Test
@@ -405,7 +405,7 @@ void checkoutCart_emptyCart_throwsGlobalHandlerException() {
assertEquals(HttpStatus.BAD_REQUEST, ex.getStatus());
assertEquals("Cannot checkout an empty cart.", ex.getMessage());
-verify(eventPublisher, never()).publishEvent(eq(EventsConstants.ORDER_PLACED), any(CartCheckedoutEvent.class));
+verify(eventPublisher, never()).publishEvent(eq(EventsConstants.CART_CHECKEDOUT), any(CartCheckedoutEvent.class));
}
@Test
@@ -421,7 +421,7 @@ void checkoutCart_rabbitMqFails_throwsRuntimeExceptionAndCartNotCleared() {
cart.setDiscountAmount(new BigDecimal(formattedBigZero));
doThrow(new RuntimeException("Event publish error")).when(eventPublisher)
- .publishEvent(eq(EventsConstants.ORDER_PLACED), any(CartCheckedoutEvent.class));
+ .publishEvent(eq(EventsConstants.CART_CHECKEDOUT), any(CartCheckedoutEvent.class));
RuntimeException ex = assertThrows(RuntimeException.class,
() -> cartService.checkoutCart(customerId, ConfirmationType.QR_CODE, null, latitude, longitude, address));