优化提交
This commit is contained in:
+35
@@ -0,0 +1,35 @@
|
||||
package com.baiyue.lastleg.transfer.controller;
|
||||
|
||||
import com.baiyue.common.security.AuthenticatedUser;
|
||||
import com.baiyue.lastleg.security.OverseasPermissions;
|
||||
import com.baiyue.lastleg.transfer.dto.WarehouseTransferRequests;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
class WarehouseTransferControllerPermissionTest {
|
||||
@Test
|
||||
void readEndpointsAndReviewUseTheirDedicatedAuthorities() throws Exception {
|
||||
PreAuthorize page = WarehouseTransferController.class
|
||||
.getMethod("page", AuthenticatedUser.class, String.class, WarehouseTransferRequests.Query.class)
|
||||
.getAnnotation(PreAuthorize.class);
|
||||
PreAuthorize detail = WarehouseTransferController.class
|
||||
.getMethod("detail", AuthenticatedUser.class, String.class, String.class)
|
||||
.getAnnotation(PreAuthorize.class);
|
||||
PreAuthorize cartonLabel = WarehouseTransferController.class
|
||||
.getMethod("cartonLabel", AuthenticatedUser.class, String.class, String.class)
|
||||
.getAnnotation(PreAuthorize.class);
|
||||
PreAuthorize review = WarehouseTransferController.class
|
||||
.getMethod("review", AuthenticatedUser.class, String.class, String.class,
|
||||
WarehouseTransferRequests.Review.class)
|
||||
.getAnnotation(PreAuthorize.class);
|
||||
|
||||
String readAuthority = "hasAuthority('" + OverseasPermissions.LAST_MILE_ORDER_LIST + "')";
|
||||
assertThat(page.value()).isEqualTo(readAuthority);
|
||||
assertThat(detail.value()).isEqualTo(readAuthority);
|
||||
assertThat(cartonLabel.value()).isEqualTo(readAuthority);
|
||||
assertThat(review.value()).isEqualTo(
|
||||
"hasAuthority('" + OverseasPermissions.WAREHOUSE_TRANSFER_APPROVE + "')");
|
||||
}
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
package com.baiyue.lastleg.transfer.dto;
|
||||
|
||||
import jakarta.validation.Validation;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
class WarehouseTransferPalletValidationTest {
|
||||
@Test
|
||||
void palletAcceptsDirectTotalVolumeAndWeightWithoutCartonDimensions() {
|
||||
try (var factory = Validation.buildDefaultValidatorFactory()) {
|
||||
var validator = factory.getValidator();
|
||||
var pallet = new WarehouseTransferRequests.Pallet("PALLET-1", 5,
|
||||
new BigDecimal("1.250000"), new BigDecimal("420.50"),
|
||||
List.of(new WarehouseTransferRequests.PalletItem(101L, 5)));
|
||||
|
||||
assertTrue(validator.validate(pallet).isEmpty());
|
||||
assertEquals(new BigDecimal("1.250000"), pallet.volumeCbm());
|
||||
assertEquals(new BigDecimal("420.50"), pallet.grossWeightKg());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void palletRejectsNonPositiveTotalVolume() {
|
||||
try (var factory = Validation.buildDefaultValidatorFactory()) {
|
||||
var validator = factory.getValidator();
|
||||
var pallet = new WarehouseTransferRequests.Pallet("PALLET-1", 5,
|
||||
BigDecimal.ZERO, new BigDecimal("420.50"),
|
||||
List.of(new WarehouseTransferRequests.PalletItem(101L, 5)));
|
||||
|
||||
assertEquals(1, validator.validate(pallet).size());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user