| | |
| | | package com.ruoyi.chargingPile.service.impl; |
| | | |
| | | import com.ruoyi.chargingPile.api.model.Partner; |
| | | import com.ruoyi.chargingPile.mapper.PartnerMapper; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import org.junit.jupiter.api.Test; |
| | | import org.springframework.test.util.ReflectionTestUtils; |
| | | import org.mockito.ArgumentCaptor; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | import static org.junit.jupiter.api.Assertions.assertTrue; |
| | | import static org.junit.jupiter.api.Assertions.assertEquals; |
| | | import static org.mockito.Mockito.mock; |
| | | import static org.mockito.Mockito.never; |
| | | import static org.mockito.Mockito.verify; |
| | | import static org.mockito.Mockito.when; |
| | | import static org.mockito.ArgumentMatchers.isNull; |
| | | |
| | | class PartnerServiceImplTest { |
| | | |
| | |
| | | |
| | | assertTrue(new PartnerServiceImpl().addPartnerParameterCheck(partner).isSuccess()); |
| | | } |
| | | |
| | | @Test |
| | | void venuePartnerFallsBackToPartnerRoleWhenDedicatedRoleIsMissing() { |
| | | PartnerServiceImpl service = new PartnerServiceImpl(); |
| | | PartnerMapper mapper = mock(PartnerMapper.class); |
| | | ReflectionTestUtils.setField(service, "baseMapper", mapper); |
| | | when(mapper.getDefaultPartnerRoleId("场地方")).thenReturn(null); |
| | | when(mapper.getDefaultPartnerRoleId("合作商")).thenReturn(7); |
| | | |
| | | assertEquals(7, service.resolveDefaultRoleId(2)); |
| | | verify(mapper).getDefaultPartnerRoleId("场地方"); |
| | | verify(mapper).getDefaultPartnerRoleId("合作商"); |
| | | } |
| | | |
| | | @Test |
| | | void serviceProviderUsesDedicatedRoleWhenItExists() { |
| | | PartnerServiceImpl service = new PartnerServiceImpl(); |
| | | PartnerMapper mapper = mock(PartnerMapper.class); |
| | | ReflectionTestUtils.setField(service, "baseMapper", mapper); |
| | | when(mapper.getDefaultPartnerRoleId("服务商")).thenReturn(9); |
| | | |
| | | assertEquals(9, service.resolveDefaultRoleId(3)); |
| | | verify(mapper).getDefaultPartnerRoleId("服务商"); |
| | | verify(mapper, never()).getDefaultPartnerRoleId("合作商"); |
| | | } |
| | | |
| | | @Test |
| | | void clearingShareRatiosStillProducesExplicitDatabaseUpdate() { |
| | | PartnerServiceImpl service = new PartnerServiceImpl(); |
| | | PartnerMapper mapper = mock(PartnerMapper.class); |
| | | ReflectionTestUtils.setField(service, "baseMapper", mapper); |
| | | Partner partner = new Partner(); |
| | | partner.setId(8); |
| | | partner.setElectricityShareRatio(null); |
| | | partner.setServiceShareRatio(null); |
| | | |
| | | service.updateShareRatios(partner); |
| | | |
| | | ArgumentCaptor<Wrapper<Partner>> wrapperCaptor = ArgumentCaptor.forClass(Wrapper.class); |
| | | verify(mapper).update(isNull(), wrapperCaptor.capture()); |
| | | UpdateWrapper<Partner> wrapper = (UpdateWrapper<Partner>) wrapperCaptor.getValue(); |
| | | assertTrue(wrapper.getSqlSet().contains("electricity_share_ratio")); |
| | | assertTrue(wrapper.getSqlSet().contains("service_share_ratio")); |
| | | } |
| | | } |