Files
yovision/Sense/ui/tests/devicePayload.test.mjs
T

35 lines
936 B
JavaScript

import assert from 'node:assert/strict'
import test from 'node:test'
import { createDevicePayload, updateDevicePayload } from '../src/views/sense/device/devicePayload.mjs'
const form = {
name: '东门摄像机',
location: '教学楼一楼东门',
modality: 'video',
capabilities: ['video'],
id: 'read-only-id'
}
test('create payload keeps Chinese values and includes modality', () => {
assert.deepEqual(createDevicePayload(form), {
name: '东门摄像机',
location: '教学楼一楼东门',
modality: 'video',
capabilities: ['video']
})
})
test('update payload uses the PATCH allowlist and excludes modality', () => {
const payload = updateDevicePayload(form, 9)
assert.deepEqual(payload, {
name: '东门摄像机',
location: '教学楼一楼东门',
capabilities: ['video'],
version: 9
})
assert.equal('modality' in payload, false)
assert.equal('id' in payload, false)
})