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:
WyTiny
2017-09-01 10:15:53 +08:00
committed by Yao
parent c594091955
commit 1418117681
10 changed files with 392 additions and 15 deletions

View 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);
});
});