Files
frontend-miniapp/tests/unit/PoiSeriesGrouping.spec.ts
lyf 9ea1bfab71
Some checks failed
CI / verify (push) Has been cancelled
同步 sgs-frontend-mobile 源码
2026-07-27 11:26:01 +08:00

34 lines
1.1 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { resolvePoiSeriesGroup } from '@/domain/poiSeriesGrouping'
const ticketMachine = (floorId: string, name: string) => resolvePoiSeriesGroup({
floorId,
name,
category: 'basic_service_facility',
iconType: 'ticket_office'
})
describe('POI numbered series grouping', () => {
it('groups the four numbered ticket machines on the same floor', () => {
const groups = [1, 2, 3, 4].map((index) => (
ticketMachine('L1', `L1_售票机_0${index}`)
))
expect(groups.every(Boolean)).toBe(true)
expect(new Set(groups.map((group) => group?.groupKey)).size).toBe(1)
expect(groups[0]).toMatchObject({ displayName: '售票机' })
})
it('does not group ticket locations without an explicit numbered suffix', () => {
expect(ticketMachine('L1', '售票机')).toBeNull()
expect(ticketMachine('L1', '展厅售票点')).toBeNull()
})
it('keeps the same numbered series on different floors separate', () => {
const l1 = ticketMachine('L1', 'L1_售票机_01')
const l2 = ticketMachine('L2', 'L2_售票机_01')
expect(l1?.groupKey).not.toBe(l2?.groupKey)
})
})