proposalView.test.js
1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { describe, expect, it } from 'vitest'
import { canViewProposal, getProposalFiles } from '../proposalView'
describe('proposalView', () => {
it('处理中且有 proposal_files 时应该允许查看', () => {
expect(canViewProposal({
order_status: '5',
proposal_files: [{ file_name: '计划书.pdf', file_url: 'https://example.com/plan.pdf' }]
})).toBe(true)
})
it('处理中但没有文件时不应该允许查看', () => {
expect(canViewProposal({
order_status: '5',
proposal_files: []
})).toBe(false)
})
it('待处理即使有文件时也不应该允许查看', () => {
expect(canViewProposal({
order_status: '3',
proposal_files: [{ file_name: '计划书.pdf', file_url: 'https://example.com/plan.pdf' }]
})).toBe(false)
})
it('驳回且有文件时应该允许查看', () => {
expect(canViewProposal({
order_status: '11',
proposal_files: [{ file_name: '计划书.pdf', file_url: 'https://example.com/plan.pdf' }]
})).toBe(true)
})
it('应该兼容 proposalFiles 字段', () => {
const files = [{ file_name: '计划书.pdf', file_url: 'https://example.com/plan.pdf' }]
expect(getProposalFiles({ proposalFiles: files })).toEqual(files)
expect(canViewProposal({
status: 'processing',
proposalFiles: files
})).toBe(true)
})
})