ssrVModelHelpers.spec.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. /**
  2. * @jest-environment node
  3. */
  4. import {
  5. ssrRenderDynamicModel,
  6. ssrGetDynamicModelProps
  7. // ssrGetDynamicModelProps
  8. } from '../src/helpers/ssrVModelHelpers'
  9. describe('ssr: v-model helpers', () => {
  10. test('ssrRenderDynamicModel', () => {
  11. expect(ssrRenderDynamicModel(null, 'foo', null)).toBe(` value="foo"`)
  12. expect(ssrRenderDynamicModel('text', 'foo', null)).toBe(` value="foo"`)
  13. expect(ssrRenderDynamicModel('email', 'foo', null)).toBe(` value="foo"`)
  14. expect(ssrRenderDynamicModel('checkbox', true, null)).toBe(` checked`)
  15. expect(ssrRenderDynamicModel('checkbox', false, null)).toBe(``)
  16. expect(ssrRenderDynamicModel('checkbox', [1], '1')).toBe(` checked`)
  17. expect(ssrRenderDynamicModel('checkbox', [1], 1)).toBe(` checked`)
  18. expect(ssrRenderDynamicModel('checkbox', [1], 0)).toBe(``)
  19. expect(ssrRenderDynamicModel('radio', 'foo', 'foo')).toBe(` checked`)
  20. expect(ssrRenderDynamicModel('radio', 1, '1')).toBe(` checked`)
  21. expect(ssrRenderDynamicModel('radio', 1, 0)).toBe(``)
  22. })
  23. test('ssrGetDynamicModelProps', () => {
  24. expect(ssrGetDynamicModelProps({}, 'foo')).toMatchObject({ value: 'foo' })
  25. expect(
  26. ssrGetDynamicModelProps(
  27. {
  28. type: 'text'
  29. },
  30. 'foo'
  31. )
  32. ).toMatchObject({ value: 'foo' })
  33. expect(
  34. ssrGetDynamicModelProps(
  35. {
  36. type: 'email'
  37. },
  38. 'foo'
  39. )
  40. ).toMatchObject({ value: 'foo' })
  41. expect(
  42. ssrGetDynamicModelProps(
  43. {
  44. type: 'checkbox'
  45. },
  46. true
  47. )
  48. ).toMatchObject({ checked: true })
  49. expect(
  50. ssrGetDynamicModelProps(
  51. {
  52. type: 'checkbox'
  53. },
  54. false
  55. )
  56. ).toBe(null)
  57. expect(
  58. ssrGetDynamicModelProps(
  59. {
  60. type: 'checkbox',
  61. value: '1'
  62. },
  63. [1]
  64. )
  65. ).toMatchObject({ checked: true })
  66. expect(
  67. ssrGetDynamicModelProps(
  68. {
  69. type: 'checkbox',
  70. value: 1
  71. },
  72. [1]
  73. )
  74. ).toMatchObject({ checked: true })
  75. expect(
  76. ssrGetDynamicModelProps(
  77. {
  78. type: 'checkbox',
  79. value: 0
  80. },
  81. [1]
  82. )
  83. ).toBe(null)
  84. expect(
  85. ssrGetDynamicModelProps(
  86. {
  87. type: 'radio',
  88. value: 'foo'
  89. },
  90. 'foo'
  91. )
  92. ).toMatchObject({ checked: true })
  93. expect(
  94. ssrGetDynamicModelProps(
  95. {
  96. type: 'radio',
  97. value: '1'
  98. },
  99. 1
  100. )
  101. ).toMatchObject({ checked: true })
  102. expect(
  103. ssrGetDynamicModelProps(
  104. {
  105. type: 'radio',
  106. value: 0
  107. },
  108. 1
  109. )
  110. ).toBe(null)
  111. })
  112. })