29 lines
1.5 KiB
TypeScript
29 lines
1.5 KiB
TypeScript
import { readFileSync } from 'node:fs'
|
|||
|
|
import { resolve } from 'node:path'
|
||
|
|
import { describe, expect, it } from 'vitest'
|
||
|
|
|
||
|
|
describe('FinanceCustomerAccountsView delivery', () => {
|
||
|
|
const page = readFileSync(resolve(process.cwd(), 'src/modules/finance/pages/FinanceCustomerAccountsView.vue'), 'utf8')
|
||
|
|
const routes = readFileSync(resolve(process.cwd(), 'src/modules/finance/routes.ts'), 'utf8')
|
||
|
|
|
||
|
|
it('keeps the account detail as a full page with traceable ledger controls', () => {
|
||
|
|
expect(page).toContain('v-else-if="!detailOpen"')
|
||
|
|
expect(page).toContain('返回客户账户')
|
||
|
|
expect(page).not.toContain('<AppDrawer')
|
||
|
|
for (const marker of ['流水类型', '发生日期', '导出流水', 'listFinanceAccountLedger']) expect(page).toContain(marker)
|
||
|
|
})
|
||
|
|
|
||
|
|
it('shows only derived CNY summaries and no wallet actions', () => {
|
||
|
|
for (const marker of ['未收', '待出账', '本期已收', '应付', 'CNY']) expect(page).toContain(marker)
|
||
|
|
for (const forbidden of ['手动充值', '钱包', '外币', '发票', '利润']) expect(page).not.toContain(forbidden)
|
||
|
|
})
|
||
|
|
|
||
|
|
it('supports a refreshable customer detail route without inventing an API parameter', () => {
|
||
|
|
expect(routes).toContain("path: 'finance/customer-accounts/:customerId'")
|
||
|
|
expect(page).toContain("name: 'finance-customer-account-detail'")
|
||
|
|
expect(page).toContain('restoreAccountDetail(customerId)')
|
||
|
|
expect(page).toContain("listFinanceAccounts({ page: currentPage, size: 200 })")
|
||
|
|
expect(page).not.toContain('listFinanceAccounts({ customerId')
|
||
|
|
})
|
||
|
|
})
|