liujie
2026-09-15 ad491191ab50a259da548863d805c57d8a95d083
backend/src/test/java/com/tourguide/modules/finance/service/GuideElectronicLedgerServiceTest.java
@@ -21,12 +21,14 @@
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoInteractions;
import static org.mockito.Mockito.when;
class GuideElectronicLedgerServiceTest {
    private GuideWithdrawalAccountMapper accountMapper;
    private GuideUserService guideUserService;
    private DouGongBasicDataBiz douGongBasicDataBiz;
    private GuideWithdrawableBalanceService balanceService;
    private GuideElectronicLedgerService service;
    @BeforeEach
@@ -34,7 +36,9 @@
        accountMapper = mock(GuideWithdrawalAccountMapper.class);
        guideUserService = mock(GuideUserService.class);
        douGongBasicDataBiz = mock(DouGongBasicDataBiz.class);
        service = new GuideElectronicLedgerService(accountMapper, guideUserService, douGongBasicDataBiz);
        balanceService = mock(GuideWithdrawableBalanceService.class);
        service = new GuideElectronicLedgerService(accountMapper, guideUserService,
                douGongBasicDataBiz, balanceService);
    }
    @Test
@@ -95,6 +99,20 @@
        verify(accountMapper, org.mockito.Mockito.atLeastOnce()).updateById(any(GuideWithdrawalAccount.class));
    }
    @Test
    void balanceShouldUseLocalWithdrawableAmount() {
        GuideUser guide = new GuideUser();
        guide.setId(8L);
        GuideWithdrawalAccount account = new GuideWithdrawalAccount();
        account.setHuifuId("HF100");
        when(guideUserService.findEnabledById(8L)).thenReturn(guide);
        when(accountMapper.selectOne(any())).thenReturn(account);
        when(balanceService.getAvailableAmount(8L)).thenReturn(new java.math.BigDecimal("504.30"));
        assertThat(service.balance(8L)).isEqualByComparingTo("504.30");
        verifyNoInteractions(douGongBasicDataBiz);
    }
    private GuideElectronicLedgerRequest request() {
        GuideElectronicLedgerRequest request = new GuideElectronicLedgerRequest();
        request.setCertificateName("张三");