vant/test/unit/specs/uploader.spec.js
2017-04-25 17:12:01 +08:00

97 lines
2.3 KiB
JavaScript

import Uploader from 'packages/uploader';
import { mount } from 'avoriaz';
window.File = function() {
this.name = 'test';
};
window.FileReader = function() {
this.readAsDataURL = this.readAsText = function() {
this.onload && this.onload({
target: {
result: 'test'
}
});
};
};
describe('Uploader', () => {
let wrapper;
afterEach(() => {
wrapper && wrapper.destroy();
});
it('enabled', () => {
wrapper = mount(Uploader, {
propsData: {
disabled: false
}
});
expect(wrapper.contains('input')).to.equal(true);
expect(wrapper.vm.onValueChange({ target: { files: [] }})).to.equal(undefined);
});
it('disabled', () => {
wrapper = mount(Uploader, {
propsData: {
disabled: true
}
});
expect(wrapper.contains('input')).to.equal(true);
expect(wrapper.vm.onValueChange({ target: { files: [] }})).to.equal(undefined);
});
it('before read', () => {
wrapper = mount(Uploader, {
propsData: {
disabled: false,
beforeRead: () => {
return false;
}
}
});
expect(wrapper.contains('input')).to.equal(true);
expect(wrapper.vm.onValueChange({ target: { files: [new File([], '')] }})).to.equal(undefined);
});
it('read text', () => {
wrapper = mount(Uploader, {
propsData: {
disabled: false,
resultType: 'text',
afterRead: (file) => {
}
}
});
expect(wrapper.contains('input')).to.equal(true);
expect(wrapper.vm.onValueChange({ target: { files: [new File([], '/Users')] }})).to.equal(undefined);
});
it('read text no after hook', () => {
wrapper = mount(Uploader, {
propsData: {
disabled: false,
resultType: 'text'
}
});
expect(wrapper.contains('input')).to.equal(true);
expect(wrapper.vm.onValueChange({ target: { files: [new File([], '/Users')] }})).to.equal(undefined);
});
it('read dataUrl', () => {
wrapper = mount(Uploader, {
propsData: {
disabled: false,
resultType: 'dataUrl',
afterRead: (file) => {
}
}
});
expect(wrapper.contains('input')).to.equal(true);
expect(wrapper.vm.onValueChange({ target: { files: [new File([], '/Users')] }})).to.equal(undefined);
});
});