刘光辉
118 分钟以前 06f314545ac3514d7ce28939920866ae8188d31c
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
package jnpf.dmsMapper;
 
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.session.Configuration;
import org.junit.jupiter.api.Test;
 
import java.util.HashMap;
import java.util.Map;
 
import static org.junit.jupiter.api.Assertions.assertTrue;
 
class DmsPrintOperationLogMapperSqlTest {
 
    @Test
    void parentNameRequiresClosestMarkedAncestorOfEntryMenu() {
        Configuration configuration = new Configuration();
        configuration.addMapper(DmsPrintOperationLogMapper.class);
        MappedStatement statement = configuration.getMappedStatement(
                DmsPrintOperationLogMapper.class.getName() + ".selectParentBizModuleName");
        Map<String, Object> parameters = new HashMap<>();
        parameters.put("menuId", "menu-1");
        parameters.put("parentId", "parent-1");
        String sql = statement.getBoundSql(parameters).getSql().replaceAll("\\s+", " ");
 
        assertTrue(sql.contains("WITH RECURSIVE ancestors"));
        assertTrue(sql.contains("parent.f_id = child.f_parent_id"));
        assertTrue(sql.contains("parent.f_system_id = child.f_system_id"));
        assertTrue(sql.contains("parent.f_category = child.f_category"));
        assertTrue(sql.contains("f_type = 1 AND f_is_parent_biz_module = 1"));
        assertTrue(sql.contains("f_id = ? AND depth = (SELECT MIN(depth)"));
    }
}