32 lines
1.3 KiB
TypeScript
32 lines
1.3 KiB
TypeScript
import assert from 'node:assert/strict'
|
|
import test from 'node:test'
|
|
import { hasAcceptanceEvidence } from './work-order-acceptance-evidence.js'
|
|
|
|
const VIDEO = { url: 'https://example.com/worker-acceptance-video/a.mp4', durationSeconds: 12 }
|
|
|
|
test('验收证据:只有图片算有证据', () => {
|
|
assert.equal(hasAcceptanceEvidence({ imageUrls: ['https://example.com/a.jpg'] }), true)
|
|
})
|
|
|
|
test('验收证据:只有视频也算有证据(视频视同图片)', () => {
|
|
assert.equal(hasAcceptanceEvidence({ imageUrls: [], video: VIDEO }), true)
|
|
})
|
|
|
|
test('验收证据:图片与视频都有算有证据', () => {
|
|
assert.equal(
|
|
hasAcceptanceEvidence({ imageUrls: ['https://example.com/a.jpg'], video: VIDEO }),
|
|
true,
|
|
)
|
|
})
|
|
|
|
test('验收证据:图片视频都没有则没有证据', () => {
|
|
assert.equal(hasAcceptanceEvidence({ imageUrls: [], video: null }), false)
|
|
assert.equal(hasAcceptanceEvidence({}), false)
|
|
assert.equal(hasAcceptanceEvidence({ imageUrls: undefined, video: undefined }), false)
|
|
})
|
|
|
|
test('验收证据:兼容非数组的 imageUrls(脏数据按无图片处理)', () => {
|
|
assert.equal(hasAcceptanceEvidence({ imageUrls: null, video: VIDEO }), true)
|
|
assert.equal(hasAcceptanceEvidence({ imageUrls: null, video: null }), false)
|
|
})
|