ibps-container-full-bs.spec.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { mount } from '@vue/test-utils'
  2. import IbpsContainerFullBs from '@/components/ibps-container/components/ibps-container-full-bs.vue'
  3. describe('ibps-container-full-bs', () => {
  4. // 存在且是Vue组件实例
  5. it('is a vue instance', () => {
  6. const wrapper = mount(IbpsContainerFullBs)
  7. expect(wrapper.exists()).toBeTruthy()
  8. expect(wrapper.isVueInstance()).toBeTruthy()
  9. })
  10. // 包含特定类名
  11. it('contains specific classnames', () => {
  12. const wrapper = mount(IbpsContainerFullBs, {
  13. slots: {
  14. default: '<div>body</div>',
  15. header: '<div>header</div>',
  16. footer: '<div>footer</div>'
  17. }
  18. })
  19. expect(wrapper.is('.ibps-container-full-bs')).toBeTruthy()
  20. expect(wrapper.contains('.ibps-container-full-bs__header')).toBeTruthy()
  21. expect(wrapper.contains('.ibps-container-full-bs__body')).toBeTruthy()
  22. expect(
  23. wrapper.contains('.ibps-container-full-bs__body-wrapper-inner')
  24. ).toBeTruthy()
  25. expect(wrapper.contains('.ibps-container-full-bs__footer')).toBeTruthy()
  26. })
  27. // props
  28. it('has props', () => {
  29. const wrapper = mount(IbpsContainerFullBs, {
  30. propsData: {
  31. betterScrollOptions: {}
  32. }
  33. })
  34. expect(wrapper.props().betterScrollOptions).toEqual({})
  35. })
  36. // 渲染slot
  37. it('has one or more slots', () => {
  38. const wrapper = mount(IbpsContainerFullBs, {
  39. slots: {
  40. default: '<div>body</div>',
  41. header: '<div>header</div>',
  42. footer: '<div>footer</div>'
  43. }
  44. })
  45. expect(wrapper.text()).toMatch('header')
  46. expect(wrapper.text()).toMatch('body')
  47. expect(wrapper.text()).toMatch('footer')
  48. })
  49. })