initialize Electron desktop app and remove unused files
Build / build (push) Canceled after 0s
Playwright / browser (push) Canceled after 0s

This commit is contained in:
2026-10-25 01:09:01 +08:00
commit 01d9e301fc
877 changed files with 262513 additions and 0 deletions
@@ -0,0 +1,55 @@
// @vitest-environment jsdom
import { beforeEach, describe, expect, it, vi } from 'vitest'
import { nextTick } from 'vue'
const STORAGE_KEY = 'hermes-tts-settings-v2'
describe('useVoiceSettings MiMo settings', () => {
beforeEach(() => {
vi.resetModules()
localStorage.clear()
})
it('defaults MiMo auth and voice clone settings', async () => {
const { useVoiceSettings } = await import('../../packages/client/src/composables/useVoiceSettings')
const settings = useVoiceSettings()
expect(settings.mimoAuthMode.value).toBe('bearer')
expect(settings.mimoVoiceCloneDataUri.value).toBe('')
expect(settings.mimoVoiceCloneFileName.value).toBe('')
expect(settings.mimoVoiceCloneFormat.value).toBe('wav')
})
it('persists MiMo auth mode and voice clone fields', async () => {
const { useVoiceSettings } = await import('../../packages/client/src/composables/useVoiceSettings')
const settings = useVoiceSettings()
settings.setMimoAuthMode('api-key')
settings.setMimoModel('mimo-v2.5-tts-voiceclone')
settings.setMimoVoiceCloneDataUri('data:audio/mp3;base64,ZmFrZQ==')
settings.setMimoVoiceCloneFileName('sample.mp3')
settings.setMimoVoiceCloneFormat('mp3')
await nextTick()
expect(JSON.parse(localStorage.getItem(STORAGE_KEY) || '{}')).toMatchObject({
mimoAuthMode: 'api-key',
mimoModel: 'mimo-v2.5-tts-voiceclone',
mimoVoiceCloneDataUri: 'data:audio/mp3;base64,ZmFrZQ==',
mimoVoiceCloneFileName: 'sample.mp3',
mimoVoiceCloneFormat: 'mp3',
})
})
it('sanitizes invalid persisted MiMo auth mode and clone format', async () => {
localStorage.setItem(STORAGE_KEY, JSON.stringify({
mimoAuthMode: 'bad-mode',
mimoVoiceCloneFormat: 'ogg',
}))
const { useVoiceSettings } = await import('../../packages/client/src/composables/useVoiceSettings')
const settings = useVoiceSettings()
expect(settings.mimoAuthMode.value).toBe('bearer')
expect(settings.mimoVoiceCloneFormat.value).toBe('wav')
})
})