vant/test/specs/cell.spec.js
2018-02-12 16:16:57 +08:00

95 lines
2.0 KiB
JavaScript

import CellGroup from 'packages/cell-group';
import Cell from 'packages/cell';
import { mount } from 'avoriaz';
describe('CellGroup', () => {
let wrapper;
afterEach(() => {
wrapper && wrapper.destroy();
});
it('create a cell-group', () => {
wrapper = mount(CellGroup, {
propsData: {}
});
expect(wrapper.hasClass('van-cell-group')).to.be.true;
});
});
describe('Cell', () => {
let wrapper;
afterEach(() => {
wrapper && wrapper.destroy();
});
it('create', () => {
wrapper = mount(Cell);
expect(wrapper.hasClass('van-cell')).to.be.true;
});
it('create a required cell', () => {
wrapper = mount(Cell, {
propsData: {
required: true
}
});
expect(wrapper.hasClass('van-cell')).to.be.true;
expect(wrapper.hasClass('van-cell--required')).to.be.true;
});
it('emit a click event', () => {
wrapper = mount(Cell);
const eventStub = sinon.stub(wrapper.vm, '$emit');
wrapper.trigger('click');
expect(eventStub.calledOnce).to.be.true;
expect(eventStub.calledWith('click')).to.be.true;
});
it('cell with url', () => {
wrapper = mount(Cell, {
propsData: {
url: '#test',
replace: false
}
});
wrapper.trigger('click');
expect(window.location.hash).to.equal('#test');
window.location.hash = '';
const length = window.history.length;
wrapper.vm.replace = true;
wrapper.trigger('click');
expect(window.location.hash).to.equal('#test');
expect(window.history.length).to.equal(length);
window.location.hash = '';
});
it('cell with to', done => {
wrapper = mount(Cell, {
propsData: {
to: '/test',
replace: false
}
});
wrapper.vm.$router = {
push(path) {
wrapper.vm.replace = true;
wrapper.trigger('click');
},
replace(path) {
expect(path).to.equal('/test');
done();
}
};
wrapper.trigger('click');
});
});