同步 sgs-frontend-mobile 源码
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
lyf
2026-07-27 11:26:01 +08:00
parent 575dca430f
commit 9ea1bfab71
181 changed files with 24395 additions and 5212 deletions

View File

@@ -0,0 +1,41 @@
import { describe, expect, it } from 'vitest'
import {
getPoiCategoryIconHref,
getPoiIconHref,
resolvePoiIconKey
} from '@/domain/poiCategories'
describe('shared POI icon registry', () => {
it('uses the same symbol content for map POIs and search categories', () => {
expect(resolvePoiIconKey({
primaryCategory: 'business_poi',
iconType: 'ticket_office',
name: '售票机'
})).toBe('ticket-office')
expect(getPoiIconHref('ticket-office')).toBe(getPoiCategoryIconHref('ticket-office'))
})
it.each([
['entrance', '停车场入口'],
['parking', '停车场'],
['place', '室外下沉广场'],
['road', '红花潭路'],
['transport', '大巴区']
] as const)('resolves the %s exterior icon', (expected, name) => {
expect(resolvePoiIconKey({ iconType: expected, name })).toBe(expected)
expect(getPoiIconHref(expected)).toContain(`#poi-${expected}`)
})
it('falls back to a neutral POI symbol instead of borrowing a wrong category icon', () => {
expect(resolvePoiIconKey({ primaryCategory: 'unknown', name: '未知地点' })).toBe('poi')
expect(getPoiIconHref('poi')).toContain('#poi-generic')
})
it.each(['stairs', 'stair', '楼梯'])('resolves %s to the shared stairs symbol', (iconType) => {
expect(resolvePoiIconKey({
primaryCategory: 'transport_circulation',
iconType
})).toBe('stairs')
expect(getPoiIconHref('stairs')).toContain('#poi-stairs')
})
})