25 lines
1.4 KiB
TypeScript
25 lines
1.4 KiB
TypeScript
import { readFileSync } from 'node:fs'
|
|
import { resolve } from 'node:path'
|
|
import { describe, expect, it } from 'vitest'
|
|
|
|
const receivableSource = readFileSync(resolve(process.cwd(), 'src/modules/finance/pages/FinanceSettlementReceivablesView.vue'), 'utf8')
|
|
const payableSource = readFileSync(resolve(process.cwd(), 'src/modules/finance/pages/FinanceSettlementPayablesView.vue'), 'utf8')
|
|
|
|
describe('Finance settlement route 1920px layout', () => {
|
|
it.each([
|
|
['应收', receivableSource, 'finance-settlement-route--receivable'],
|
|
['应付', payableSource, 'finance-settlement-route--payable'],
|
|
])('delegates the detail grid to the shared settlement page for %s', (_label, source, routeClass) => {
|
|
expect(source).toContain(routeClass)
|
|
expect(source).toContain('<FinanceFormalSettlementPage')
|
|
expect(source).toContain(':settlement-id="settlementId"')
|
|
expect(source).toContain('@open-detail="openDetail" @back="back"')
|
|
expect(source).toContain('kind="' + (routeClass.endsWith('receivable') ? 'receivable' : 'payable') + '"')
|
|
expect(source).not.toContain('<style')
|
|
const shared = readFileSync(resolve(process.cwd(), 'src/modules/finance/pages/FinanceFormalSettlementPage.vue'), 'utf8')
|
|
expect(shared).toContain(':column="4" class="settlement-detail-info density-descriptions"')
|
|
expect(shared).toContain('finance-density-detail')
|
|
expect(shared).not.toContain('width: min(100%, 1920px)')
|
|
})
|
|
})
|