优化点位搜索快捷入口
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
lyf
2026-07-13 23:12:37 +08:00
parent 93645a2640
commit 350491157a
4 changed files with 239 additions and 245 deletions

View File

@@ -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')