| New file |
| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import static org.junit.jupiter.api.Assertions.assertEquals; |
| | | import static org.mockito.ArgumentMatchers.any; |
| | | import static org.mockito.ArgumentMatchers.anyList; |
| | | import static org.mockito.Mockito.doAnswer; |
| | | import static org.mockito.Mockito.never; |
| | | import static org.mockito.Mockito.verify; |
| | | import static org.mockito.Mockito.when; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import org.junit.jupiter.api.Test; |
| | | import org.junit.jupiter.api.extension.ExtendWith; |
| | | import org.mockito.ArgumentCaptor; |
| | | import org.mockito.InjectMocks; |
| | | import org.mockito.Mock; |
| | | import org.mockito.junit.jupiter.MockitoExtension; |
| | | import com.ruoyi.system.domain.TBatteryGroup; |
| | | import com.ruoyi.system.domain.TBatteryGroupBattery; |
| | | import com.ruoyi.system.mapper.TBatteryGroupMapper; |
| | | |
| | | /** 电池组 Service 单元测试。 */ |
| | | @ExtendWith(MockitoExtension.class) |
| | | class TBatteryGroupServiceImplTest |
| | | { |
| | | @Mock |
| | | private TBatteryGroupMapper batteryGroupMapper; |
| | | |
| | | @InjectMocks |
| | | private TBatteryGroupServiceImpl batteryGroupService; |
| | | |
| | | @Test |
| | | void insertShouldPersistBatteriesWithoutTemplate() |
| | | { |
| | | TBatteryGroup group = new TBatteryGroup(); |
| | | group.setGroupName(" 样品组 "); |
| | | group.setModel("M-01"); |
| | | group.setBatteryNos(Arrays.asList(" BAT-01 ", "BAT-02")); |
| | | group.setCreateBy("admin"); |
| | | when(batteryGroupMapper.selectBatteryGroupByName("样品组")).thenReturn(null); |
| | | when(batteryGroupMapper.selectBatteryByNo(any(String.class), any())).thenReturn(null); |
| | | doAnswer(invocation -> { |
| | | invocation.<TBatteryGroup>getArgument(0).setGroupId(12L); |
| | | return 1; |
| | | }).when(batteryGroupMapper).insertBatteryGroup(any(TBatteryGroup.class)); |
| | | |
| | | assertEquals(1, batteryGroupService.insertBatteryGroup(group)); |
| | | |
| | | ArgumentCaptor<List<TBatteryGroupBattery>> captor = ArgumentCaptor.forClass(List.class); |
| | | verify(batteryGroupMapper).batchInsertBatteries(captor.capture()); |
| | | assertEquals(Arrays.asList("BAT-01", "BAT-02"), captor.getValue().stream() |
| | | .map(TBatteryGroupBattery::getBatteryNo).toList()); |
| | | verify(batteryGroupMapper, never()).batchInsertRelationFields(anyList()); |
| | | } |
| | | } |