import { describe, expect, it } from 'vitest' import { resolveTabTitle } from '@/layouts/tabTitle' const route = (meta, extra = {}) => ({ meta, ...extra }) describe('resolveTabTitle', () => { it('appends a query identifier declared by the route', () => { expect( resolveTabTitle(route({ title: '流程设计', tabTitle: 'id' }, { query: { id: 'expense_approval' } })), ).toBe('流程设计 expense_approval') }) it('supports a different query field such as ywid', () => { expect( resolveTabTitle( route( { title: '业务详情', tabTitle: { key: 'ywid', source: 'query' } }, { query: { ywid: 'YW-001' } }, ), ), ).toBe('业务详情 YW-001') }) it('reads route params when configured or when query has no value', () => { expect( resolveTabTitle(route({ title: '详情', tabTitle: { key: 'id', source: 'params' } }, { params: { id: '42' } })), ).toBe('详情 42') expect( resolveTabTitle(route({ title: '详情', tabTitle: 'id' }, { params: { id: '42' }, query: {} })), ).toBe('详情 42') }) it('keeps the base title when the configured value is missing', () => { expect(resolveTabTitle(route({ title: '流程设计', tabTitle: 'id' }, { query: {} }))).toBe('流程设计') }) })