From 1c89b5f9ab29fb48ee8f49cd1b18910a787bf126 Mon Sep 17 00:00:00 2001 From: elky Date: Fri, 4 Sep 2026 23:57:50 +0800 Subject: [PATCH] fix(models): allow manual entry during catalog load --- .../components/GlobalModelFormDialog.vue | 15 ++++++++++++++- .../GlobalModelFormDialog.prefill.spec.ts | 19 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/frontend/src/features/models/components/GlobalModelFormDialog.vue b/frontend/src/features/models/components/GlobalModelFormDialog.vue index d6de89e3e..06042368a 100644 --- a/frontend/src/features/models/components/GlobalModelFormDialog.vue +++ b/frontend/src/features/models/components/GlobalModelFormDialog.vue @@ -31,9 +31,22 @@
+

+ 正在加载在线目录;也可以先手动填写模型 +

+
{ expect(document.body.querySelector('#model-name')).not.toBeNull() }) + it('allows manual model creation while the external catalog request is still pending', async () => { + modelsDevMocks.getModelsDevList.mockReturnValueOnce( + new Promise(() => {}), + ) + + mountDialog() + await settle() + + const manualEntryButton = document.body.querySelector( + '[data-testid="models-catalog-manual-entry-loading"]', + ) + if (!manualEntryButton) throw new Error('Missing loading-state manual-entry button') + manualEntryButton.click() + await settle() + + expect(document.body.textContent).toContain('手动填写模式') + expect(document.body.querySelector('#model-name')).not.toBeNull() + }) + it('drops the previous draft and submits only the newly selected model preset', async () => { mountDialog() await settle()