diff --git a/packages/checkbox/test/index.spec.js b/packages/checkbox/test/index.spec.js
index 23a9d824b..1b4f43c07 100644
--- a/packages/checkbox/test/index.spec.js
+++ b/packages/checkbox/test/index.spec.js
@@ -46,7 +46,7 @@ test('checkbox group', () => {
const wrapper = mount({
template: `
-
+
`,
components: {
@@ -56,7 +56,7 @@ test('checkbox group', () => {
data() {
return {
result: [],
- list: ['a', 'b', 'c', 'd']
+ list: ['a', 'b', 'c']
};
}
});
diff --git a/packages/contact-card/test/__snapshots__/index.spec.js.snap b/packages/contact-card/test/__snapshots__/index.spec.js.snap
new file mode 100644
index 000000000..27336c7ce
--- /dev/null
+++ b/packages/contact-card/test/__snapshots__/index.spec.js.snap
@@ -0,0 +1,21 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`ContactList render 1`] = `
+
+`;
diff --git a/packages/contact-card/test/index.spec.js b/packages/contact-card/test/index.spec.js
index 7c254fc50..2579cf616 100644
--- a/packages/contact-card/test/index.spec.js
+++ b/packages/contact-card/test/index.spec.js
@@ -1,3 +1,5 @@
+import ContactCard from '..';
+import ContactList from '../../contact-list';
import ContactEdit from '../../contact-edit';
import { mount } from '@vue/test-utils';
@@ -6,79 +8,105 @@ const contactInfo = {
tel: '123123213'
};
-const createComponent = () => {
- const wrapper = mount(ContactEdit, {
- propsData: {
- contactInfo
- }
- });
+describe('ContactCard', () => {
+ test('click event', () => {
+ const wrapper = mount(ContactCard, {
+ propsData: {
+ editable: false
+ }
+ });
- const button = wrapper.find('.van-button');
- const field = wrapper.findAll('.van-field__control');
- const { errorInfo, data } = wrapper.vm;
- return {
- wrapper,
- data,
- field,
- button,
- errorInfo
+ wrapper.trigger('click');
+ expect(wrapper.emitted('click')).toBeFalsy();
+
+ wrapper.setProps({ editable: true });
+ wrapper.trigger('click');
+ expect(wrapper.emitted('click')).toBeTruthy();
+ });
+});
+
+describe('ContactList', () => {
+ test('render', () => {
+ const wrapper = mount(ContactList);
+ expect(wrapper.html()).toMatchSnapshot();
+ });
+});
+
+describe('ContactEdit', () => {
+ const createComponent = () => {
+ const wrapper = mount(ContactEdit, {
+ propsData: {
+ contactInfo
+ }
+ });
+
+ const button = wrapper.find('.van-button');
+ const field = wrapper.findAll('.van-field__control');
+ const { errorInfo, data } = wrapper.vm;
+ return {
+ wrapper,
+ data,
+ field,
+ button,
+ errorInfo
+ };
};
-};
-test('valid name', () => {
- const { data, field, button, errorInfo } = createComponent();
+ test('valid name', () => {
+ const { data, field, button, errorInfo } = createComponent();
- // name empty
- data.name = '';
- button.trigger('click');
- expect(errorInfo.name).toBeTruthy();
- field.at(0).trigger('focus');
- expect(errorInfo.name).toBeFalsy();
+ // name empty
+ data.name = '';
+ button.trigger('click');
+ expect(errorInfo.name).toBeTruthy();
+ field.at(0).trigger('focus');
+ expect(errorInfo.name).toBeFalsy();
- // name too long
- data.name = '1'.repeat(30);
- button.trigger('click');
- expect(errorInfo.name).toBeTruthy();
- field.at(0).trigger('focus');
- expect(errorInfo.name).toBeFalsy();
-});
-
-it('valid tel', () => {
- const { data, field, button, errorInfo, wrapper } = createComponent();
- data.tel = '';
- button.trigger('click');
- expect(errorInfo.tel).toBeTruthy();
- field.at(1).trigger('focus');
- expect(errorInfo.tel).toBeFalsy();
-
- data.tel = '13000000000';
- button.trigger('click');
- expect(errorInfo.tel).toBeFalsy();
- expect(wrapper.emitted('save')[0][0]).toEqual({
- name: 'test',
- tel: '13000000000'
- });
-});
-
-test('watch contact info', () => {
- const wrapper = mount(ContactEdit);
- wrapper.setProps({ contactInfo: { name: '123' }});
- expect(wrapper.vm.data.name).toEqual('123');
-});
-
-test('delete contact', done => {
- const wrapper = mount(ContactEdit, {
- propsData: {
- isEdit: true
- }
+ // name too long
+ data.name = '1'.repeat(30);
+ button.trigger('click');
+ expect(errorInfo.name).toBeTruthy();
+ field.at(0).trigger('focus');
+ expect(errorInfo.name).toBeFalsy();
});
- const deleteButton = wrapper.findAll('.van-button').at(1);
- deleteButton.trigger('click');
- document.querySelector('.van-dialog__confirm').click();
+ it('valid tel', () => {
+ const { data, field, button, errorInfo, wrapper } = createComponent();
+ data.tel = '';
+ button.trigger('click');
+ expect(errorInfo.tel).toBeTruthy();
+ field.at(1).trigger('focus');
+ expect(errorInfo.tel).toBeFalsy();
- setTimeout(() => {
- expect(wrapper.emitted('delete')).toBeTruthy();
- done();
+ data.tel = '13000000000';
+ button.trigger('click');
+ expect(errorInfo.tel).toBeFalsy();
+ expect(wrapper.emitted('save')[0][0]).toEqual({
+ name: 'test',
+ tel: '13000000000'
+ });
+ });
+
+ test('watch contact info', () => {
+ const wrapper = mount(ContactEdit);
+ wrapper.setProps({ contactInfo: { name: '123' }});
+ expect(wrapper.vm.data.name).toEqual('123');
+ });
+
+ test('delete contact', done => {
+ const wrapper = mount(ContactEdit, {
+ propsData: {
+ isEdit: true
+ }
+ });
+
+ const deleteButton = wrapper.findAll('.van-button').at(1);
+ deleteButton.trigger('click');
+ document.querySelector('.van-dialog__confirm').click();
+
+ setTimeout(() => {
+ expect(wrapper.emitted('delete')).toBeTruthy();
+ done();
+ });
});
});
diff --git a/packages/switch-cell/test/index.spec.js b/packages/switch-cell/test/index.spec.js
new file mode 100644
index 000000000..7e2658396
--- /dev/null
+++ b/packages/switch-cell/test/index.spec.js
@@ -0,0 +1,13 @@
+import SwitchCell from '..';
+import { mount } from '@vue/test-utils';
+
+test('emit event', () => {
+ const wrapper = mount(SwitchCell);
+
+ wrapper.vm.$on('input', value => {
+ wrapper.setProps({ value });
+ });
+ wrapper.find('.van-switch').trigger('click');
+
+ expect(wrapper.emitted('change')).toBeTruthy();
+});
diff --git a/packages/switch/test/index.spec.js b/packages/switch/test/index.spec.js
new file mode 100644
index 000000000..3d9e3095e
--- /dev/null
+++ b/packages/switch/test/index.spec.js
@@ -0,0 +1,13 @@
+import Switch from '..';
+import { mount } from '@vue/test-utils';
+
+test('emit event', () => {
+ const wrapper = mount(Switch);
+ wrapper.trigger('click');
+ wrapper.trigger('click');
+ wrapper.setProps({ disabled: true });
+ wrapper.trigger('click');
+
+ expect(wrapper.emitted('input')).toEqual([[true], [true]]);
+ expect(wrapper.emitted('change')).toEqual([[true], [true]]);
+});