Files
order_site/apps/frontend/tests/camera-capture.test.ts
T

35 lines
1.2 KiB
TypeScript

import assert from 'node:assert/strict'
import test from 'node:test'
import { cameraCaptureInputProps, resolveCameraEntryEnabled } from '../src/utils/camera-capture.ts'
test('相机入口:仅打手端移动端显示', () => {
assert.equal(resolveCameraEntryEnabled({ isMobile: true, scope: 'worker' }), true)
assert.equal(resolveCameraEntryEnabled({ isMobile: false, scope: 'worker' }), false)
assert.equal(resolveCameraEntryEnabled({ isMobile: true, scope: 'admin' }), false)
assert.equal(resolveCameraEntryEnabled({ isMobile: true, scope: 'collect' }), false)
assert.equal(resolveCameraEntryEnabled({ isMobile: true }), false)
})
test('相机入口:allowCamera 显式开关优先', () => {
assert.equal(
resolveCameraEntryEnabled({ isMobile: true, scope: 'worker', allowCamera: false }),
false,
)
assert.equal(
resolveCameraEntryEnabled({ isMobile: false, scope: 'admin', allowCamera: true }),
true,
)
})
test('相机构造:图片/视频分别使用对应 accept 与后置摄像头', () => {
assert.deepEqual(cameraCaptureInputProps('image'), {
accept: 'image/*',
capture: 'environment',
})
assert.deepEqual(cameraCaptureInputProps('video'), {
accept: 'video/*',
capture: 'environment',
})
})