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'], ])('uses the full detail workspace and a readable two-field information grid for %s', (_label, source, routeClass) => { expect(source).toContain(routeClass) expect(source).toContain('@media (min-width: 1920px)') expect(source).toContain('.finance-settlement-route :deep(.settlement-detail-page) { width: 100%; max-width: none; }') expect(source).toContain('grid-template-columns: minmax(110px, .35fr) minmax(0, 1fr) minmax(110px, .35fr) minmax(0, 1fr)') expect(source).toContain('> tbody > tr) { display: contents; }') }) })