[Improvement] Collapse: add test cases (#1194)

This commit is contained in:
neverland 2018-05-30 15:32:30 +08:00 committed by GitHub
parent ee0055f24d
commit 834f44e3d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,62 @@
import Collapse from '..';
import CollapseItem from '../../collapse-item';
import { mount } from '@vue/test-utils';
const component = {
template: `
<collapse v-model="active" :accordion="accordion">
<collapse-item title="a" name="first">content</collapse-item>
<collapse-item title="b">content</collapse-item>
<collapse-item title="c">content</collapse-item>
</collapse>
`,
components: {
Collapse,
CollapseItem
},
props: {
accordion: Boolean
},
data() {
return {
active: this.accordion ? '' : []
};
}
};
test('basic mode', () => {
const wrapper = mount(component);
const titles = wrapper.findAll('.van-collapse-item__title');
titles.at(0).trigger('click');
expect(wrapper.vm.active).toEqual(['first']);
titles.at(1).trigger('click');
expect(wrapper.vm.active).toEqual(['first', 1]);
titles.at(0).trigger('click');
expect(wrapper.vm.active).toEqual([1]);
wrapper.destroy();
});
it('accordion', () => {
const wrapper = mount(component, {
propsData: {
accordion: true
}
});
const titles = wrapper.findAll('.van-collapse-item__title');
titles.at(0).trigger('click');
expect(wrapper.vm.active).toEqual('first');
titles.at(1).trigger('click');
expect(wrapper.vm.active).toEqual(1);
titles.at(0).trigger('click');
expect(wrapper.vm.active).toEqual('first');
titles.at(0).trigger('click');
expect(wrapper.vm.active).toEqual('');
});