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()
+ })
})