34 lines
934 B
JavaScript
34 lines
934 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)
|
|
})
|