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', }) })