d2-count-up.spec.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import { mount } from '@vue/test-utils'
  2. import D2CountUp from '@/components/d2-count-up/index.vue'
  3. describe('d2-count-up', () => {
  4. // 存在且是Vue组件实例
  5. it('is a vue instance', () => {
  6. const wrapper = mount(D2CountUp, {
  7. propsData: {
  8. end: 100
  9. }
  10. })
  11. expect(wrapper.exists()).toBeTruthy()
  12. expect(wrapper.isVueInstance()).toBeTruthy()
  13. })
  14. // props
  15. it('has props', () => {
  16. const wrapper = mount(D2CountUp, {
  17. propsData: {
  18. start: 0,
  19. end: 100,
  20. decimals: 0,
  21. duration: 2,
  22. options: {}
  23. }
  24. })
  25. expect(wrapper.props().start).toEqual(0)
  26. expect(wrapper.props().end).toEqual(100)
  27. expect(wrapper.props().decimals).toEqual(0)
  28. expect(wrapper.props().duration).toEqual(2)
  29. expect(wrapper.props().options).toEqual({})
  30. })
  31. // 开始数字,1秒后结束数字
  32. it('start number is 1, 1s later, end number is 99', (done) => {
  33. const wrapper = mount(D2CountUp, {
  34. propsData: {
  35. start: 1,
  36. end: 99,
  37. duration: 1
  38. }
  39. })
  40. expect(wrapper.text()).toBe('1')
  41. setTimeout(() => {
  42. expect(wrapper.text()).toBe('99')
  43. done()
  44. }, 1100)
  45. })
  46. // 小数位数
  47. it('start number is 1.00, 1s later, end number is 99.00', (done) => {
  48. const wrapper = mount(D2CountUp, {
  49. propsData: {
  50. start: 1,
  51. end: 99,
  52. decimals: 2,
  53. duration: 1
  54. }
  55. })
  56. expect(wrapper.text()).toBe('1.00')
  57. setTimeout(() => {
  58. expect(wrapper.text()).toBe('99.00')
  59. done()
  60. }, 1100)
  61. })
  62. })