GuDingZiChan/print-agent/tests/config-store.test.mjs
WuYongJie 0dc3c09315 feat(资产与打印): 提交近期借还盘点与打印助手源码
- 提交借用单缺失异常处理、扫码借还搜索与站内消息快捷处理源码
- 提交盘点范围、多终端打印、组织同步与认证模式相关源码
- 提交 .NET/Node 打印助手及版本清单源码
2026-03-27 20:18:31 +08:00

59 lines
2.0 KiB
JavaScript

import test from 'node:test'
import assert from 'node:assert/strict'
import fs from 'node:fs/promises'
import os from 'node:os'
import path from 'node:path'
import {
createConfigStore,
defaultAgentConfig
} from '../src/config/storage.js'
test('defaultAgentConfig 返回完整的初始配置', () => {
const config = defaultAgentConfig()
assert.equal(config.serverUrl, 'https://www.jsgdzc.cn')
assert.equal(config.pairingCode, '')
assert.equal(config.deviceToken, '')
assert.equal(config.terminalName, '')
assert.equal(config.selectedPrinterName, '')
assert.equal(config.pollIntervalMs, 3000)
assert.equal(config.heartbeatIntervalMs, 30000)
assert.deepEqual(config.driverHelp.companyArchive, {
version: '2026.01.28.01',
fileName: 'xprinter-driver-2026.01.28.01.exe',
relativePath:
'downloads/printer-driver/xprinter/archive/2026.01.28.01/xprinter-driver-2026.01.28.01.exe'
})
})
test('createConfigStore 可以保存并重新读取配置', async () => {
const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'print-agent-config-'))
const store = createConfigStore(tempDir)
const saved = await store.save({
terminalName: '行政标签机',
serverUrl: 'https://asset.example.com',
selectedPrinterName: 'Xprinter XP-420B',
pairResult: {
terminalId: 8,
deviceToken: 'terminal-token',
pairedAt: '2026-03-25T09:15:00.000Z'
}
})
assert.equal(saved.terminalName, '行政标签机')
assert.equal(saved.serverUrl, 'https://asset.example.com')
assert.equal(saved.selectedPrinterName, 'Xprinter XP-420B')
assert.equal(saved.terminalId, 8)
assert.equal(saved.deviceToken, 'terminal-token')
assert.equal(saved.pairedAt, '2026-03-25T09:15:00.000Z')
const loaded = await store.load()
assert.equal(loaded.terminalName, '行政标签机')
assert.equal(loaded.serverUrl, 'https://asset.example.com')
assert.equal(loaded.selectedPrinterName, 'Xprinter XP-420B')
assert.equal(loaded.terminalId, 8)
assert.equal(loaded.deviceToken, 'terminal-token')
})