From 684d499e59bc8f28579e13ceb90dc54aa50453b5 Mon Sep 17 00:00:00 2001 From: XieZongChen <46394163+amadeus711@users.noreply.github.com> Date: Tue, 29 Jun 2021 02:19:42 +0800 Subject: [PATCH] test(collapse): add collapse test (#317) --- src/collapse/tests/Collapse.spec.tsx | 71 ++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/src/collapse/tests/Collapse.spec.tsx b/src/collapse/tests/Collapse.spec.tsx index c700da615..127c158c9 100644 --- a/src/collapse/tests/Collapse.spec.tsx +++ b/src/collapse/tests/Collapse.spec.tsx @@ -6,6 +6,7 @@ describe('n-collapse', () => { it('should work with import on demand', () => { mount(NCollapse) }) + it('can customize icon', () => { const wrapper = mount(() => { return ( @@ -19,4 +20,74 @@ describe('n-collapse', () => { }) expect(wrapper.find('.my-icon').exists()).toEqual(true) }) + + it('should work with `arrow-placement` prop', async () => { + const wrapper = mount(NCollapse, { + slots: { + default: () => + } + }) + expect(wrapper.find('.n-collapse-item').classes()).toContain( + 'n-collapse-item--left-arrow-placement' + ) + + await wrapper.setProps({ arrowPlacement: 'right' }) + expect(wrapper.find('.n-collapse-item').classes()).toContain( + 'n-collapse-item--right-arrow-placement' + ) + }) + + it('should work with nested structure', async () => { + mount(NCollapse, { + slots: { + default: () => + h( + NCollapseItem, + { name: '1', title: 'test1' }, + { + default: () => + h(NCollapse, null, { + default: () => h(NCollapseItem, { name: '2', title: 'test2' }) + }) + } + ) + } + }) + + // todo: test display-directive + // I wanted to test this function, but I was bothered by the + }) + + it('should work with `display-directive` prop', async () => { + mount(NCollapse, { + props: { + displayDirective: 'show' + }, + slots: { + default: () => + h( + NCollapseItem, + { name: '1', title: 'test' }, + { default: () => h('div', null, { default: () => 'test' }) } + ) + } + // todo: test display-directive + // I wanted to test this function, but I was bothered by the + }) + }) + + it('should work with `on-item-header-click` prop', async () => { + const onClick = jest.fn() + const wrapper = mount(NCollapse, { + props: { + onItemHeaderClick: onClick + }, + slots: { + default: () => + } + }) + const triggerNodeWrapper = wrapper.find('.n-collapse-item__header') + await triggerNodeWrapper.trigger('click') + expect(onClick).toHaveBeenCalled() + }) })