'use strict'; const test = require('node:test'); const assert = require('node:assert/strict'); const { normalizeAppInput } = require('../src/services/externalAutomationAppService'); test('external automation app input normalizes platform and secure links', () => { const result = normalizeAppInput({ name: ' 自动上架桌面端 ', platform: 'WINDOWS', version: ' 1.2.0 ', downloadUrl: 'https://download.example.com/app.exe', releaseNotesUrl: 'https://download.example.com/releases/1.2.0', enabled: true, sortOrder: '12', }); assert.equal(result.name, '自动上架桌面端'); assert.equal(result.platform, 'windows'); assert.equal(result.version, '1.2.0'); assert.equal(result.downloadUrl, 'https://download.example.com/app.exe'); assert.equal(result.sortOrder, 12); }); test('external automation app input rejects unsupported protocols and platforms', () => { assert.throws(() => normalizeAppInput({ name: '测试 App', platform: 'android', downloadUrl: 'https://download.example.com/app', }), /平台不正确/); assert.throws(() => normalizeAppInput({ name: '测试 App', platform: 'windows', downloadUrl: 'file:///tmp/app.exe', }), /HTTP 或 HTTPS/); });