20260904173136

This commit is contained in:
oneao committed 2026-09-04 17:31:36 +08:00
1 parent 0928437c67
commit 4e167df0f0
40 files changed
+3471 -2314

No files matched your search

@@ -1,6 +1,6 @@
/**
* 回归用例:菜单管理 - 新建节点(未保存)→ 切到旧节点 → 切回新节点。
* 曾因 loadMenuConfig 用临时 id 查库返回空 → drafts = { menu: null }(真值)→
* 曾因 loadMenuConfig 用临时 id 查库返回空 → maindata 为 null →
* 模板以 null menu 渲染 → render 抛错 → 在布局 <Transition> 下崩溃
* (表现为 "Component inside <Transition> renders non-element root node" +
* "Cannot set properties of null (setting '__vnode')")。
@@ -55,12 +55,12 @@ describe('菜单管理:未保存新节点来回切换', () => {
await wrapper.vm.addMenu(null, 'page')
await flushPromises()
expect(String(wrapper.vm.menuSelectedId)).toBe('9001')
expect(wrapper.vm.drafts?.menu?.b_menu_type).toBe('page')
expect(wrapper.vm.maindata?.b_menu_type).toBe('page')
// 2. 切到旧节点(已保存)
wrapper.vm.menuSelectedId = '1'
await flushPromises()
expect(wrapper.vm.drafts?.menu?.b_id).toBe('1')
expect(wrapper.vm.maindata?.b_id).toBe('1')
// 3. 切回新节点:不应对临时 id 发起查库请求
loadDataApi.mockClear()
@@ -69,9 +69,9 @@ describe('菜单管理:未保存新节点来回切换', () => {
await flushPromises()
expect(loadDataApi).not.toHaveBeenCalled()
expect(wrapper.vm.drafts?.menu).not.toBeNull()
expect(String(wrapper.vm.drafts?.menu?.b_id)).toBe('9001')
expect(wrapper.vm.drafts?.menu?.b_menu_type).toBe('page')
expect(wrapper.vm.maindata).not.toBeNull()
expect(String(wrapper.vm.maindata?.b_id)).toBe('9001')
expect(wrapper.vm.maindata?.b_menu_type).toBe('page')
expect(String(wrapper.vm.loadedMenuId)).toBe('9001')
})
})