刘光辉
昨天 bb638871a7fb692d80f1b7a758f991dc0879002c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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"));
    }
}