colmo设计师沙龙pc端后台管理系统

Breadcrumb.spec.js 2.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import { mount, createLocalVue } from '@vue/test-utils'
  2. import VueRouter from 'vue-router'
  3. import ElementUI from 'element-ui'
  4. import Breadcrumb from '@/components/Breadcrumb/index.vue'
  5. const localVue = createLocalVue()
  6. localVue.use(VueRouter)
  7. localVue.use(ElementUI)
  8. const routes = [
  9. {
  10. path: '/',
  11. name: 'home',
  12. children: [{
  13. path: 'dashboard',
  14. name: 'dashboard'
  15. }]
  16. },
  17. ]
  18. const router = new VueRouter({
  19. routes
  20. })
  21. describe('Breadcrumb.vue', () => {
  22. const wrapper = mount(Breadcrumb, {
  23. localVue,
  24. router
  25. })
  26. it('dashboard', () => {
  27. router.push('/dashboard')
  28. const len = wrapper.findAll('.el-breadcrumb__inner').length
  29. expect(len).toBe(1)
  30. })
  31. it('normal route', () => {
  32. router.push('/menu/menu1')
  33. const len = wrapper.findAll('.el-breadcrumb__inner').length
  34. expect(len).toBe(2)
  35. })
  36. it('nested route', () => {
  37. router.push('/menu/menu1/menu1-2/menu1-2-1')
  38. const len = wrapper.findAll('.el-breadcrumb__inner').length
  39. expect(len).toBe(4)
  40. })
  41. it('no meta.title', () => {
  42. router.push('/menu/menu1/menu1-2/menu1-2-2')
  43. const len = wrapper.findAll('.el-breadcrumb__inner').length
  44. expect(len).toBe(3)
  45. })
  46. // it('click link', () => {
  47. // router.push('/menu/menu1/menu1-2/menu1-2-2')
  48. // const breadcrumbArray = wrapper.findAll('.el-breadcrumb__inner')
  49. // const second = breadcrumbArray.at(1)
  50. // console.log(breadcrumbArray)
  51. // const href = second.find('a').attributes().href
  52. // expect(href).toBe('#/menu/menu1')
  53. // })
  54. // it('noRedirect', () => {
  55. // router.push('/menu/menu1/menu1-2/menu1-2-1')
  56. // const breadcrumbArray = wrapper.findAll('.el-breadcrumb__inner')
  57. // const redirectBreadcrumb = breadcrumbArray.at(2)
  58. // expect(redirectBreadcrumb.contains('a')).toBe(false)
  59. // })
  60. it('last breadcrumb', () => {
  61. router.push('/menu/menu1/menu1-2/menu1-2-1')
  62. const breadcrumbArray = wrapper.findAll('.el-breadcrumb__inner')
  63. const redirectBreadcrumb = breadcrumbArray.at(3)
  64. expect(redirectBreadcrumb.contains('a')).toBe(false)
  65. })
  66. })