validate dropdown closes on click outside the component

This commit is contained in:
2026-06-04 12:59:59 +02:00
parent dc1caac2ed
commit 521f1becb4
@@ -86,4 +86,29 @@ test('renders correctly with initial state closed', () => {
expect(document.documentElement.lang).toBe(code); expect(document.documentElement.lang).toBe(code);
expect(document.documentElement.dir).toBe(expectedDir); expect(document.documentElement.dir).toBe(expectedDir);
expect(wrapper.find('.language-dropdown').exists()).toBe(false); expect(wrapper.find('.language-dropdown').exists()).toBe(false);
}); });
test('closes the dropdown when clicking outside the component', async () => {
const wrapper = mount(LanguageSwitchButton, {
attachTo: document.body
});
await wrapper.find('.language-button').trigger('click');
expect(wrapper.find('.language-dropdown').exists()).toBe(true);
await new Promise(resolve => setTimeout(resolve, 0));
const externalDiv = document.createElement('div');
document.body.appendChild(externalDiv);
const clickEvent = new MouseEvent('click', { bubbles: true });
externalDiv.dispatchEvent(clickEvent);
await wrapper.vm.$nextTick();
expect(wrapper.find('.language-dropdown').exists()).toBe(false);
wrapper.unmount();
externalDiv.remove();
});
});