package com.tourguide.api.admin; import com.tourguide.modules.finance.dto.WithdrawalProcessRequest; import com.tourguide.modules.finance.service.AdminFinanceService; import com.tourguide.modules.user.domain.ClientType; import com.tourguide.security.AppUserPrincipal; import org.junit.jupiter.api.Test; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; class AdminFinanceControllerTest { @Test void processWithdrawalShouldRecordAdminUsername() { AdminFinanceService financeService = mock(AdminFinanceService.class); AdminFinanceController controller = new AdminFinanceController(financeService); AppUserPrincipal principal = new AppUserPrincipal(8L, "admin", "ADMIN", ClientType.ADMIN); WithdrawalProcessRequest request = new WithdrawalProcessRequest(); request.setStatus("REJECTED"); request.setAuditRemark("资料不完整"); controller.processWithdrawal(12L, request, principal); verify(financeService).processWithdrawal(12L, request, "admin"); } }