mirror of
https://github.com/youzan/vant.git
synced 2025-10-18 01:17:15 +00:00
Add deep-select component and fix a popup bug. (#103)
* feat: new deep select * fix: add deep-select test * fix: import * fix: icon import
This commit is contained in:
68
test/unit/specs/deep-select.spec.js
Normal file
68
test/unit/specs/deep-select.spec.js
Normal file
@@ -0,0 +1,68 @@
|
||||
import DeepSelect from 'packages/deep-select';
|
||||
import { mount } from 'avoriaz';
|
||||
|
||||
describe('DeepSelect', () => {
|
||||
let wrapper;
|
||||
afterEach(() => {
|
||||
wrapper && wrapper.destroy();
|
||||
});
|
||||
|
||||
it('create an empty deep-select', () => {
|
||||
wrapper = mount(DeepSelect);
|
||||
expect(wrapper.hasStyle('height', '0px')).to.be.true;
|
||||
});
|
||||
|
||||
it('create a deep-select correctly', () => {
|
||||
wrapper = mount(DeepSelect, {
|
||||
propsData: {
|
||||
items: [{
|
||||
text: 'A',
|
||||
children: [{
|
||||
text: 'Cc',
|
||||
id: 123
|
||||
}]
|
||||
}],
|
||||
maxHeight: 200
|
||||
}
|
||||
});
|
||||
expect(wrapper.hasClass('van-deep-select')).to.be.true;
|
||||
expect(wrapper.hasStyle('height', '44px')).to.be.true;
|
||||
expect(wrapper.propsData().maxHeight).to.equal(200);
|
||||
});
|
||||
|
||||
it('interact with this component', () => {
|
||||
wrapper = mount(DeepSelect, {
|
||||
propsData: {
|
||||
items: [{
|
||||
text: 'A',
|
||||
children: [{
|
||||
text: 'Cc',
|
||||
id: 123
|
||||
}, {
|
||||
text: 'Bb',
|
||||
id: 234
|
||||
}]
|
||||
}, {
|
||||
text: 'B',
|
||||
children: [{
|
||||
text: 'Nmi',
|
||||
id: 345
|
||||
}]
|
||||
}],
|
||||
maxHeight: 220
|
||||
}
|
||||
});
|
||||
wrapper.vm.$on('navclick', index => {
|
||||
wrapper.vm.mainActiveIndex = index;
|
||||
});
|
||||
wrapper.vm.$on('itemclick', item => {
|
||||
wrapper.vm.activeId = item.id;
|
||||
});
|
||||
const secondNav = wrapper.find('.van-deep-select__nitem')[1];
|
||||
secondNav.trigger('click');
|
||||
expect(wrapper.vm.mainActiveIndex).to.equal(1);
|
||||
const target = wrapper.find('.van-deep-select__item')[0];
|
||||
target.trigger('click');
|
||||
expect(wrapper.vm.activeId).to.equal(345);
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user