chore: keep console build dependency-free

This commit is contained in:
zhx 2026-07-14 19:06:45 +08:00
parent 454a29ca51
commit 8de4ce3837

View File

@ -1,56 +0,0 @@
package com.red.circle.console.adapter.app.user;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import com.red.circle.console.app.service.admin.UserAccountService;
import com.red.circle.console.app.service.app.user.UserFreightService;
import com.red.circle.other.inner.model.cmd.user.UserFreightBalanceCmd;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
class UserFreightRestControllerTest {
private static final Long ADMIN_USER_ID = 227L;
private static final String FREIGHT_SHIP_MENU_ALIAS = "user:freight:ship";
private UserFreightService userFreightService;
private UserAccountService userAccountService;
private UserFreightRestController controller;
@BeforeEach
void setUp() {
userFreightService = Mockito.mock(UserFreightService.class);
userAccountService = Mockito.mock(UserAccountService.class);
controller = new UserFreightRestController(userFreightService, userAccountService);
}
@Test
void shipAllowsUserWithExplicitPermission() {
UserFreightBalanceCmd cmd = new UserFreightBalanceCmd();
cmd.setReqUserId(ADMIN_USER_ID);
when(userAccountService.hasButtonsAlias(ADMIN_USER_ID.intValue(), FREIGHT_SHIP_MENU_ALIAS))
.thenReturn(true);
controller.ship(cmd);
verify(userFreightService).ship(cmd);
org.assertj.core.api.Assertions.assertThat(cmd.getOperationUser()).isEqualTo(ADMIN_USER_ID);
}
@Test
void shipRejectsUserWithoutExplicitPermission() {
UserFreightBalanceCmd cmd = new UserFreightBalanceCmd();
cmd.setReqUserId(ADMIN_USER_ID);
when(userAccountService.hasButtonsAlias(ADMIN_USER_ID.intValue(), FREIGHT_SHIP_MENU_ALIAS))
.thenReturn(false);
// 无权限账号必须在进入余额变更服务前被拒绝防止绕过前端直接调用接口发货
assertThrows(RuntimeException.class, () -> controller.ship(cmd));
verify(userFreightService, never()).ship(cmd);
}
}