提交
This commit is contained in:
+33
@@ -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());
|
||||
}
|
||||
}
|
||||
+7
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user