tabbar.spec.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { shallowMount, mount } from '@vue/test-utils'
  2. import Tabbar from '../tabbar.vue';
  3. import Vue from 'vue';
  4. describe('Tabbar.vue', () => {
  5. const wrapper = shallowMount(Tabbar);
  6. it('页签类型为based', () => {
  7. wrapper.setProps({ type: 'based' });
  8. return Vue.nextTick().then(function () {
  9. expect(wrapper.contains('.bor-right')).toBe(false);
  10. })
  11. });
  12. it('页签位于页面底部', () => {
  13. wrapper.setProps({ bottom: true });
  14. return Vue.nextTick().then(function () {
  15. expect(wrapper.contains('.bottom')).toBe(true);
  16. })
  17. });
  18. it('点击tab标签', () => {
  19. wrapper.setData({ tabList: [
  20. {
  21. 'tabTitle':'百度',
  22. 'curr':false,
  23. 'icon':'',
  24. 'num':5,
  25. },
  26. {
  27. 'tabTitle':'京东',
  28. 'curr':true,
  29. 'icon':''
  30. },
  31. {
  32. 'tabTitle':'知乎',
  33. 'curr':false,
  34. 'icon':'',
  35. }
  36. ]});
  37. return Vue.nextTick().then(function () {
  38. wrapper.findAll('.tabbar-nav').at(1).trigger('click');
  39. expect(wrapper.findAll('.tabbar-nav').at(1).is('.curr')).toBe(true)
  40. })
  41. });
  42. it('tab标签标题', () => {
  43. return Vue.nextTick().then(function () {
  44. expect(wrapper.findAll('.tabbar-nav-word').at(0).text()).toBe('百度');
  45. })
  46. });
  47. });