This commit is contained in:
2026-08-18 11:33:01 +08:00
parent 834382e04b
commit 114d5bacc7
34 changed files with 522 additions and 570 deletions
@@ -13,6 +13,22 @@ describe('Finance formal settlement desktop presentation', () => {
expect(source).not.toContain('<template #toolbar-actions>')
})
it('renders up to three row actions as compact icon buttons without wrapping', () => {
expect(source.match(/key: 'actions', label: '操作', width: 250/g)).toHaveLength(2)
expect(source).toContain('class="settlement-row-actions"')
expect(source).toContain('<el-button size="small" plain type="primary" @click="openDetail(row)"><Eye :size="15" />详情</el-button>')
expect(source).toContain('size="small" type="primary" :loading="receiptBusy" @click="openReceipt(row)"')
expect(source).toContain('size="small" type="primary" @click="openPayment(row)"')
expect(source).toContain('size="small" plain type="danger" :loading="actionBusy"')
expect(source).toContain('size="small" plain type="primary" :loading="actionBusy"')
expect(source).toContain('.settlement-row-actions { display: flex; align-items: center; flex-wrap: nowrap; gap: 6px; white-space: nowrap; }')
expect(source).not.toContain('<el-button link')
expect(source).not.toContain('MoreHorizontal')
expect(source).toContain('v-if="canReceive && [\'ISSUED\',\'PARTIALLY_PAID\'].includes(String(row.status))"')
expect(source).toContain('v-if="canPay && [\'ISSUED\',\'PARTIALLY_PAID\'].includes(String(row.status))"')
expect(source).toContain('v-if="canVoid && row.status === \'ISSUED\'"')
})
it('uses a continuous detail layout with locally scrollable wide tables', () => {
expect(source).toContain('<DetailPageLayout v-else-if="detailMode" class="settlement-detail-page surface-panel"')
expect(source).toContain('class="settlement-detail-content"')