This commit is contained in:
2026-08-27 13:35:52 +08:00
parent 3975759458
commit a79999d97c
9 changed files with 155 additions and 1 deletions
@@ -0,0 +1,33 @@
package com.baiyue.warehouse.controller;
import com.baiyue.common.security.AuthenticatedUser;
import com.baiyue.warehouse.dto.SharedWarehouseReference;
import com.baiyue.warehouse.service.DomesticWarehouseDirectory;
import com.baiyue.warehouse.service.WarehouseResourceService;
import org.junit.jupiter.api.Test;
import java.util.List;
import java.util.Set;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
class PlatformWarehouseDirectoryControllerTest {
@Test
void pagesPublicSharedWarehouseOptions() {
DomesticWarehouseDirectory directory = mock(DomesticWarehouseDirectory.class);
when(directory.options()).thenReturn(List.of(
new SharedWarehouseReference(21L, "US-LAX", "洛杉矶仓", "ACTIVE")));
var controller = new PlatformWarehouseDirectoryController(directory, mock(WarehouseResourceService.class));
var user = new AuthenticatedUser(1L, 0L, 0L, 2L,
"tester", "PLATFORM", "PLATFORM", Set.of());
var page = controller.warehouses(user, 1, 200).data();
assertEquals(1, page.total());
assertEquals(21L, page.records().get(0).id());
assertEquals(0L, page.records().get(0).customerId());
assertEquals("OVERSEAS", page.records().get(0).warehouseType());
}
}
@@ -32,6 +32,13 @@ class WarehouseResourcePermissionContractTest {
assertPermission(methods.get("deletePallet"), PREFIX + "pallet:delete");
}
@Test
void warehouseDirectoryUsesCanonicalListAuthority() throws Exception {
assertPermission(PlatformWarehouseDirectoryController.class.getDeclaredMethod(
"warehouses", com.baiyue.common.security.AuthenticatedUser.class, long.class, long.class),
PREFIX + "warehouse:list");
}
private static void assertPermission(Method method, String authority) {
PreAuthorize preAuthorize = method.getAnnotation(PreAuthorize.class);
Operation operation = method.getAnnotation(Operation.class);