From 76f9639e3c0e14cc6a4e05d3a3212799ea1c48fb Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期六, 29 八月 2026 09:31:40 +0800
Subject: [PATCH] 实现 Ticket05 共享字段与电池组持久化
---
ruoyi-admin/src/test/java/com/ruoyi/system/service/impl/TBatteryGroupServiceImplTest.java | 32 ++++++++++++++++++++++++++++++--
1 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/ruoyi-admin/src/test/java/com/ruoyi/system/service/impl/TBatteryGroupServiceImplTest.java b/ruoyi-admin/src/test/java/com/ruoyi/system/service/impl/TBatteryGroupServiceImplTest.java
index 88a70bc..d47148e 100644
--- a/ruoyi-admin/src/test/java/com/ruoyi/system/service/impl/TBatteryGroupServiceImplTest.java
+++ b/ruoyi-admin/src/test/java/com/ruoyi/system/service/impl/TBatteryGroupServiceImplTest.java
@@ -71,7 +71,8 @@
group.setTemplateId(5L);
TBatteryGroupRelationField relation = new TBatteryGroupRelationField();
relation.setBatteryGroupFieldId(7L);
- relation.setFieldValue("72Ah");
+ relation.setFieldValue("72");
+ relation.setFieldType("number");
group.setTemplateFieldRelations(Collections.singletonList(relation));
when(batteryGroupMapper.selectBatteryGroupById(12L)).thenReturn(current);
@@ -88,7 +89,34 @@
verify(batteryGroupMapper).updateBatteryGroup(group);
ArgumentCaptor<List<TBatteryGroupRelationField>> captor = ArgumentCaptor.forClass(List.class);
verify(batteryGroupMapper).batchInsertRelationFields(captor.capture());
- assertEquals("72Ah", captor.getValue().get(0).getFieldValue());
+ assertEquals("72", captor.getValue().get(0).getFieldValue());
assertEquals("1", group.getStatus());
}
+
+ @Test
+ void insertShouldRejectInvalidTypedFieldValue()
+ {
+ TBatteryGroup group = new TBatteryGroup();
+ group.setGroupName("样品组");
+ group.setModel("M-01");
+ group.setBatteryNos(Collections.singletonList("BAT-01"));
+ group.setTemplateId(5L);
+ TBatteryGroupRelationField relation = new TBatteryGroupRelationField();
+ relation.setBatteryGroupFieldId(7L);
+ relation.setFieldValue("72Ah");
+ group.setTemplateFieldRelations(Collections.singletonList(relation));
+ TBatteryGroupRelationField validField = new TBatteryGroupRelationField();
+ validField.setBatteryGroupFieldId(7L);
+ validField.setFieldType("number");
+ when(batteryGroupMapper.selectBatteryGroupByName("样品组")).thenReturn(null);
+ when(batteryGroupMapper.selectBatteryByNo("BAT-01", null)).thenReturn(null);
+ when(batteryGroupMapper.selectTemplate(5L)).thenReturn(new TBatteryGroup());
+ when(batteryGroupMapper.selectTemplateFieldIds(5L)).thenReturn(Collections.singletonList(7L));
+ when(batteryGroupMapper.selectValidTemplateFields(5L, Collections.singletonList(7L)))
+ .thenReturn(Collections.singletonList(validField));
+
+ org.junit.jupiter.api.Assertions.assertThrows(com.ruoyi.common.exception.ServiceException.class,
+ () -> batteryGroupService.insertBatteryGroup(group));
+ verify(batteryGroupMapper, never()).insertBatteryGroup(any(TBatteryGroup.class));
+ }
}
--
Gitblit v1.7.1