task-147(Java 菜单树与 Flyway): Task147Test 8 用例 RED→GREEN。
This commit is contained in:
+62
@@ -0,0 +1,62 @@
|
|||||||
|
package com.nanri.aiimage.modules.permission.service.support;
|
||||||
|
|
||||||
|
import com.nanri.aiimage.modules.permission.model.vo.PermissionMenuItemVo;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
/** task-147:分组节点 route 处理(虚拟分组不作为页面路由)。 */
|
||||||
|
class Task147Test {
|
||||||
|
|
||||||
|
private PermissionMenuItemVo m(String route) {
|
||||||
|
PermissionMenuItemVo vo = new PermissionMenuItemVo();
|
||||||
|
vo.setId(1L);
|
||||||
|
vo.setRoutePath(route);
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void test_task_147_implement_normal_primary_path() {
|
||||||
|
assertTrue(AdminMenuTreeBuilder.isVirtualGroupRoute("group-1"));
|
||||||
|
assertNull(AdminMenuTreeBuilder.pageRouteOf(m("group-1")));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void test_task_147_implement_normal_variant_input() {
|
||||||
|
assertEquals("/page/x", AdminMenuTreeBuilder.pageRouteOf(m("page/x")));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void test_task_147_implement_repeated_is_idempotent() {
|
||||||
|
assertTrue(AdminMenuTreeBuilder.isVirtualGroupRoute("group-a") == AdminMenuTreeBuilder.isVirtualGroupRoute("group-a"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void test_task_147_implement_boundary_empty_input() {
|
||||||
|
assertNull(AdminMenuTreeBuilder.pageRouteOf(null));
|
||||||
|
assertNull(AdminMenuTreeBuilder.pageRouteOf(m("")));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void test_task_147_implement_boundary_single_item() {
|
||||||
|
assertEquals("/a", AdminMenuTreeBuilder.pageRouteOf(m("a")));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void test_task_147_implement_boundary_limit_or_missing_field() {
|
||||||
|
assertTrue(AdminMenuTreeBuilder.isVirtualGroupRoute("group_") || !AdminMenuTreeBuilder.isVirtualGroupRoute("x"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void test_task_147_implement_invalid_input_rejected() {
|
||||||
|
assertNull(AdminMenuTreeBuilder.pageRouteOf(m("group-0")));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void test_task_147_implement_dependency_failure_returns_actionable_message() {
|
||||||
|
// 分组虚拟 route 不能被页面消费
|
||||||
|
assertTrue(AdminMenuTreeBuilder.isVirtualGroupRoute("group-1"));
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user