diff --git a/web/app/components/base/chat/chat-with-history/inputs-form/__tests__/content.spec.tsx b/web/app/components/base/chat/chat-with-history/inputs-form/__tests__/content.spec.tsx index c1a0f3e294..6081024490 100644 --- a/web/app/components/base/chat/chat-with-history/inputs-form/__tests__/content.spec.tsx +++ b/web/app/components/base/chat/chat-with-history/inputs-form/__tests__/content.spec.tsx @@ -248,6 +248,19 @@ describe('InputsFormContent', () => { expect(mockSetCurrentConversationInputs).toHaveBeenCalledWith(expect.objectContaining({ sel: 'A' })) }) + it('renders select dropdown above the settings dialog layer', async () => { + const user = userEvent.setup() + const context = createMockContext({ + inputsForms: [{ variable: 'sel', type: InputVarType.select, label: 'Sel', options: ['A', 'B'], default: 'B' }], + currentConversationInputs: {}, + }) + + renderWithContext(, context) + await user.click(screen.getByText('B')) + + expect(screen.getByText('A').closest('.z-\\[60\\]')).not.toBeNull() + }) + it('handles select input with existing value (value not in options -> shows placeholder)', () => { const context = createMockContext({ inputsForms: [{ variable: 'sel', type: InputVarType.select, label: 'Sel', options: ['A'], default: undefined }], diff --git a/web/app/components/base/chat/chat-with-history/inputs-form/content.tsx b/web/app/components/base/chat/chat-with-history/inputs-form/content.tsx index 127cf2c252..4baa46744d 100644 --- a/web/app/components/base/chat/chat-with-history/inputs-form/content.tsx +++ b/web/app/components/base/chat/chat-with-history/inputs-form/content.tsx @@ -86,7 +86,7 @@ const InputsFormContent = ({ showTip }: Props) => { )} {form.type === InputVarType.select && ( ({ value: option, name: option }))} onSelect={item => handleFormChange(form.variable, item.value as string)} diff --git a/web/app/components/base/chat/embedded-chatbot/inputs-form/__tests__/content.spec.tsx b/web/app/components/base/chat/embedded-chatbot/inputs-form/__tests__/content.spec.tsx index 526fca2061..f682752645 100644 --- a/web/app/components/base/chat/embedded-chatbot/inputs-form/__tests__/content.spec.tsx +++ b/web/app/components/base/chat/embedded-chatbot/inputs-form/__tests__/content.spec.tsx @@ -200,6 +200,17 @@ describe('InputsFormContent', () => { expect(mockContextValue.handleNewConversationInputsChange).toHaveBeenCalled() }) + it('should render select dropdown above the settings dialog layer', async () => { + render() + const selectTrigger = screen.getAllByText(/Select Label/i).find(el => el.tagName === 'SPAN') + if (!selectTrigger) + throw new Error('Select trigger not found') + + await user.click(selectTrigger) + + expect(screen.getByText('Option 1').closest('.z-\\[60\\]')).not.toBeNull() + }) + it('should handle single file upload change', async () => { render() const uploadButtons = screen.getAllByText('Upload') diff --git a/web/app/components/base/chat/embedded-chatbot/inputs-form/content.tsx b/web/app/components/base/chat/embedded-chatbot/inputs-form/content.tsx index 2ce40480c3..733e3b1101 100644 --- a/web/app/components/base/chat/embedded-chatbot/inputs-form/content.tsx +++ b/web/app/components/base/chat/embedded-chatbot/inputs-form/content.tsx @@ -86,7 +86,7 @@ const InputsFormContent = ({ showTip }: Props) => { )} {form.type === InputVarType.select && ( ({ value: option, name: option }))} onSelect={item => handleFormChange(form.variable, item.value as string)}