2026-08-21 10:43:25 +08:00
|
|
|
package com.baiyue.lastleg.controller;
|
|
|
|
|
|
|
|
|
|
import com.baiyue.common.security.AuthenticatedUser;
|
|
|
|
|
import com.baiyue.lastleg.dto.LastlegOrderRequests;
|
|
|
|
|
import com.baiyue.lastleg.service.LastlegOrderService;
|
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
import org.springframework.test.util.ReflectionTestUtils;
|
|
|
|
|
import org.springframework.web.server.ResponseStatusException;
|
|
|
|
|
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
|
|
|
|
import static org.mockito.ArgumentMatchers.eq;
|
|
|
|
|
import static org.mockito.Mockito.mock;
|
|
|
|
|
import static org.mockito.Mockito.verify;
|
|
|
|
|
|
|
|
|
|
class MerchantLastlegOrderControllerTest {
|
|
|
|
|
private final LastlegOrderService service = mock(LastlegOrderService.class);
|
|
|
|
|
private final MerchantLastlegOrderController controller = controller();
|
|
|
|
|
private final LastlegOrderRequests.Query query = new LastlegOrderRequests.Query(
|
2026-10-08 15:12:47 +08:00
|
|
|
1L, 20L, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
|
2026-08-21 10:43:25 +08:00
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
void merchantListUsesOnlyAuthenticatedTenant() {
|
|
|
|
|
controller.list(user(100L, "MERCHANT"), query);
|
|
|
|
|
verify(service).page(eq("100"), eq(query));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
void merchantDetailUsesOnlyAuthenticatedTenant() {
|
|
|
|
|
controller.detail(user(100L, "MERCHANT"), 11L);
|
|
|
|
|
verify(service).detail("100", 11L);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
void merchantEndpointRejectsPlatformIdentity() {
|
|
|
|
|
assertThrows(ResponseStatusException.class,
|
|
|
|
|
() -> controller.list(user(0L, "PLATFORM"), query));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static AuthenticatedUser user(long tenantId, String appCode) {
|
|
|
|
|
return new AuthenticatedUser(1L, tenantId, tenantId, 1L, "tester", appCode, "WEB", Set.of());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MerchantLastlegOrderController controller() {
|
|
|
|
|
MerchantLastlegOrderController controller = new MerchantLastlegOrderController();
|
|
|
|
|
ReflectionTestUtils.setField(controller, "orderService", service);
|
|
|
|
|
return controller;
|
|
|
|
|
}
|
|
|
|
|
}
|