@@ -88,7 +88,7 @@ afterEach(() => {
|
||||
})
|
||||
|
||||
describe('POI 搜索面板实际渲染与状态闭环', () => {
|
||||
it('首页显示六类统一入口,搜索页显示完整十一类入口', async () => {
|
||||
it('首页收缩和展开复用同一份十项快捷入口,搜索页保留完整分类', async () => {
|
||||
const homeWrapper = mount(PoiSearchPanel, {
|
||||
props: {
|
||||
variant: 'home',
|
||||
@@ -99,19 +99,30 @@ describe('POI 搜索面板实际渲染与状态闭环', () => {
|
||||
await flushMountedSearch()
|
||||
|
||||
const homeCategories = homeWrapper.findAll('.home-category-chip')
|
||||
expect(homeCategories).toHaveLength(6)
|
||||
expect(homeCategories).toHaveLength(5)
|
||||
expect(homeCategories.map((item) => item.text())).toEqual([
|
||||
'展厅', '卫生间', '母婴室', '电梯', '楼梯', '扶梯'
|
||||
'行程', '展览', '影院', '洗手间', '餐厅'
|
||||
])
|
||||
homeCategories.forEach((item) => {
|
||||
expect(item.find('.line-icon').exists()).toBe(true)
|
||||
expect(item.find('.poi-category-icon').exists()).toBe(true)
|
||||
expect(item.find('.home-category-label').exists()).toBe(true)
|
||||
})
|
||||
|
||||
await homeWrapper.get('.search-box').trigger('tap')
|
||||
await flushMountedSearch()
|
||||
const expandedCategories = homeWrapper.findAll('.home-shortcut-grid .category-item')
|
||||
expect(expandedCategories).toHaveLength(10)
|
||||
expect(expandedCategories.map((item) => item.text())).toEqual([
|
||||
'行程', '展览', '影院', '洗手间', '餐厅',
|
||||
'售票处', '母婴室', '服务中心', '电梯', '扶梯'
|
||||
])
|
||||
expect(expandedCategories.slice(0, 5).map((item) => item.text()))
|
||||
.toEqual(homeCategories.map((item) => item.text()))
|
||||
homeWrapper.unmount()
|
||||
|
||||
const pageWrapper = mount(PoiSearchPanel, { props: { variant: 'page' } })
|
||||
await flushMountedSearch()
|
||||
expect(pageWrapper.findAll('.category-item')).toHaveLength(11)
|
||||
expect(pageWrapper.findAll('.category-item')).toHaveLength(12)
|
||||
expect(pageWrapper.text()).toContain('影院')
|
||||
expect(pageWrapper.text()).toContain('服务中心')
|
||||
expect(pageWrapper.text()).toContain('文创')
|
||||
@@ -189,6 +200,8 @@ describe('POI 搜索面板实际渲染与状态闭环', () => {
|
||||
|
||||
await wrapper.get('[data-testid="poi-category-cancel"]').trigger('tap')
|
||||
await flushMountedSearch()
|
||||
await wrapper.get('.search-box').trigger('tap')
|
||||
await flushMountedSearch()
|
||||
await wrapper.get('[data-testid="poi-category-nursing-room"]').trigger('tap')
|
||||
await flushMountedSearch()
|
||||
expect(wrapper.find('[data-testid="poi-result-nursing-2"]').exists()).toBe(true)
|
||||
@@ -197,7 +210,7 @@ describe('POI 搜索面板实际渲染与状态闭环', () => {
|
||||
await flushMountedSearch()
|
||||
expect(wrapper.get('[data-testid="poi-empty"]').text()).toContain('当前楼层暂无匹配点位')
|
||||
expect((wrapper.emitted('results-change') || []).at(-1)?.[0]).toMatchObject({
|
||||
active: true,
|
||||
active: false,
|
||||
visiblePoiIds: []
|
||||
})
|
||||
wrapper.unmount()
|
||||
@@ -221,7 +234,7 @@ describe('POI 搜索面板实际渲染与状态闭环', () => {
|
||||
const query = new URLSearchParams(url.split('?')[1])
|
||||
expect(query.get('source')).toBe('search')
|
||||
expect(query.get('searchOrigin')).toBe('page')
|
||||
expect(query.get('searchKeyword')).toBe('卫生间')
|
||||
expect(query.get('searchKeyword')).toBe('洗手间')
|
||||
expect(query.get('searchCategoryId')).toBe('restroom')
|
||||
expect(query.get('searchFloorId')).toBe('floor-2')
|
||||
expect(query.get('resultCount')).toBe('3')
|
||||
|
||||
Reference in New Issue
Block a user