✅ 补充审核详情驳回原因与车辆查看菜单能力判定测试

This commit is contained in:
2026-10-26 10:49:09 +08:00
parent aac08bcbaa
commit 0ebba9d6b7
@@ -38,6 +38,7 @@ import static org.mockito.Mockito.when;
import static org.springblade.transport.support.CertAuditPermissions.DRIVER_AUDIT_MENU;
import static org.springblade.transport.support.CertAuditPermissions.DRIVER_VIEW_MENU;
import static org.springblade.transport.support.CertAuditPermissions.VEHICLE_AUDIT_MENU;
import static org.springblade.transport.support.CertAuditPermissions.VEHICLE_VIEW_MENU;
/**
* 管理端认证审核测试。
@@ -357,6 +358,18 @@ class CertAuditServiceImplTest {
assertNull(detail.getEffectiveRecordId());
}
@Test
@DisplayName("审核详情:驳回原因回填,供详情页直接展示")
void detailReturnsRejectReason() {
TransportCertRecord record = vehicleRecord(TransportCertRecord.STATUS_REJECTED);
record.setSnapshotJson("{\"vin\":\"NEW\"}");
record.setRejectReason("照片不清晰");
when(certRecordService.getById(RECORD_ID)).thenReturn(record);
when(transportVehicleService.getById(VEHICLE_ID)).thenReturn(vehicle(null));
assertEquals("照片不清晰", service.detail(RECORD_ID).getRejectReason());
}
// ------------------------------------------------------------ 审核能力
@Test
@@ -395,6 +408,29 @@ class CertAuditServiceImplTest {
assertFalse(capability.getCanAudit());
}
@Test
@DisplayName("能力判定:只有车辆查看菜单时也能查看列表与详情,但审核按钮禁用")
void capabilityVehicleViewWithoutAudit() {
when(permissionHandler.hasMenu(VEHICLE_VIEW_MENU)).thenReturn(true);
CertAuditCapabilityVO capability = service.capability();
assertTrue(capability.getCanView());
assertFalse(capability.getCanAudit(), "只有查看权限时不得允许审核");
}
@Test
@DisplayName("能力判定:查看与审核菜单分属不同对象时两项都放行")
void capabilityMixedMenus() {
when(permissionHandler.hasMenu(DRIVER_VIEW_MENU)).thenReturn(true);
when(permissionHandler.hasMenu(VEHICLE_AUDIT_MENU)).thenReturn(true);
CertAuditCapabilityVO capability = service.capability();
assertTrue(capability.getCanView());
assertTrue(capability.getCanAudit());
}
// -------------------------------------------- 驳回原因的展示缓存
@Test