Files
Genarrative/apps/ai-game-creator-shell/tests/appUpdate.test.ts
T
kdletters da76cb9056
Project CI / Native shell tests (pull_request) Failing after 17m13s
Project CI / Repository checks (pull_request) Successful in 9m13s
Project CI / Frontend tests (pull_request) Failing after 2m56s
Project CI / Backend tests (pull_request) Successful in 8m27s
添加 AGC 客户端更新检查与下载能力
新增 OSS 版本清单检查和更新提示
增加受控安装包下载与完整性校验
补充 Tauri OSS 权限、样式、测试和技术文档
2026-08-31 14:35:49 +08:00

36 lines
992 B
TypeScript

import { afterEach, describe, expect, it } from 'vitest';
import {
isNewerVersion,
parseAppUpdateManifest,
resetAppUpdateCheckForTests,
} from '../src/services/appUpdate';
afterEach(() => resetAppUpdateCheckForTests());
describe('AGC update manifest', () => {
it('compares semantic versions and accepts v prefixes', () => {
expect(isNewerVersion('v0.1.13', '0.1.12')).toBe(true);
expect(isNewerVersion('0.1.12', '0.1.12')).toBe(false);
expect(isNewerVersion('0.1.11', '0.1.12')).toBe(false);
});
it('validates an OSS manifest and rejects non-HTTPS downloads', () => {
expect(
parseAppUpdateManifest({
version: '0.1.13',
downloadUrl: 'https://oss.example/agc.exe',
}),
).toMatchObject({
version: '0.1.13',
downloadUrl: 'https://oss.example/agc.exe',
});
expect(
parseAppUpdateManifest({
version: '0.1.13',
downloadUrl: 'http://oss.example/agc.exe',
}),
).toBeNull();
});
});