Files
admin-web/src/modules/trucking/components/TruckAttachmentDialog.test.ts
T
2026-08-18 16:09:43 +08:00

28 lines
1.3 KiB
TypeScript

import { readFileSync } from 'node:fs'
import { resolve } from 'node:path'
import { describe, expect, it } from 'vitest'
const source = readFileSync(resolve(process.cwd(), 'src/modules/trucking/components/TruckAttachmentDialog.vue'), 'utf8')
describe('TruckAttachmentDialog interaction governance', () => {
it('shows existing attachments without exposing file-service internals', () => {
expect(source).toContain('预约附件')
expect(source).toContain('attachmentTypeLabel(item.attachmentType)')
expect(source).not.toContain('文件 ID')
expect(source).not.toContain('item.objectKey')
})
it('provides scoped upload and deletion without exposing manual file ids', () => {
expect(source).toContain("BILL_OF_LADING: '提单文件'")
expect(source).not.toContain('referenceTruckAppointmentAttachment')
expect(source).not.toContain('输入文件服务 ID')
expect(source).toContain('uploadTruckAppointmentAttachment')
expect(source).toContain('上传并关联')
expect(source).toContain('deleteTruckAppointmentAttachment')
expect(source).toContain("confirmButtonText: '确认', cancelButtonText: '取消'")
expect(source).toContain('<Trash2 :size="15" />删除')
expect(source).toContain('size="small" type="danger" plain')
expect(source).not.toContain(' text type="danger"')
})
})