From 8cbb9d44ee7e707de7dfce01481cd03c1adcee3a Mon Sep 17 00:00:00 2001 From: wangxiaoyu Date: Thu, 12 Jun 2025 03:15:07 +0800 Subject: [PATCH] feat(components): [cascader] add unit test cases --- .../cascader/__tests__/cascader.test.tsx | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/packages/components/cascader/__tests__/cascader.test.tsx b/packages/components/cascader/__tests__/cascader.test.tsx index 1ecf0e6fde..97cf7094eb 100644 --- a/packages/components/cascader/__tests__/cascader.test.tsx +++ b/packages/components/cascader/__tests__/cascader.test.tsx @@ -624,4 +624,40 @@ describe('Cascader.vue', () => { expect(prefixSlotEl?.textContent).toBe('-=-prefix-=-') }) }) + describe('Cascader - showFirstLevelOnly', () => { + it('should only display first level label after clicking sub-option', async () => { + const wrapper = mount(() => ) + const trigger = wrapper.find(TRIGGER) + + await trigger.trigger('click') + ;(document.querySelector(NODE) as HTMLElement).click() + await nextTick() + ;(document.querySelectorAll(NODE)[1] as HTMLElement).click() + await nextTick() + expect(wrapper.find('input').element.value).toBe('Zhejiang') + }) + it('should only display first level labels for multiple selected sub-options', async () => { + const wrapper = mount(() => ( + + )) + const trigger = wrapper.find(TRIGGER) + await trigger.trigger('click') + await nextTick() + const firstNode = document.querySelector(NODE) as HTMLElement + expect(firstNode).not.toBeNull() + firstNode.click() + await nextTick() + const secondNode = document.querySelectorAll(NODE)[1] as HTMLElement + expect(secondNode).not.toBeNull() + secondNode.click() + await nextTick() + const thirdNode = document.querySelectorAll(NODE)[2] as HTMLElement + expect(thirdNode).not.toBeNull() + thirdNode.click() + await nextTick() + const inputValue = (wrapper.find('input').element as HTMLInputElement) + .value + expect(inputValue).toBe('Zhejiang') + }) + }) })