37 lines
1.3 KiB
JavaScript
37 lines
1.3 KiB
JavaScript
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('流程设计')
|
|
})
|
|
})
|