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)"));
|
}
|
}
|