修复导览点位可见性与构建门禁
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import { toMuseumPoi } from '@/data/adapters/navAssetsAdapter'
|
||||
import { resolvePoiCategory } from '@/domain/poiCategories'
|
||||
import { isVisitorSearchPoi, resolvePoiCategory } from '@/domain/poiCategories'
|
||||
import type { StaticNavPoiPayload } from '@/data/providers/staticNavAssetsProvider'
|
||||
|
||||
const createStaticPoi = (name: string, iconType = 'elevator'): StaticNavPoiPayload => ({
|
||||
@@ -52,10 +52,23 @@ describe('static nav POI adapter', () => {
|
||||
const serviceDesk = toMuseumPoi(createStaticPoi('服务台', 'restroom'))
|
||||
const locker = toMuseumPoi(createStaticPoi('存包处', 'restroom'))
|
||||
const teaRoom = toMuseumPoi(createStaticPoi('茶水间', 'restroom'))
|
||||
const vipReception = toMuseumPoi(createStaticPoi('贵宾接待区', 'restroom'))
|
||||
const vipRestroom = toMuseumPoi(createStaticPoi('贵宾卫生间', 'restroom'))
|
||||
|
||||
expect(resolvePoiCategory(serviceDesk)?.id).toBe('service-center')
|
||||
expect(resolvePoiCategory(locker)?.id).toBe('service-center')
|
||||
expect(resolvePoiCategory(teaRoom)).toBeNull()
|
||||
expect(teaRoom.visitorVisible).toBe(false)
|
||||
expect(vipReception.visitorVisible).toBe(false)
|
||||
expect(vipRestroom.visitorVisible).toBe(false)
|
||||
expect(toMuseumPoi({
|
||||
...createStaticPoi('茶水间', 'restroom'),
|
||||
visitorVisible: true
|
||||
}).visitorVisible).toBe(true)
|
||||
expect(toMuseumPoi({
|
||||
...createStaticPoi('贵宾卫生间', 'restroom'),
|
||||
visitorVisible: true
|
||||
}).visitorVisible).toBe(true)
|
||||
})
|
||||
|
||||
it('splits generic touring fallback records into their visitor-facing semantic kinds', () => {
|
||||
@@ -73,4 +86,19 @@ describe('static nav POI adapter', () => {
|
||||
})
|
||||
expect(resolvePoiCategory(ticketOffice)?.id).toBe('ticket-office')
|
||||
})
|
||||
|
||||
it('keeps a hall visible when its secondary category describes an entrance', () => {
|
||||
const hall = toMuseumPoi(createTouringPoi('地球展厅'))
|
||||
hall.kind = 'hall'
|
||||
hall.categories = [
|
||||
hall.primaryCategory,
|
||||
{
|
||||
id: 'exhibition_hall_entrance',
|
||||
label: '展厅出入口',
|
||||
iconType: 'hall_entrance'
|
||||
}
|
||||
]
|
||||
|
||||
expect(isVisitorSearchPoi(hall)).toBe(true)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user