From 4a9a4cec1739007936d434a6a51180158e25078b Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Wed, 24 Jun 2026 02:17:08 +0800
Subject: [PATCH] Fix missing model language switch flow

---
 privatevoice.src/internal/model/model_test.go |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/privatevoice.src/internal/model/model_test.go b/privatevoice.src/internal/model/model_test.go
index b163161..795a0d0 100644
--- a/privatevoice.src/internal/model/model_test.go
+++ b/privatevoice.src/internal/model/model_test.go
@@ -592,6 +592,18 @@
 	}
 }
 
+func TestHasAnyUsableModelInRoot(t *testing.T) {
+	root := t.TempDir()
+	if HasAnyUsableModelInRoot(root) {
+		t.Fatal("expected no usable model in empty root")
+	}
+
+	createValidSenseVoice(t, filepath.Join(root, "sensevoice-zh"))
+	if !HasAnyUsableModelInRoot(root) {
+		t.Fatal("expected installed sensevoice to count as a usable model")
+	}
+}
+
 func TestInstallStateRoundTrip(t *testing.T) {
 	root := t.TempDir()
 	if err := UpdateInstalledModelState(root, DefaultModelProfile(), "sensevoice-zh", "new"); err != nil {

--
Gitblit v1.9.3