71 lines
2.5 KiB
JavaScript
71 lines
2.5 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 {
|
|
DEFAULT_SERVER_URL,
|
|
createConfigStore,
|
|
defaultAgentConfig,
|
|
normalizeServerUrl
|
|
} from '../src/config/storage.js'
|
|
|
|
test('defaultAgentConfig 返回完整的初始配置', () => {
|
|
const config = defaultAgentConfig()
|
|
|
|
assert.equal(config.serverUrl, DEFAULT_SERVER_URL)
|
|
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')
|
|
})
|
|
|
|
test('normalizeServerUrl 会把旧域名自动切换到当前可用域名', () => {
|
|
assert.equal(normalizeServerUrl('https://www.jsgdzc.cn'), DEFAULT_SERVER_URL)
|
|
assert.equal(normalizeServerUrl('https://www.jsgdzc.cn/api'), DEFAULT_SERVER_URL)
|
|
assert.equal(normalizeServerUrl('https://jsgdzc.cn/'), DEFAULT_SERVER_URL)
|
|
assert.equal(
|
|
normalizeServerUrl('https://asset.jiansun.vip/api'),
|
|
DEFAULT_SERVER_URL
|
|
)
|
|
})
|