package com.ruoyi.account.controller; import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient; import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient; import com.ruoyi.chargingPile.api.model.TChargingGun; import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.chargingPile.api.vo.SiteInfoVO; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import org.junit.jupiter.api.Test; import org.springframework.test.util.ReflectionTestUtils; import java.math.BigDecimal; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; class TAppCouponControllerTest { @Test void siteInfoReturnsChargingPileErrorInsteadOfNullPointerException() { TAppCouponController controller = new TAppCouponController(); ChargingGunClient chargingGunClient = mock(ChargingGunClient.class); ChargingPileClient chargingPileClient = mock(ChargingPileClient.class); TChargingGun gun = new TChargingGun(); gun.setChargingPileId(88); TChargingPile pile = new TChargingPile(); pile.setCode("100200300"); when(chargingGunClient.getChargingGunById(1474)).thenReturn(R.ok(gun)); when(chargingPileClient.getChargingPileById(88)).thenReturn(R.ok(pile)); when(chargingPileClient.getSiteInfoByNumber1("100200300")) .thenReturn(R.fail("电站未配置有效的计费模板")); ReflectionTestUtils.setField(controller, "chargingGunClient", chargingGunClient); ReflectionTestUtils.setField(controller, "chargingPileClient", chargingPileClient); AjaxResult result = controller.siteInfo(1474, new BigDecimal("50")); assertTrue(result.isError()); assertEquals("电站未配置有效的计费模板", result.get("msg")); } }