package cn.iocoder.yudao.module.mes.controller.admin.dv.meteringcheck; import cn.iocoder.yudao.module.mes.dal.dataobject.dv.meteringcheck.MesDvMeteringCheckDO; import cn.iocoder.yudao.module.mes.service.dv.metering.MesDvMeteringService; import cn.iocoder.yudao.module.mes.service.dv.meteringcheck.MesDvMeteringCheckService; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.*; import org.mockito.junit.jupiter.MockitoExtension; import java.util.*; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; @ExtendWith(MockitoExtension.class) class MesDvMeteringCheckManualUserControllerTest { @Mock MesDvMeteringCheckService checkService; @Mock MesDvMeteringService meteringService; @Mock AdminUserApi userApi; @InjectMocks MesDvMeteringCheckController controller; @Test void legacyRecordDisplaysExistingUserName() { var record = new MesDvMeteringCheckDO(); record.setId(9L); record.setMeteringId(1L); record.setCheckUserId(7L); when(checkService.getMeteringCheck(9L)).thenReturn(record); var user = new AdminUserRespDTO(); user.setId(7L); user.setNickname("原检测员"); when(userApi.getUserMap(Set.of(7L))).thenReturn(Map.of(7L, user)); assertEquals("原检测员", controller.getMeteringCheck(9L).getData().getCheckUserName()); } @Test void manualNameIsReturnedWithoutSystemUserLookup() { var record = new MesDvMeteringCheckDO(); record.setId(9L); record.setMeteringId(1L); record.setCheckUserName("外部检验员"); when(checkService.getMeteringCheck(9L)).thenReturn(record); var result = controller.getMeteringCheck(9L).getData(); assertEquals("外部检验员", result.getCheckUserName()); assertEquals("外部检验员", result.getCheckUserNickname()); verifyNoInteractions(userApi); } }