package com.ruoyi.config; import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.InputStream; import java.nio.charset.StandardCharsets; import org.junit.jupiter.api.Test; /** 电池组写入与测试选项查询的 Mapper 契约。 */ class BatterySelectionMapperContractTest { @Test void batteryGroupBatteriesFeedEnabledTestOptions() { String groupMapper = resource("mapper/system/TBatteryGroupMapper.xml"); String testMapper = resource("mapper/system/TTestMapper.xml"); assertTrue(groupMapper.contains("insert into t_battery_group_battery")); assertTrue(testMapper.contains("id=\"selectEnabledBatteryOptions\"")); assertTrue(testMapper.contains("from t_battery_group_battery battery")); assertTrue(testMapper.contains("battery_group.status = '0'")); assertTrue(testMapper.contains("battery.battery_no batteryNo")); assertTrue(groupMapper.contains("t.test_status not in ('COMPLETED', 'COMPLETION_PENDING', 'TERMINATED')")); } private static String resource(String path) { try (InputStream stream = BatterySelectionMapperContractTest.class.getClassLoader().getResourceAsStream(path)) { if (stream == null) throw new AssertionError("缺少资源 " + path); return new String(stream.readAllBytes(), StandardCharsets.UTF_8); } catch (Exception exception) { throw new AssertionError("无法读取资源 " + path, exception); } } }