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/TBatteryGroupFieldServiceImplTest.java |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/ruoyi-admin/src/test/java/com/ruoyi/system/service/impl/TBatteryGroupFieldServiceImplTest.java b/ruoyi-admin/src/test/java/com/ruoyi/system/service/impl/TBatteryGroupFieldServiceImplTest.java
index 58e5394..167d687 100644
--- a/ruoyi-admin/src/test/java/com/ruoyi/system/service/impl/TBatteryGroupFieldServiceImplTest.java
+++ b/ruoyi-admin/src/test/java/com/ruoyi/system/service/impl/TBatteryGroupFieldServiceImplTest.java
@@ -187,6 +187,19 @@
         verify(batteryGroupFieldMapper).deleteBatteryGroupFieldById(2L, "admin");
     }
 
+    @Test
+    void deleteByIdsShouldRejectReferencedField()
+    {
+        when(batteryGroupFieldMapper.selectBatteryGroupFieldById(1L)).thenReturn(field);
+        when(batteryGroupFieldMapper.countFieldReferences(1L)).thenReturn(1);
+
+        ServiceException exception = assertThrows(ServiceException.class,
+                () -> batteryGroupFieldService.deleteBatteryGroupFieldByIds(new Long[] { 1L }, "admin"));
+
+        assertEquals("字段已被模板或电池组引用,不能删除", exception.getMessage());
+        verify(batteryGroupFieldMapper, never()).deleteBatteryGroupFieldById(anyLong(), any(String.class));
+    }
+
     private TBatteryGroupField statusCommand(String status)
     {
         TBatteryGroupField command = new TBatteryGroupField();

--
Gitblit v1.7.1