fix(lastleg): keep completed containers editable

This commit is contained in:
2026-09-08 11:51:04 +08:00
parent cc6df5993f
commit 847df6a85f
5 changed files with 63 additions and 18 deletions
@@ -16,6 +16,7 @@ import com.baiyue.lastleg.shipping.service.ContainerShippingNodeConsumer;
import org.junit.jupiter.api.Test;
import org.springframework.test.util.ReflectionTestUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.server.ResponseStatusException;
import java.util.Set;
@@ -88,6 +89,24 @@ class LastlegOrderControllerTest {
verify(service).containerProgressPage(summaryQuery);
}
@Test
void containerEndpointsUseCanonicalLastMileOrderAuthorities() throws Exception {
var list = LastlegOrderController.class.getMethod("containerSummaries",
AuthenticatedUser.class, LastlegOrderRequests.ContainerProgressQuery.class);
var detail = LastlegOrderController.class.getMethod("containerSummaryDetail",
AuthenticatedUser.class, String.class);
var change = LastlegOrderController.class.getMethod("changeReceivingWarehouse",
AuthenticatedUser.class, String.class, String.class,
LastlegOrderRequests.ChangeReceivingWarehouse.class);
assertEquals("hasAuthority('platform:overseas-warehouse:last-mile-order:list')",
list.getAnnotation(PreAuthorize.class).value());
assertEquals("hasAuthority('platform:overseas-warehouse:last-mile-order:list')",
detail.getAnnotation(PreAuthorize.class).value());
assertEquals("hasAuthority('platform:overseas-warehouse:last-mile-order:edit')",
change.getAnnotation(PreAuthorize.class).value());
}
@Test
void containerSummariesRejectMerchantIdentity() {
var summaryQuery = new LastlegOrderRequests.ContainerProgressQuery(1, 20, null, null, null);