feat: 优化剧集连续阅读布局与目录滚动联动
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { computed, ref } from 'vue'
|
||||
import { computed, nextTick, ref } from 'vue'
|
||||
import { NScrollbar } from 'naive-ui'
|
||||
import { createMemoryHistory, createRouter } from 'vue-router'
|
||||
import { flushPromises, mount, type VueWrapper } from '@vue/test-utils'
|
||||
@@ -1134,6 +1134,35 @@ describe('工作台页面交互', () => {
|
||||
expect(provided.refresh).toHaveBeenCalledOnce()
|
||||
})
|
||||
|
||||
it('切换剧本标签保留阅读容器和位置,执行记录按需展开', async () => {
|
||||
wrapper = mount(CreateDramaPage, {
|
||||
attachTo: document.body,
|
||||
global: { provide: { [projectContextKey as symbol]: context() }, stubs: { RouterLink: true } }
|
||||
})
|
||||
const reader = wrapper.get<HTMLElement>('.reader-scroll .n-scrollbar-container').element
|
||||
reader.scrollTop = 120
|
||||
expect(wrapper.find('.history-panel').exists()).toBe(false)
|
||||
await wrapper
|
||||
.findAll('.n-tabs-tab')
|
||||
.find(item => item.text() === '角色设定')!
|
||||
.trigger('click')
|
||||
expect(wrapper.get('.episode-reader').isVisible()).toBe(false)
|
||||
await wrapper
|
||||
.findAll('.n-tabs-tab')
|
||||
.find(item => item.text().includes('剧集正文'))!
|
||||
.trigger('click')
|
||||
expect(wrapper.get('.episode-reader').isVisible()).toBe(true)
|
||||
expect(wrapper.get('.reader-scroll .n-scrollbar-container').element).toBe(reader)
|
||||
expect(reader.scrollTop).toBe(120)
|
||||
button('执行记录').click()
|
||||
await nextTick()
|
||||
expect(wrapper.find('.history-panel').exists()).toBe(true)
|
||||
expect(wrapper.get('.content-with-history').classes()).not.toContain('history-hidden')
|
||||
button('收起执行记录').click()
|
||||
await nextTick()
|
||||
expect(wrapper.find('.history-panel').exists()).toBe(false)
|
||||
})
|
||||
|
||||
it('剧本文本按纯文本显示,不执行模型输出的 HTML', () => {
|
||||
wrapper = mount(CreateDramaPage, {
|
||||
attachTo: document.body,
|
||||
|
||||
Reference in New Issue
Block a user