FlashDeliveryOrderViewTest.java 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package com.ruoyi.app.flashdelivery.dto;
  2. import org.junit.jupiter.api.Test;
  3. import java.util.Set;
  4. import java.util.stream.Collectors;
  5. import java.util.stream.Stream;
  6. import static org.junit.jupiter.api.Assertions.assertFalse;
  7. import static org.junit.jupiter.api.Assertions.assertTrue;
  8. class FlashDeliveryOrderViewTest {
  9. @Test
  10. void roleBusinessViewExcludesPersistenceAndIdentityInternals() {
  11. Set<String> fields = Stream.of(FlashDeliveryOrderView.class.getDeclaredFields())
  12. .map(java.lang.reflect.Field::getName).collect(Collectors.toSet());
  13. for (String forbidden : Set.of("userId", "clientRequestId", "deliveryPinCode",
  14. "pricingVersion", "cancelOperatorId", "cancelOperatorType", "version")) {
  15. assertFalse(fields.contains(forbidden), forbidden);
  16. }
  17. for (String required : Set.of("serviceType", "deliveryType", "packageType", "quantity",
  18. "weightRange", "specification", "deliveryMode",
  19. "scheduledPickupStartAt", "pinRequired", "pickup", "delivery",
  20. "baseDeliveryFee", "distanceFee", "urgentFee", "tipAmount", "amount")) {
  21. assertTrue(fields.contains(required), required);
  22. }
  23. }
  24. @Test
  25. void appDetailIsDirectOrderDataWithExplicitImageArrays() {
  26. Set<String> fields = Stream.of(FlashDeliveryOrderDetailView.class.getDeclaredFields())
  27. .map(java.lang.reflect.Field::getName).collect(Collectors.toSet());
  28. for (String forbidden : Set.of("order", "images", "logs")) {
  29. assertFalse(fields.contains(forbidden), forbidden);
  30. }
  31. for (String required : Set.of("senderImageUrls", "pickupImageUrls",
  32. "deliveryImageUrls", "rider", "deliveryPinCode")) {
  33. assertTrue(fields.contains(required), required);
  34. }
  35. assertTrue(FlashDeliveryOrderView.class.isAssignableFrom(FlashDeliveryOrderDetailView.class));
  36. }
  37. }