package jnpf.elnMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Select; import org.junit.Test; import java.lang.reflect.Method; import java.util.Locale; import static org.junit.Assert.assertTrue; public class ElnDianziJiluMubanMapperTest { @Test public void querySelectsLatestAvailableTemplateWithinTenant() throws Exception { Method method = ElnDianziJiluMubanMapper.class.getMethod( "selectLatestMubanFiles", IPage.class, String.class, String.class); Select select = method.getAnnotation(Select.class); assertTrue("查询方法必须声明 @Select", select != null); String sql = String.join(" ", select.value()).toLowerCase(Locale.ROOT) .replaceAll("\\s+", " "); assertTrue(sql.contains("from eln_dianzi_jilu_muban_guanli")); assertTrue(sql.contains("f_tenant_id = #{tenantid}")); assertTrue(sql.contains("jianyan_xiangmu = #{jianyanxiangmu}")); assertTrue(sql.contains("coalesce(f_delete_mark, 0) = 0")); assertTrue(sql.contains("biz_enabled = 'enabled'")); assertTrue(sql.contains("shengxiao_riqi <= current_timestamp")); assertTrue(sql.contains("trim(muban_file) <> ''")); assertTrue(sql.contains("order by shengxiao_riqi desc")); assertTrue(sql.contains("chuangjian_shijian desc")); assertTrue(sql.contains("f_id desc")); assertTrue("分页应交给 MyBatis-Plus 根据数据库方言生成", !sql.contains("limit")); } }