@cnamts/synapse 1.0.13 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/README.md +72 -72
  2. package/dist/{DateFilter-_EFzsvvM.js → DateFilter-isr8mXVb.js} +1 -1
  3. package/dist/{NumberFilter-CUxEbKJh.js → NumberFilter-BOe7DqWX.js} +1 -1
  4. package/dist/{PeriodFilter-D5ueqtKy.js → PeriodFilter-WTprpO40.js} +1 -1
  5. package/dist/{SelectFilter-BciBNydy.js → SelectFilter-CqlG5dmI.js} +1 -1
  6. package/dist/{TextFilter-DMN_WAQB.js → TextFilter-fVW5bsRw.js} +1 -1
  7. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +60 -28
  8. package/dist/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.d.ts +3 -3
  9. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +60 -28
  10. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +61 -29
  11. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +5 -1
  12. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +3 -1
  13. package/dist/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.d.ts +1 -1
  14. package/dist/components/Captcha/Captcha.d.ts +2 -0
  15. package/dist/components/Captcha/CaptchaBase.d.ts +1 -0
  16. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +29 -17
  17. package/dist/components/Customs/SyTabs/SyTabs.d.ts +20 -0
  18. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +100 -10
  19. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +108 -21
  20. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +6 -6
  21. package/dist/components/DatePicker/composables/useDateFormatDisplay.d.ts +3 -0
  22. package/dist/components/DatePicker/tests/setup.d.ts +768 -48
  23. package/dist/components/FilterSideBar/FilterSideBar.d.ts +8 -0
  24. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +58 -34
  25. package/dist/components/LangBtn/LangBtn.d.ts +4 -0
  26. package/dist/components/PeriodField/PeriodField.d.ts +192 -12
  27. package/dist/components/RatingPicker/RatingPicker.d.ts +9 -0
  28. package/dist/components/SearchListField/SearchListField.d.ts +42 -413
  29. package/dist/components/SearchListField/locales.d.ts +1 -2
  30. package/dist/components/SyAlert/SyAlert.d.ts +1 -1
  31. package/dist/components/SyTextArea/SyTextArea.d.ts +2 -0
  32. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +15 -8
  33. package/dist/components/Tables/SyTable/SyTable.d.ts +15 -8
  34. package/dist/components/Tables/common/SyTablePagination.d.ts +29 -17
  35. package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +4 -0
  36. package/dist/components/Tables/common/types.d.ts +2 -0
  37. package/dist/design-system-v3.js +1 -1
  38. package/dist/design-system-v3.umd.cjs +32 -16
  39. package/dist/{main-DISHlqcd.js → main-CbBVJ_le.js} +9911 -9751
  40. package/dist/style.css +1 -1
  41. package/package.json +5 -2
  42. package/src/assets/amelipro/icons.ts +17 -0
  43. package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.stories.ts +40 -36
  44. package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/AmeliproAccordionGroup.spec.ts +226 -26
  45. package/src/components/Amelipro/AmeliproAccordionGroup/__tests__/__snapshots__/AmeliproAccordionGroup.spec.ts.snap +55 -506
  46. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.stories.ts +1 -1
  47. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +7 -2
  48. package/src/components/Amelipro/AmeliproAccordionList/__tests__/__snapshots__/AmeliproAccordionList.spec.ts.snap +2 -1
  49. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/__tests__/__snapshots__/AmeliproAccordionResultTemplate.spec.ts.snap +4 -1
  50. package/src/components/Amelipro/AmeliproAccordionResult/__tests__/__snapshots__/AmeliproAccordionResult.spec.ts.snap +4 -1
  51. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.stories.ts +1 -1
  52. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +9 -3
  53. package/src/components/Amelipro/AmeliproAccordionResultList/__tests__/__snapshots__/AmeliproAccordionResultList.spec.ts.snap +42 -11
  54. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.stories.ts +4 -4
  55. package/src/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.vue +7 -5
  56. package/src/components/Amelipro/AmeliproAutoCompleteField/__tests__/__snapshots__/AmeliproAutoCompleteField.spec.ts.snap +4 -2
  57. package/src/components/Amelipro/AmeliproBtn/AmeliproBtn.stories.ts +1 -40
  58. package/src/components/Amelipro/AmeliproBtn/AmeliproBtn.vue +4 -0
  59. package/src/components/Amelipro/AmeliproCallback/AmeliproCallback.stories.ts +4 -2
  60. package/src/components/Amelipro/AmeliproCaptcha/__tests__/__snapshots__/AmeliproCaptcha.spec.ts.snap +2 -1
  61. package/src/components/Amelipro/AmeliproClickableTile/AmeliproClickableTile.stories.ts +39 -29
  62. package/src/components/Amelipro/AmeliproCopyBtn/__tests__/__snapshots__/AmeliproCopyBtn.spec.ts.snap +4 -1
  63. package/src/components/Amelipro/AmeliproCustomSelector/AmeliproCustomSelector.vue +3 -3
  64. package/src/components/Amelipro/AmeliproCustomSelector/__tests__/__snapshots__/AmeliproCustomSelector.spec.ts.snap +8 -6
  65. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.mdx +3 -1
  66. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.stories.ts +23 -5
  67. package/src/components/Amelipro/AmeliproFilePreview/AmeliproFilePreview.vue +5 -6
  68. package/src/components/Amelipro/AmeliproFilePreview/__tests__/AmeliproFilePreview.spec.ts +2 -2
  69. package/src/components/Amelipro/AmeliproFilePreview/__tests__/__snapshots__/AmeliproFilePreview.spec.ts.snap +5 -6
  70. package/src/components/Amelipro/AmeliproFirstLogin/__tests__/__snapshots__/AmeliproFirstLogin.spec.ts.snap +4 -1
  71. package/src/components/Amelipro/AmeliproHeader/AmeliproHeader.vue +1 -2
  72. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproLogoAm/__tests__/AmeliproLogoAm.spec.ts +78 -0
  73. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproLogoAm/{tests → __tests__}/__snapshots__/AmeliproLogoAm.spec.ts.snap +64 -2
  74. package/src/components/Amelipro/AmeliproIcon/__tests__/AmeliproIcon.spec.ts +358 -0
  75. package/src/components/Amelipro/AmeliproIcon/{tests → __tests__}/__snapshots__/AmeliproIcon.spec.ts.snap +30 -3
  76. package/src/components/Amelipro/AmeliproIcon/iconList.ts +1 -0
  77. package/src/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.vue +1 -1
  78. package/src/components/Amelipro/AmeliproIconBtn/__tests__/AmeliproIconBtn.spec.ts +459 -0
  79. package/src/components/Amelipro/AmeliproIconBtn/__tests__/__snapshots__/AmeliproIconBtn.spec.ts.snap +58 -0
  80. package/src/components/Amelipro/AmeliproIllustratedDataTile/AmeliproIllustratedDataTile.stories.ts +38 -26
  81. package/src/components/Amelipro/AmeliproIllustratedDataTile/__tests__/AmeliproIllustratedDataTile.spec.ts +321 -0
  82. package/src/components/Amelipro/AmeliproIllustratedDataTile/__tests__/__snapshots__/AmeliproIllustratedDataTile.spec.ts.snap +148 -0
  83. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.stories.ts +14 -5
  84. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/AmeliproIllustratedRadioGroup.vue +1 -1
  85. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/AmeliproIllustratedRadioGroup.spec.ts +498 -0
  86. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/__tests__/__snapshots__/AmeliproIllustratedRadioGroup.spec.ts.snap +325 -0
  87. package/src/components/Amelipro/AmeliproMailTile/__tests__/AmeliproMailTile.spec.ts +210 -0
  88. package/src/components/Amelipro/AmeliproMailTile/__tests__/__snapshots__/AmeliproMailTile.spec.ts.snap +98 -0
  89. package/src/components/Amelipro/AmeliproMessage/__tests__/AmeliproMessage.spec.ts +446 -0
  90. package/src/components/Amelipro/AmeliproMessage/__tests__/__snapshots__/AmeliproMessage.spec.ts.snap +60 -0
  91. package/src/components/Amelipro/AmeliproMessagingLayout/__tests__/AmeliproMessagingLayout.spec.ts +300 -0
  92. package/src/components/Amelipro/AmeliproMessagingLayout/__tests__/__snapshots__/AmeliproMessagingLayout.spec.ts.snap +197 -0
  93. package/src/components/Amelipro/AmeliproNumberedCard/__tests__/AmeliproNumberedCard.spec.ts +117 -0
  94. package/src/components/Amelipro/AmeliproNumberedCard/{tests → __tests__}/__snapshots__/AmeliproNumberedCard.spec.ts.snap +47 -45
  95. package/src/components/Amelipro/AmeliproOnboarding/__tests__/AmeliproOnboarding.spec.ts +219 -0
  96. package/src/components/Amelipro/AmeliproOnboarding/__tests__/__snapshots__/AmeliproOnboarding.spec.ts.snap +41 -0
  97. package/src/components/Amelipro/AmeliproPageLayout/__tests__/AmeliproPageLayout.spec.ts +129 -0
  98. package/src/components/Amelipro/AmeliproPageLayout/__tests__/__snapshots__/AmeliproPageLayout.spec.ts.snap +189 -0
  99. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/__tests__/AmeliproPaginationBtn.spec.ts +92 -0
  100. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/__tests__/__snapshots__/AmeliproPaginationBtn.spec.ts.snap +56 -0
  101. package/src/components/Amelipro/AmeliproPagination/__tests__/AmeliproPagination.spec.ts +165 -0
  102. package/src/components/Amelipro/AmeliproPagination/__tests__/__snapshots__/AmeliproPagination.spec.ts.snap +83 -0
  103. package/src/components/Amelipro/AmeliproPatientBanner/__tests__/AmeliproPatientBanner.spec.ts +208 -0
  104. package/src/components/Amelipro/AmeliproPatientBanner/__tests__/__snapshots__/AmeliproPatientBanner.spec.ts.snap +285 -0
  105. package/src/components/Amelipro/AmeliproPatientLogged/__tests__/__snapshots__/AmeliproPatientLogged.spec.ts.snap +26 -7
  106. package/src/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/__tests__/__snapshots__/AmeliproPostalAddressCityRow.spec.ts.snap +12 -4
  107. package/src/components/Amelipro/AmeliproRadioGroup/AmeliproRadioGroup.stories.ts +28 -8
  108. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/AmeliproRadioGroup.spec.ts +332 -0
  109. package/src/components/Amelipro/AmeliproRadioGroup/__tests__/__snapshots__/AmeliproRadioGroup.spec.ts.snap +255 -0
  110. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.stories.ts +1 -2
  111. package/src/components/Amelipro/AmeliproResultList/AmeliproResultList.vue +3 -1
  112. package/src/components/Amelipro/AmeliproResultList/__tests__/__snapshots__/AmeliproResultList.spec.ts.snap +2 -1
  113. package/src/components/Amelipro/AmeliproSelect/AmeliproSelect.vue +11 -5
  114. package/src/components/Amelipro/AmeliproSelect/__tests__/AmeliproSelect.spec.ts +481 -0
  115. package/src/components/Amelipro/AmeliproSelect/__tests__/__snapshots__/AmeliproSelect.spec.ts.snap +117 -0
  116. package/src/components/Amelipro/AmeliproStateTile/AmeliproStateTile.vue +5 -2
  117. package/src/components/Amelipro/AmeliproStateTile/__tests__/AmeliproStateTile.spec.ts +206 -0
  118. package/src/components/Amelipro/AmeliproStateTile/__tests__/__snapshots__/AmeliproStateTile.spec.ts.snap +158 -0
  119. package/src/components/Amelipro/AmeliproStatus/__tests__/AmeliproStatus.spec.ts +120 -0
  120. package/src/components/Amelipro/AmeliproStatus/__tests__/__snapshots__/AmeliproStatus.spec.ts.snap +39 -0
  121. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/__tests__/AmeliproStepBtn.spec.ts +97 -0
  122. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/__tests__/__snapshots__/AmeliproStepBtn.spec.ts.snap +61 -0
  123. package/src/components/Amelipro/AmeliproStepper/__tests__/AmeliproStepper.spec.ts +248 -0
  124. package/src/components/Amelipro/AmeliproStepper/__tests__/__snapshots__/AmeliproStepper.spec.ts.snap +179 -0
  125. package/src/components/Amelipro/AmeliproTable/AmeliproTable.stories.ts +14 -13
  126. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +2 -1
  127. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +10 -3
  128. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/__tests__/AmeliproTabBtn.spec.ts +129 -0
  129. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/__tests__/__snapshots__/AmeliproTabBtn.spec.ts.snap +81 -0
  130. package/src/components/Amelipro/AmeliproTabs/AmeliproTabs.vue +2 -2
  131. package/src/components/Amelipro/AmeliproTabs/__tests__/AmeliproTabs.spec.ts +234 -0
  132. package/src/components/Amelipro/AmeliproTabs/__tests__/__snapshots__/AmeliproTabs.spec.ts.snap +122 -0
  133. package/src/components/Amelipro/AmeliproTextArea/AmeliproTextArea.vue +7 -5
  134. package/src/components/Amelipro/AmeliproTextArea/__tests__/AmeliproTextArea.spec.ts +265 -9
  135. package/src/components/Amelipro/AmeliproTextArea/__tests__/__snapshots__/AmeliproTextArea.spec.ts.snap +98 -155
  136. package/src/components/Amelipro/AmeliproTextField/AmeliproTextField.vue +7 -5
  137. package/src/components/Amelipro/AmeliproTextField/__tests__/AmeliproTextField.spec.ts +375 -0
  138. package/src/components/Amelipro/AmeliproTextField/__tests__/__snapshots__/AmeliproTextField.spec.ts.snap +143 -0
  139. package/src/components/Amelipro/AmeliproTileBtn/__tests__/AmeliproTileBtn.spec.ts +241 -0
  140. package/src/components/Amelipro/AmeliproTileBtn/__tests__/__snapshots__/AmeliproTileBtn.spec.ts.snap +74 -0
  141. package/src/components/Amelipro/AmeliproTooltips/__tests__/AmeliproTooltips.spec.ts +212 -0
  142. package/src/components/Amelipro/AmeliproTooltips/__tests__/__snapshots__/AmeliproTooltips.spec.ts.snap +71 -0
  143. package/src/components/Amelipro/AmeliproTransmission/__tests__/AmeliproTransmission.spec.ts +155 -0
  144. package/src/components/Amelipro/AmeliproTransmission/__tests__/__snapshots__/AmeliproTransmission.spec.ts.snap +240 -0
  145. package/src/components/Amelipro/AmeliproUpload/AmeliproUpload.stories.ts +0 -1
  146. package/src/components/Amelipro/ServiceMenu/tests/__snapshots__/ServiceMenu.spec.ts.snap +4 -1
  147. package/src/components/Amelipro/StructureMenu/StructureBtn/StructureBtn.vue +4 -0
  148. package/src/components/Amelipro/StructureMenu/StructureTabs/StructureTabs.vue +4 -5
  149. package/src/components/Amelipro/StructureMenu/StructureTabs/tests/__snapshots__/StructureTabs.spec.ts.snap +5 -4
  150. package/src/components/Amelipro/StructureMenu/tests/__snapshots__/StructureMenu.spec.ts.snap +13 -6
  151. package/src/components/Amelipro/UserMenu/UserMenu.vue +2 -1
  152. package/src/components/Amelipro/UserMenu/tests/__snapshots__/UserMenu.spec.ts.snap +4 -1
  153. package/src/components/Captcha/Captcha.mdx +4 -4
  154. package/src/components/Captcha/Captcha.stories.ts +8 -1
  155. package/src/components/Captcha/Captcha.vue +3 -0
  156. package/src/components/Captcha/CaptchaBase.vue +3 -0
  157. package/src/components/Captcha/captchaApi.ts +0 -1
  158. package/src/components/Customs/Selects/SySelect/SySelect.vue +2 -2
  159. package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +5 -0
  160. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +1 -1
  161. package/src/components/Customs/SyTabs/SyTabs.stories.ts +174 -10
  162. package/src/components/Customs/SyTabs/SyTabs.vue +62 -0
  163. package/src/components/Customs/SyTabs/tests/SyTabs.spec.ts +98 -0
  164. package/src/components/DatePicker/CalendarMode/DatePicker.stories.ts +13 -13
  165. package/src/components/DatePicker/CalendarMode/DatePicker.vue +13 -0
  166. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +11 -11
  167. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +5 -0
  168. package/src/components/DatePicker/DatePickerValidationExample/DatePickerValidation.mdx +7 -0
  169. package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +1 -1
  170. package/src/components/DatePicker/DateTextInput/DateTextInput.spec.ts +3 -3
  171. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +50 -2
  172. package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +15 -15
  173. package/src/components/DatePicker/composables/tests/useDateFormatValidation.spec.ts +2 -2
  174. package/src/components/DatePicker/composables/tests/useManualDateValidation.spec.ts +1 -1
  175. package/src/components/DatePicker/composables/useDateFormatDisplay.ts +25 -0
  176. package/src/components/DatePicker/composables/useDateFormatValidation.ts +5 -2
  177. package/src/components/DatePicker/composables/useManualDateValidation.ts +5 -1
  178. package/src/components/DatePicker/tests/DatePicker.validation.spec.ts +1 -1
  179. package/src/components/ErrorPage/ErrorPage.vue +54 -7
  180. package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +6 -2
  181. package/src/components/ExternalLinks/ExternalLinks.vue +2 -4
  182. package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +6 -2
  183. package/src/components/PasswordField/PasswordField.vue +6 -6
  184. package/src/components/RangeField/RangeSlider/RangeSlider.vue +3 -2
  185. package/src/components/RatingPicker/EmotionPicker/EmotionPicker.vue +2 -1
  186. package/src/components/RatingPicker/NumberPicker/NumberPicker.vue +2 -0
  187. package/src/components/RatingPicker/RatingPicker.stories.ts +10 -0
  188. package/src/components/RatingPicker/RatingPicker.vue +23 -1
  189. package/src/components/RatingPicker/StarsPicker/StarsPicker.vue +2 -0
  190. package/src/components/SearchListField/Accessibilite.stories.ts +4 -0
  191. package/src/components/SearchListField/SearchListField.stories.ts +16 -0
  192. package/src/components/SearchListField/SearchListField.vue +121 -109
  193. package/src/components/SearchListField/locales.ts +11 -2
  194. package/src/components/SearchListField/tests/SearchListField.spec.ts +91 -25
  195. package/src/components/SyAlert/SyAlert.vue +8 -0
  196. package/src/components/SyAlert/tests/SyAlert.spec.ts +1 -22
  197. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +304 -0
  198. package/src/components/Tables/SyServerTable/SyServerTable.vue +12 -4
  199. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +67 -0
  200. package/src/components/Tables/SyTable/SyTable.stories.ts +186 -0
  201. package/src/components/Tables/SyTable/SyTable.vue +12 -4
  202. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +65 -1
  203. package/src/components/Tables/common/types.ts +2 -0
  204. package/src/composables/rules/useFieldValidation.ts +47 -7
  205. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproLogoAm/tests/AmeliproLogoAm.spec.ts +0 -15
  206. package/src/components/Amelipro/AmeliproIcon/tests/AmeliproIcon.spec.ts +0 -19
  207. package/src/components/Amelipro/AmeliproIconBtn/tests/AmeliproIconBtn.spec.ts +0 -22
  208. package/src/components/Amelipro/AmeliproIconBtn/tests/__snapshots__/AmeliproIconBtn.spec.ts.snap +0 -87
  209. package/src/components/Amelipro/AmeliproIllustratedDataTile/tests/AmeliproIllustratedDataTile.spec.ts +0 -20
  210. package/src/components/Amelipro/AmeliproIllustratedDataTile/tests/__snapshots__/AmeliproIllustratedDataTile.spec.ts.snap +0 -69
  211. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/tests/AmeliproIllustratedRadioGroup.spec.ts +0 -53
  212. package/src/components/Amelipro/AmeliproIllustratedRadioGroup/tests/__snapshots__/AmeliproIllustratedRadioGroup.spec.ts.snap +0 -544
  213. package/src/components/Amelipro/AmeliproMailTile/tests/AmeliproMailTile.spec.ts +0 -25
  214. package/src/components/Amelipro/AmeliproMailTile/tests/__snapshots__/AmeliproMailTile.spec.ts.snap +0 -164
  215. package/src/components/Amelipro/AmeliproMessage/tests/AmeliproMessage.spec.ts +0 -18
  216. package/src/components/Amelipro/AmeliproMessage/tests/__snapshots__/AmeliproMessage.spec.ts.snap +0 -94
  217. package/src/components/Amelipro/AmeliproMessagingLayout/tests/AmeliproMessagingLayout.spec.ts +0 -30
  218. package/src/components/Amelipro/AmeliproMessagingLayout/tests/__snapshots__/AmeliproMessagingLayout.spec.ts.snap +0 -439
  219. package/src/components/Amelipro/AmeliproNumberedCard/tests/AmeliproNumberedCard.spec.ts +0 -23
  220. package/src/components/Amelipro/AmeliproOnboarding/tests/AmeliproOnboarding.spec.ts +0 -41
  221. package/src/components/Amelipro/AmeliproOnboarding/tests/__snapshots__/AmeliproOnboarding.spec.ts.snap +0 -3
  222. package/src/components/Amelipro/AmeliproPageLayout/tests/AmeliproPageLayout.spec.ts +0 -183
  223. package/src/components/Amelipro/AmeliproPageLayout/tests/__snapshots__/AmeliproPageLayout.spec.ts.snap +0 -1602
  224. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/tests/AmeliproPaginationBtn.spec.ts +0 -15
  225. package/src/components/Amelipro/AmeliproPagination/AmeliproPaginationBtn/tests/__snapshots__/AmeliproPaginationBtn.spec.ts.snap +0 -46
  226. package/src/components/Amelipro/AmeliproPagination/tests/AmeliproPagination.spec.ts +0 -15
  227. package/src/components/Amelipro/AmeliproPagination/tests/__snapshots__/AmeliproPagination.spec.ts.snap +0 -116
  228. package/src/components/Amelipro/AmeliproPatientBanner/tests/AmeliproPatientBanner.spec.ts +0 -24
  229. package/src/components/Amelipro/AmeliproPatientBanner/tests/__snapshots__/AmeliproPatientBanner.spec.ts.snap +0 -268
  230. package/src/components/Amelipro/AmeliproRadioGroup/tests/AmeliproRadioGroup.spec.ts +0 -43
  231. package/src/components/Amelipro/AmeliproRadioGroup/tests/__snapshots__/AmeliproRadioGroup.spec.ts.snap +0 -262
  232. package/src/components/Amelipro/AmeliproSelect/tests/AmeliproSelect.spec.ts +0 -38
  233. package/src/components/Amelipro/AmeliproSelect/tests/__snapshots__/AmeliproSelect.spec.ts.snap +0 -196
  234. package/src/components/Amelipro/AmeliproStateTile/tests/AmeliproStateTile.spec.ts +0 -20
  235. package/src/components/Amelipro/AmeliproStateTile/tests/__snapshots__/AmeliproStateTile.spec.ts.snap +0 -90
  236. package/src/components/Amelipro/AmeliproStatus/tests/AmeliproStatus.spec.ts +0 -16
  237. package/src/components/Amelipro/AmeliproStatus/tests/__snapshots__/AmeliproStatus.spec.ts.snap +0 -21
  238. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/tests/AmeliproStepBtn.spec.ts +0 -18
  239. package/src/components/Amelipro/AmeliproStepper/AmeliproStepBtn/tests/__snapshots__/AmeliproStepBtn.spec.ts.snap +0 -34
  240. package/src/components/Amelipro/AmeliproStepper/tests/AmeliproStepper.spec.ts +0 -36
  241. package/src/components/Amelipro/AmeliproStepper/tests/__snapshots__/AmeliproStepper.spec.ts.snap +0 -354
  242. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/tests/AmeliproTabBtn.spec.ts +0 -20
  243. package/src/components/Amelipro/AmeliproTabs/AmeliproTabBtn/tests/__snapshots__/AmeliproTabBtn.spec.ts.snap +0 -34
  244. package/src/components/Amelipro/AmeliproTabs/tests/AmeliproTabs.spec.ts +0 -39
  245. package/src/components/Amelipro/AmeliproTabs/tests/__snapshots__/AmeliproTabs.spec.ts.snap +0 -217
  246. package/src/components/Amelipro/AmeliproTextField/tests/AmeliproTextField.spec.ts +0 -16
  247. package/src/components/Amelipro/AmeliproTextField/tests/__snapshots__/AmeliproTextField.spec.ts.snap +0 -162
  248. package/src/components/Amelipro/AmeliproTileBtn/tests/AmeliproTileBtn.spec.ts +0 -17
  249. package/src/components/Amelipro/AmeliproTileBtn/tests/__snapshots__/AmeliproTileBtn.spec.ts.snap +0 -65
  250. package/src/components/Amelipro/AmeliproTooltips/tests/AmeliproTooltips.spec.ts +0 -16
  251. package/src/components/Amelipro/AmeliproTooltips/tests/__snapshots__/AmeliproTooltips.spec.ts.snap +0 -105
  252. package/src/components/Amelipro/AmeliproTransmission/tests/AmeliproTransmission.spec.ts +0 -16
  253. package/src/components/Amelipro/AmeliproTransmission/tests/__snapshots__/AmeliproTransmission.spec.ts.snap +0 -246
  254. package/src/components/SyAlert/tests/__snapshots__/SyAlert.spec.ts.snap +0 -99
@@ -0,0 +1,300 @@
1
+ import { VueWrapper, mount, shallowMount } from '@vue/test-utils'
2
+ import { afterEach, beforeEach, describe, expect, it } from 'vitest'
3
+ import { AmeliproBtn } from '@/components/'
4
+ import AmeliproDropdownMenu from '../AmeliproDropdownMenu/AmeliproDropdownMenu.vue'
5
+ import AmeliproMessagingLayout from '../AmeliproMessagingLayout.vue'
6
+ import type { ComponentProps } from 'vue-component-type-helpers'
7
+ import { DisplayTestComponent } from '@tests/helpers/utils'
8
+ import type { ExpectedPropOptions } from '@tests/types'
9
+ import type { MessagingMenuTypes } from '../types'
10
+ import type { PropType } from 'vue'
11
+ import TestHelper from '@tests/helpers/TestHelper'
12
+
13
+ const expectedPropOptions: ExpectedPropOptions<typeof AmeliproMessagingLayout> = {
14
+ items: {
15
+ type: Array as PropType<MessagingMenuTypes[]>,
16
+ default: () => [],
17
+ },
18
+ mainContentBg: {
19
+ type: String,
20
+ default: 'ap-grey-lighten-5',
21
+ },
22
+ menuWidth: {
23
+ type: String,
24
+ default: '255px',
25
+ },
26
+ newMessageDisable: {
27
+ type: Boolean,
28
+ default: false,
29
+ },
30
+ uniqueId: {
31
+ type: String,
32
+ required: true,
33
+ },
34
+ }
35
+
36
+ const itemsData = () => [
37
+ {
38
+ href: '#',
39
+ icon: 'discussion',
40
+ label: 'À traiter',
41
+ unreadNumber: 1,
42
+ },
43
+ {
44
+ active: true,
45
+ href: '#',
46
+ icon: 'horlogeFlecheDroiteNoCircle',
47
+ label: 'En cours',
48
+ },
49
+ {
50
+ href: '#',
51
+ icon: 'ecrire',
52
+ label: 'Brouillons',
53
+ unreadNumber: 1,
54
+ },
55
+ {
56
+ href: '#',
57
+ icon: 'boite',
58
+ label: 'Clos',
59
+ unreadNumber: 1,
60
+ },
61
+ ]
62
+
63
+ // Values pour les props "required"
64
+ const requiredPropValues = (): ComponentProps<typeof AmeliproMessagingLayout> => ({ uniqueId: 'required-unique-id' })
65
+
66
+ // Valeurs pour les props "modified"
67
+ const modifiedPropValues = (): ComponentProps<typeof AmeliproMessagingLayout> => ({
68
+ items: itemsData(),
69
+ mainContentBg: 'ap-white',
70
+ menuWidth: '300px',
71
+ newMessageDisable: true,
72
+ uniqueId: 'modified-unique-id',
73
+ })
74
+
75
+ const testHelper = new TestHelper(AmeliproMessagingLayout)
76
+ testHelper.setExpectedPropOptions(expectedPropOptions)
77
+ .setRequiredPropValues(requiredPropValues)
78
+ .setModifiedPropValues(modifiedPropValues)
79
+
80
+ const displayWrapper = mount(DisplayTestComponent)
81
+
82
+ describe('AmeliproMessagingLayout', () => {
83
+ describe('Snapshots', () => {
84
+ testHelper.snapshots()
85
+ })
86
+
87
+ describe('Properties', () => {
88
+ testHelper.properties()
89
+ })
90
+
91
+ describe('Setting props should update attributes of inner tags', () => {
92
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproMessagingLayout>>
93
+
94
+ describe('root', () => {
95
+ beforeEach(() => {
96
+ vueWrapper = shallowMount(AmeliproMessagingLayout, { props: requiredPropValues() })
97
+ })
98
+
99
+ it('prop uniqueId sets attribute id', async () => {
100
+ expect(vueWrapper.attributes('id')).toBe(testHelper.default('uniqueId'))
101
+
102
+ const { uniqueId } = modifiedPropValues()
103
+ await vueWrapper.setProps({ uniqueId })
104
+ expect(vueWrapper.attributes('id')).toBe(testHelper.modified('uniqueId'))
105
+ })
106
+ })
107
+
108
+ describe('menu', () => {
109
+ beforeEach(() => {
110
+ vueWrapper = shallowMount(AmeliproMessagingLayout, { props: requiredPropValues() })
111
+ })
112
+
113
+ it('prop uniqueId sets attribute id', async () => {
114
+ expect(vueWrapper.find('.messaging-menu').attributes('id')).toBe(`${testHelper.default('uniqueId')}-menu`)
115
+
116
+ const { uniqueId } = modifiedPropValues()
117
+ await vueWrapper.setProps({ uniqueId })
118
+ expect(vueWrapper.find('.messaging-menu').attributes('id')).toBe(`${testHelper.modified('uniqueId')}-menu`)
119
+ })
120
+
121
+ it('prop menuWidth & display width set attribute style', async () => {
122
+ displayWrapper.vm.setMdAndUp(true)
123
+ await vueWrapper.vm.$nextTick()
124
+ expect(vueWrapper.find('.messaging-menu').attributes('style')).toBe('min-width: 255px;')
125
+
126
+ const { menuWidth } = modifiedPropValues()
127
+ await vueWrapper.setProps({ menuWidth })
128
+ expect(vueWrapper.find('.messaging-menu').attributes('style')).toBe('min-width: 300px;')
129
+
130
+ displayWrapper.vm.setMdAndUp(false)
131
+ await vueWrapper.vm.$nextTick()
132
+ expect(vueWrapper.find('.messaging-menu').attributes('style')).toBe('min-width: 100%;')
133
+ })
134
+ })
135
+
136
+ describe('menu desktop', () => {
137
+ beforeEach(() => {
138
+ vueWrapper = shallowMount(AmeliproMessagingLayout, { props: requiredPropValues() })
139
+ })
140
+
141
+ afterEach(() => {
142
+ displayWrapper.vm.resetDefaults()
143
+ })
144
+
145
+ it('prop display width sets tag visibility', async () => {
146
+ displayWrapper.vm.setMdAndUp(true)
147
+ await vueWrapper.vm.$nextTick()
148
+ expect(vueWrapper.find('.messaging-menu--desktop').exists()).toBe(true)
149
+
150
+ displayWrapper.vm.setMdAndUp(false)
151
+ await vueWrapper.vm.$nextTick()
152
+ expect(vueWrapper.find('.messaging-menu--desktop').exists()).toBe(false)
153
+ })
154
+
155
+ it('prop uniqueId sets attribute id', async () => {
156
+ displayWrapper.vm.setMdAndUp(true)
157
+ await vueWrapper.vm.$nextTick()
158
+ expect(vueWrapper.find('.messaging-menu--desktop').attributes('id')).toBe(`${testHelper.default('uniqueId')}-messaging-menu-desktop`)
159
+
160
+ const { uniqueId } = modifiedPropValues()
161
+ await vueWrapper.setProps({ uniqueId })
162
+ expect(vueWrapper.find('.messaging-menu--desktop').attributes('id')).toBe(`${testHelper.modified('uniqueId')}-messaging-menu-desktop`)
163
+ })
164
+ })
165
+
166
+ describe('menu list', () => {
167
+ beforeEach(() => {
168
+ vueWrapper = shallowMount(AmeliproMessagingLayout, { props: requiredPropValues() })
169
+ })
170
+
171
+ it('prop uniqueId sets attribute id', async () => {
172
+ expect(vueWrapper.find('.messaging-menu--desktop .list-style-none').attributes('id')).toBe(`${testHelper.default('uniqueId')}-messaging-menu-list`)
173
+
174
+ const { uniqueId } = modifiedPropValues()
175
+ await vueWrapper.setProps({ uniqueId })
176
+ expect(vueWrapper.find('.messaging-menu--desktop .list-style-none').attributes('id')).toBe(`${testHelper.modified('uniqueId')}-messaging-menu-list`)
177
+ })
178
+ })
179
+
180
+ describe('menu list items', () => {
181
+ beforeEach(() => {
182
+ vueWrapper = shallowMount(AmeliproMessagingLayout, { props: requiredPropValues() })
183
+ })
184
+
185
+ it('prop items sets items', async () => {
186
+ expect(vueWrapper.findAll('.messaging-menu--desktop .list-style-none li').length).toBe(0)
187
+
188
+ const { items } = modifiedPropValues()
189
+ await vueWrapper.setProps({ items })
190
+ expect(vueWrapper.findAll('.messaging-menu--desktop .list-style-none li').length).toBe(4)
191
+ })
192
+ })
193
+
194
+ describe('menu mobile', () => {
195
+ beforeEach(() => {
196
+ vueWrapper = shallowMount(AmeliproMessagingLayout, { props: requiredPropValues() })
197
+ })
198
+
199
+ afterEach(() => {
200
+ displayWrapper.vm.resetDefaults()
201
+ })
202
+
203
+ it('prop display width sets tag visibility', async () => {
204
+ displayWrapper.vm.setMdAndUp(true)
205
+ await vueWrapper.vm.$nextTick()
206
+ expect(vueWrapper.find('.messaging-menu__dropdown-menu').exists()).toBe(false)
207
+
208
+ displayWrapper.vm.setMdAndUp(false)
209
+ await vueWrapper.vm.$nextTick()
210
+ expect(vueWrapper.find('.messaging-menu__dropdown-menu').exists()).toBe(true)
211
+ })
212
+
213
+ it('prop uniqueId sets attribute id', async () => {
214
+ displayWrapper.vm.setMdAndUp(false)
215
+ await vueWrapper.vm.$nextTick()
216
+ expect(vueWrapper.find('.messaging-menu__dropdown-menu').attributes('id')).toBe(`${testHelper.default('uniqueId')}-messaging-menu-mobile`)
217
+
218
+ const { uniqueId } = modifiedPropValues()
219
+ await vueWrapper.setProps({ uniqueId })
220
+ expect(vueWrapper.find('.messaging-menu__dropdown-menu').attributes('id')).toBe(`${testHelper.modified('uniqueId')}-messaging-menu-mobile`)
221
+ })
222
+ })
223
+
224
+ describe('content', () => {
225
+ beforeEach(() => {
226
+ vueWrapper = shallowMount(AmeliproMessagingLayout, { props: requiredPropValues() })
227
+ })
228
+
229
+ it('prop uniqueId sets attribute id', async () => {
230
+ await vueWrapper.vm.$nextTick()
231
+ expect(vueWrapper.find('.amelipro-messaging-layout__content').attributes('id')).toBe(`${testHelper.default('uniqueId')}-content`)
232
+
233
+ const { uniqueId } = modifiedPropValues()
234
+ await vueWrapper.setProps({ uniqueId })
235
+ expect(vueWrapper.find('.amelipro-messaging-layout__content').attributes('id')).toBe(`${testHelper.modified('uniqueId')}-content`)
236
+ })
237
+
238
+ it('prop mainContentBg sets prop style', async () => {
239
+ expect(vueWrapper.find('.amelipro-messaging-layout__content').attributes('style')).toBe('background-color: #FAFAFA;')
240
+
241
+ const { mainContentBg } = modifiedPropValues()
242
+ await vueWrapper.setProps({ mainContentBg })
243
+ expect(vueWrapper.find('.amelipro-messaging-layout__content').attributes('style')).toBe('background-color: #FFFFFF;')
244
+ })
245
+ })
246
+ })
247
+
248
+ describe('Computed', () => {
249
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproMessagingLayout>>
250
+ beforeEach(() => {
251
+ vueWrapper = shallowMount(AmeliproMessagingLayout, { props: { ...requiredPropValues(), items: testHelper.modified('items') } })
252
+ })
253
+
254
+ afterEach(() => {
255
+ displayWrapper.vm.resetDefaults()
256
+ })
257
+
258
+ it('test menuItems', async () => {
259
+ displayWrapper.vm.setMdAndUp(false)
260
+ await vueWrapper.vm.$nextTick()
261
+ expect(vueWrapper.findComponent(AmeliproDropdownMenu).props('items')).toStrictEqual([
262
+ {
263
+ active: undefined,
264
+ href: '#',
265
+ label: 'À traiter',
266
+ to: undefined,
267
+ },
268
+ {
269
+ active: true,
270
+ href: '#',
271
+ label: 'En cours',
272
+ to: undefined,
273
+ },
274
+ {
275
+ active: undefined,
276
+ href: '#',
277
+ label: 'Brouillons',
278
+ to: undefined,
279
+ },
280
+ {
281
+ active: undefined,
282
+ href: '#',
283
+ label: 'Clos',
284
+ to: undefined,
285
+ },
286
+ ])
287
+ })
288
+ })
289
+
290
+ describe('Events', () => {
291
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproMessagingLayout>>
292
+ it('test emitNewMessageEvent', async () => {
293
+ vueWrapper = shallowMount(AmeliproMessagingLayout, { props: { ...requiredPropValues(), newMessageDisable: false } })
294
+ expect(vueWrapper.emitted('click-new-message')).toStrictEqual(undefined)
295
+
296
+ await vueWrapper.findComponent(AmeliproBtn).trigger('click')
297
+ expect(vueWrapper.emitted('click-new-message')).toStrictEqual([[]])
298
+ })
299
+ })
300
+ })
@@ -0,0 +1,197 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`AmeliproMessagingLayout > Snapshots > renders the component with all properties filled in 1`] = `
4
+ <div
5
+ class="
6
+ amelipro-messaging-layout
7
+ d-flex
8
+ flex-column
9
+ flex-md-row
10
+ "
11
+ id="modified-unique-id"
12
+ >
13
+ <nav
14
+ aria-label="Menu messagerie"
15
+ class="
16
+ align-sm-center
17
+ bg-ap-blue-darken-1
18
+ d-block
19
+ d-md-block
20
+ d-sm-flex
21
+ messaging-menu
22
+ "
23
+ id="modified-unique-id-menu"
24
+ role="navigation"
25
+ style="min-width: 300px;"
26
+ >
27
+ <div class="messaging-menu__new-message">
28
+ <amelipro-btn-stub
29
+ badge="false"
30
+ badgebgcolor="ap-pink"
31
+ badgecolor="ap-white"
32
+ bordered="true"
33
+ class="
34
+ font-weight-bold
35
+ messaging-menu__new-message-btn
36
+ px-5
37
+ "
38
+ color="ap-grey-lighten-2"
39
+ disabled="true"
40
+ hovercolor="ap-grey-lighten-2"
41
+ hoverunderline="false"
42
+ iconbgcolor="transparent"
43
+ iconbordered="false"
44
+ iconcolor="ap-grey"
45
+ iconleft="true"
46
+ iconname="pencilNoCircle"
47
+ infoblock="false"
48
+ minheight="2.5rem"
49
+ size="60px"
50
+ text="false"
51
+ textcolor="ap-grey"
52
+ type="button"
53
+ underline="false"
54
+ uniqueid="modified-unique-id-new-message-btn"
55
+ ></amelipro-btn-stub>
56
+ </div>
57
+ <div
58
+ class="
59
+ messaging-menu--desktop
60
+ w-100
61
+ "
62
+ id="modified-unique-id-messaging-menu-desktop"
63
+ >
64
+ <ul
65
+ class="list-style-none"
66
+ id="modified-unique-id-messaging-menu-list"
67
+ >
68
+ <li>
69
+ <amelipro-messaging-menu-btn-stub
70
+ active="false"
71
+ href="#"
72
+ icon="discussion"
73
+ label="À traiter"
74
+ uniqueid="modified-unique-id-menu-btn-0"
75
+ unreadnumber="1"
76
+ ></amelipro-messaging-menu-btn-stub>
77
+ </li>
78
+ <li>
79
+ <amelipro-messaging-menu-btn-stub
80
+ active="true"
81
+ href="#"
82
+ icon="horlogeFlecheDroiteNoCircle"
83
+ label="En cours"
84
+ uniqueid="modified-unique-id-menu-btn-1"
85
+ ></amelipro-messaging-menu-btn-stub>
86
+ </li>
87
+ <li>
88
+ <amelipro-messaging-menu-btn-stub
89
+ active="false"
90
+ href="#"
91
+ icon="ecrire"
92
+ label="Brouillons"
93
+ uniqueid="modified-unique-id-menu-btn-2"
94
+ unreadnumber="1"
95
+ ></amelipro-messaging-menu-btn-stub>
96
+ </li>
97
+ <li>
98
+ <amelipro-messaging-menu-btn-stub
99
+ active="false"
100
+ href="#"
101
+ icon="boite"
102
+ label="Clos"
103
+ uniqueid="modified-unique-id-menu-btn-3"
104
+ unreadnumber="1"
105
+ ></amelipro-messaging-menu-btn-stub>
106
+ </li>
107
+ </ul>
108
+ </div>
109
+ </nav>
110
+ <div
111
+ class="
112
+ amelipro-messaging-layout__content
113
+ w-100
114
+ "
115
+ id="modified-unique-id-content"
116
+ style="background-color: #FFFFFF;"
117
+ ></div>
118
+ </div>
119
+ `;
120
+
121
+ exports[`AmeliproMessagingLayout > Snapshots > renders the component with only required properties filled in 1`] = `
122
+ <div
123
+ class="
124
+ amelipro-messaging-layout
125
+ d-flex
126
+ flex-column
127
+ flex-md-row
128
+ "
129
+ id="required-unique-id"
130
+ >
131
+ <nav
132
+ aria-label="Menu messagerie"
133
+ class="
134
+ align-sm-center
135
+ bg-ap-blue-darken-1
136
+ d-block
137
+ d-md-block
138
+ d-sm-flex
139
+ messaging-menu
140
+ "
141
+ id="required-unique-id-menu"
142
+ role="navigation"
143
+ style="min-width: 255px;"
144
+ >
145
+ <div class="messaging-menu__new-message">
146
+ <amelipro-btn-stub
147
+ badge="false"
148
+ badgebgcolor="ap-pink"
149
+ badgecolor="ap-white"
150
+ bordered="true"
151
+ class="
152
+ font-weight-bold
153
+ messaging-menu__new-message-btn
154
+ px-5
155
+ "
156
+ color="ap-blue-darken-1"
157
+ disabled="false"
158
+ hovercolor="ap-blue-darken-2"
159
+ hoverunderline="false"
160
+ iconbgcolor="transparent"
161
+ iconbordered="false"
162
+ iconcolor="ap-white"
163
+ iconleft="true"
164
+ iconname="pencilNoCircle"
165
+ infoblock="false"
166
+ minheight="2.5rem"
167
+ size="60px"
168
+ text="false"
169
+ textcolor="ap-white"
170
+ type="button"
171
+ underline="false"
172
+ uniqueid="required-unique-id-new-message-btn"
173
+ ></amelipro-btn-stub>
174
+ </div>
175
+ <div
176
+ class="
177
+ messaging-menu--desktop
178
+ w-100
179
+ "
180
+ id="required-unique-id-messaging-menu-desktop"
181
+ >
182
+ <ul
183
+ class="list-style-none"
184
+ id="required-unique-id-messaging-menu-list"
185
+ ></ul>
186
+ </div>
187
+ </nav>
188
+ <div
189
+ class="
190
+ amelipro-messaging-layout__content
191
+ w-100
192
+ "
193
+ id="required-unique-id-content"
194
+ style="background-color: #FAFAFA;"
195
+ ></div>
196
+ </div>
197
+ `;
@@ -0,0 +1,117 @@
1
+ import { VueWrapper, shallowMount } from '@vue/test-utils'
2
+ import { beforeEach, describe, expect, it } from 'vitest'
3
+ import AmeliproNumberedCard from '../AmeliproNumberedCard.vue'
4
+ import type { AmeliproNumberedCardItem } from '../types'
5
+ import type { ComponentProps } from 'vue-component-type-helpers'
6
+ import type { ExpectedPropOptions } from '@tests/types'
7
+ import type { PropType } from 'vue'
8
+ import TestHelper from '@tests/helpers/TestHelper'
9
+
10
+ const expectedPropOptions: ExpectedPropOptions<typeof AmeliproNumberedCard> = {
11
+ borderColor: {
12
+ type: String,
13
+ default: 'ap-grey-lighten-2',
14
+ },
15
+ bordered: {
16
+ type: Boolean,
17
+ default: true,
18
+ },
19
+ cardColor: {
20
+ type: String,
21
+ default: 'ap-white',
22
+ },
23
+ contentClasses: {
24
+ type: String,
25
+ default: undefined,
26
+ },
27
+ items: {
28
+ type: Array as PropType<AmeliproNumberedCardItem[]>,
29
+ required: true,
30
+ },
31
+ itemsPerLine: {
32
+ type: Number,
33
+ default: 2,
34
+ },
35
+ uniqueId: {
36
+ type: String,
37
+ required: true,
38
+ },
39
+ }
40
+
41
+ // Values pour les props "required"
42
+ const requiredPropValues = (): ComponentProps<typeof AmeliproNumberedCard> => ({
43
+ uniqueId: 'required-unique-id',
44
+ items: [],
45
+ })
46
+
47
+ // Valeurs pour les props "modified"
48
+ const modifiedPropValues = (): ComponentProps<typeof AmeliproNumberedCard> => ({
49
+ borderColor: 'ap-blue',
50
+ bordered: false,
51
+ cardColor: 'ap-grey',
52
+ contentClasses: 'modified-content-classes',
53
+ items: [
54
+ {
55
+ email: 'modified-jean.bernard@gmail.com',
56
+ firstname: 'Modified Jean',
57
+ id: 0,
58
+ name: 'Modified Bernard',
59
+ },
60
+ {
61
+ email: 'modified-simon.pierre@gmail.com',
62
+ firstname: 'Modified Simon',
63
+ id: 1,
64
+ name: 'Modified Pierre',
65
+ },
66
+ {
67
+ email: 'modified-michel.souris@gmail.com',
68
+ firstname: 'Modified Michel',
69
+ id: 2,
70
+ name: 'Modified Souris',
71
+ },
72
+ ],
73
+ itemsPerLine: 3,
74
+ uniqueId: 'modified-unique-id',
75
+ })
76
+
77
+ const testHelper = new TestHelper(AmeliproNumberedCard)
78
+ testHelper.setExpectedPropOptions(expectedPropOptions)
79
+ .setRequiredPropValues(requiredPropValues)
80
+ .setModifiedPropValues(modifiedPropValues)
81
+
82
+ describe('AmeliproNumberedCard', () => {
83
+ describe('Snapshots', () => {
84
+ testHelper.snapshots()
85
+ })
86
+
87
+ describe('Properties', () => {
88
+ testHelper.properties()
89
+ })
90
+
91
+ describe('Computed', () => {
92
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproNumberedCard>>
93
+ beforeEach(() => {
94
+ vueWrapper = shallowMount(AmeliproNumberedCard, { props: { ...requiredPropValues(), items: testHelper.modified('items') } })
95
+ })
96
+
97
+ it('generalCardStyles returns the good styles', async () => {
98
+ expect(vueWrapper.find('.amelipro-card--numbered').attributes('style')).toStrictEqual('background-color: #FFFFFF; border: 1px solid #DDDEDE;')
99
+
100
+ const { borderColor, bordered, cardColor } = modifiedPropValues()
101
+ await vueWrapper.setProps({ borderColor, cardColor })
102
+ expect(vueWrapper.find('.amelipro-card--numbered').attributes('style')).toStrictEqual('background-color: #545859; border: 1px solid #0C419A;')
103
+ await vueWrapper.setProps({ bordered })
104
+ expect(vueWrapper.find('.amelipro-card--numbered').attributes('style')).toStrictEqual('background-color: #545859;')
105
+ })
106
+
107
+ it('listClasses returns the good classes', async () => {
108
+ expect(vueWrapper.find('ol').classes().includes('items-per-line-2')).toBeTruthy()
109
+
110
+ await vueWrapper.setProps({ itemsPerLine: 3 })
111
+ expect(vueWrapper.find('ol').classes().includes('items-per-line-3')).toBeTruthy()
112
+
113
+ await vueWrapper.setProps({ itemsPerLine: 4 })
114
+ expect(vueWrapper.find('ol').classes().includes('items-per-line-4')).toBeTruthy()
115
+ })
116
+ })
117
+ })