@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,498 @@
1
+ import { AmeliproIcon, AmeliproMessage } from '@/components'
2
+ import { VueWrapper, mount, shallowMount } from '@vue/test-utils'
3
+ import { beforeEach, describe, expect, it } from 'vitest'
4
+ import AmeliproIllustratedRadioGroup from '../AmeliproIllustratedRadioGroup.vue'
5
+ import type { AmeliproIllustratedRadioGroupItem } from '../types'
6
+ import type { ComponentProps } from 'vue-component-type-helpers'
7
+ import type { ExpectedPropOptions } from '@tests/types'
8
+ import type { PropType } from 'vue'
9
+ import TestHelper from '@tests/helpers/TestHelper'
10
+
11
+ const expectedPropOptions: ExpectedPropOptions<typeof AmeliproIllustratedRadioGroup> = {
12
+ ariaRequired: {
13
+ type: Boolean,
14
+ default: false,
15
+ },
16
+ disabled: {
17
+ type: Boolean,
18
+ default: false,
19
+ },
20
+ error: {
21
+ type: Boolean,
22
+ default: false,
23
+ },
24
+ groupLabel: {
25
+ type: String,
26
+ required: true,
27
+ },
28
+ iconSize: {
29
+ type: String,
30
+ default: '40px',
31
+ },
32
+ modelValue: {
33
+ type: Array as PropType<AmeliproIllustratedRadioGroupItem[]>,
34
+ required: true,
35
+ },
36
+ uniqueId: {
37
+ type: String,
38
+ required: true,
39
+ },
40
+ }
41
+
42
+ const ameliproIllustratedRadioGroupItemDatas = (): AmeliproIllustratedRadioGroupItem[] => [
43
+ {
44
+ icon: 'vaccination',
45
+ iconDefaultColor: 'ap-yellow',
46
+ isChecked: false,
47
+ label: 'the item label 1',
48
+ value: 'the-item-value-1',
49
+ },
50
+ {
51
+ icon: 'vaccination',
52
+ iconDefaultColor: 'ap-green',
53
+ isChecked: false,
54
+ label: 'the item label 2',
55
+ value: 'the-item-value-2',
56
+ },
57
+ {
58
+ icon: 'vaccination',
59
+ iconDefaultColor: 'ap-red',
60
+ isChecked: false,
61
+ label: 'the item label 3',
62
+ value: 'the-item-value-3',
63
+ },
64
+ ]
65
+
66
+ // Values pour les props "required"
67
+ const requiredPropValues = (): ComponentProps<typeof AmeliproIllustratedRadioGroup> => ({
68
+ groupLabel: 'Required group label',
69
+ modelValue: [],
70
+ uniqueId: 'required-unique-id',
71
+ })
72
+
73
+ // Valeurs pour les props "modified"
74
+ const modifiedPropValues = (): ComponentProps<typeof AmeliproIllustratedRadioGroup> => ({
75
+ ariaRequired: true,
76
+ disabled: true,
77
+ error: true,
78
+ groupLabel: 'Modified group label',
79
+ iconSize: 'modified-icon-size',
80
+ modelValue: ameliproIllustratedRadioGroupItemDatas(),
81
+ uniqueId: 'modified-unique-id',
82
+ })
83
+
84
+ const testHelper = new TestHelper(AmeliproIllustratedRadioGroup)
85
+ testHelper.setExpectedPropOptions(expectedPropOptions)
86
+ .setRequiredPropValues(requiredPropValues)
87
+ .setModifiedPropValues(modifiedPropValues)
88
+
89
+ describe('AmeliproIllustratedRadioGroup', () => {
90
+ describe('Snapshots', () => {
91
+ testHelper.snapshots()
92
+ })
93
+
94
+ describe('Properties', () => {
95
+ testHelper.properties()
96
+ })
97
+
98
+ describe('Setting props should update attributes of inner tags', () => {
99
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproIllustratedRadioGroup>>
100
+
101
+ describe('root', () => {
102
+ beforeEach(() => {
103
+ vueWrapper = shallowMount(AmeliproIllustratedRadioGroup, { props: requiredPropValues() })
104
+ })
105
+
106
+ it('prop uniqueId sets attribute id', async () => {
107
+ expect(vueWrapper.attributes('id')).toBe('required-unique-id-container')
108
+
109
+ const { uniqueId } = modifiedPropValues()
110
+ await vueWrapper.setProps({ uniqueId })
111
+ expect(vueWrapper.attributes('id')).toBe('modified-unique-id-container')
112
+ })
113
+ })
114
+
115
+ describe('label wrapper', () => {
116
+ beforeEach(() => {
117
+ vueWrapper = shallowMount(AmeliproIllustratedRadioGroup, { props: requiredPropValues() })
118
+ })
119
+
120
+ it('prop uniqueId sets attribute id', async () => {
121
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__label-wrapper').attributes('id')).toBe('required-unique-id-label-group')
122
+
123
+ const { uniqueId } = modifiedPropValues()
124
+ await vueWrapper.setProps({ uniqueId })
125
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__label-wrapper').attributes('id')).toBe('modified-unique-id-label-group')
126
+ })
127
+ })
128
+
129
+ describe('label', () => {
130
+ beforeEach(() => {
131
+ vueWrapper = shallowMount(AmeliproIllustratedRadioGroup, { props: requiredPropValues() })
132
+ })
133
+
134
+ it('prop uniqueId sets attribute id', async () => {
135
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__label').attributes('id')).toBe('required-unique-id')
136
+
137
+ const { uniqueId } = modifiedPropValues()
138
+ await vueWrapper.setProps({ uniqueId })
139
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__label').attributes('id')).toBe('modified-unique-id')
140
+ })
141
+
142
+ it('prop ariaRequired & groupLabel sets label content', async () => {
143
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__label').text()).toBe('Required group label')
144
+
145
+ const { ariaRequired, groupLabel } = modifiedPropValues()
146
+ await vueWrapper.setProps({ groupLabel })
147
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__label').text()).toBe('Modified group label')
148
+
149
+ await vueWrapper.setProps({ ariaRequired })
150
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__label').text()).toBe('Modified group label  *  Champ obligatoire')
151
+ })
152
+ })
153
+
154
+ describe('group', () => {
155
+ beforeEach(() => {
156
+ vueWrapper = shallowMount(AmeliproIllustratedRadioGroup, { props: requiredPropValues() })
157
+ })
158
+
159
+ it('prop uniqueId sets attribute aria-labelledby', async () => {
160
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__group').attributes('aria-labelledby')).toBe('required-unique-id')
161
+
162
+ const { uniqueId } = modifiedPropValues()
163
+ await vueWrapper.setProps({ uniqueId })
164
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__group').attributes('aria-labelledby')).toBe('modified-unique-id')
165
+ })
166
+
167
+ it('prop ariaRequired sets attribute aria-required', async () => {
168
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__group').attributes('aria-required')).toBe('false')
169
+
170
+ const { ariaRequired } = modifiedPropValues()
171
+ await vueWrapper.setProps({ ariaRequired })
172
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__group').attributes('aria-required')).toBe('true')
173
+ })
174
+ })
175
+
176
+ describe('list', () => {
177
+ beforeEach(() => {
178
+ vueWrapper = shallowMount(AmeliproIllustratedRadioGroup, { props: requiredPropValues() })
179
+ })
180
+
181
+ it('prop uniqueId sets attribute id', async () => {
182
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__list').attributes('id')).toBe('required-unique-id-list')
183
+
184
+ const { uniqueId } = modifiedPropValues()
185
+ await vueWrapper.setProps({ uniqueId })
186
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__list').attributes('id')).toBe('modified-unique-id-list')
187
+ })
188
+ })
189
+
190
+ describe('item', () => {
191
+ beforeEach(() => {
192
+ vueWrapper = shallowMount(AmeliproIllustratedRadioGroup, { props: requiredPropValues() })
193
+ })
194
+
195
+ it('prop modelValue sets items', async () => {
196
+ expect(vueWrapper.findAll('.amelipro-illustrated-radio-group__item').length).toBe(0)
197
+
198
+ const { modelValue } = modifiedPropValues()
199
+ await vueWrapper.setProps({ modelValue })
200
+ expect(vueWrapper.findAll('.amelipro-illustrated-radio-group__item').length).toBe(3)
201
+ })
202
+
203
+ it('prop uniqueId sets attribute id', async () => {
204
+ const { modelValue, uniqueId } = modifiedPropValues()
205
+ await vueWrapper.setProps({ modelValue })
206
+
207
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item').attributes('id')).toBe('required-unique-id-item-0')
208
+
209
+ await vueWrapper.setProps({ uniqueId })
210
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item').attributes('id')).toBe('modified-unique-id-item-0')
211
+ })
212
+ })
213
+
214
+ describe('item label', () => {
215
+ beforeEach(() => {
216
+ vueWrapper = shallowMount(AmeliproIllustratedRadioGroup, {
217
+ props: {
218
+ ...requiredPropValues(),
219
+ modelValue: modifiedPropValues().modelValue,
220
+ },
221
+ })
222
+ })
223
+
224
+ it('prop uniqueId sets attribute id', async () => {
225
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item label').attributes('id')).toBe('required-unique-id-label-0')
226
+
227
+ const { uniqueId } = modifiedPropValues()
228
+ await vueWrapper.setProps({ uniqueId })
229
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item label').attributes('id')).toBe('modified-unique-id-label-0')
230
+ })
231
+ })
232
+
233
+ describe('item input', () => {
234
+ beforeEach(() => {
235
+ vueWrapper = shallowMount(AmeliproIllustratedRadioGroup, {
236
+ props: {
237
+ ...requiredPropValues(),
238
+ modelValue: modifiedPropValues().modelValue,
239
+ },
240
+ })
241
+ })
242
+
243
+ it('prop uniqueId sets attribute id', async () => {
244
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('id')).toBe('required-unique-id-input-0')
245
+
246
+ const { uniqueId } = modifiedPropValues()
247
+ await vueWrapper.setProps({ uniqueId })
248
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('id')).toBe('modified-unique-id-input-0')
249
+ })
250
+
251
+ it('prop modelValue[n].isChecked sets attribute aria-checked', async () => {
252
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('aria-checked')).toBe('false')
253
+
254
+ const { modelValue } = modifiedPropValues()
255
+ modelValue[0].isChecked = true
256
+ await vueWrapper.setProps({ modelValue })
257
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('aria-checked')).toBe('true')
258
+ })
259
+
260
+ it('props ariaRequired, error & uniqueId set attribute aria-describedby', async () => {
261
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('aria-describedby')).toBeUndefined()
262
+
263
+ const { ariaRequired, error, uniqueId } = modifiedPropValues()
264
+ await vueWrapper.setProps({ ariaRequired, error })
265
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('aria-describedby')).toBe('required-unique-id-error')
266
+
267
+ await vueWrapper.setProps({ uniqueId })
268
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('aria-describedby')).toBe('modified-unique-id-error')
269
+
270
+ await vueWrapper.setProps({ error: false })
271
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('aria-describedby')).toBeUndefined()
272
+ })
273
+
274
+ it('prop modelValue[n].isChecked sets attribute checked', async () => {
275
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('checked')).toBeUndefined()
276
+
277
+ const { modelValue } = modifiedPropValues()
278
+ modelValue[0].isChecked = true
279
+ await vueWrapper.setProps({ modelValue })
280
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('checked')).toBe('')
281
+ })
282
+
283
+ it('props disabled & modelValue[n].disabled sets attribute disabled', async () => {
284
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('disabled')).toBeUndefined()
285
+
286
+ const { disabled, modelValue } = modifiedPropValues()
287
+ await vueWrapper.setProps({ disabled })
288
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('disabled')).toBe('')
289
+
290
+ await vueWrapper.setProps({ disabled: false })
291
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('disabled')).toBeUndefined()
292
+
293
+ modelValue[0].disabled = true
294
+ await vueWrapper.setProps({ modelValue })
295
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('disabled')).toBe('')
296
+ })
297
+
298
+ it('prop uniqueId sets attribute name', async () => {
299
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('name')).toBe('required-unique-id-name')
300
+
301
+ const { uniqueId } = modifiedPropValues()
302
+ await vueWrapper.setProps({ uniqueId })
303
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('name')).toBe('modified-unique-id-name')
304
+ })
305
+
306
+ it('prop ariaRequired sets attribute required', async () => {
307
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('required')).toBeUndefined()
308
+
309
+ const { ariaRequired } = modifiedPropValues()
310
+ await vueWrapper.setProps({ ariaRequired })
311
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('required')).toBe('')
312
+ })
313
+
314
+ it('props modelValue[n].value sets attribute value', async () => {
315
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('value')).toBe('the-item-value-1')
316
+
317
+ const { modelValue } = modifiedPropValues()
318
+ modelValue[0].value = 'New value'
319
+ await vueWrapper.setProps({ modelValue })
320
+ expect(vueWrapper.find('.amelipro-illustrated-radio-group__item input').attributes('value')).toBe('New value')
321
+ })
322
+ })
323
+
324
+ describe('item icon radio wrapper', () => {
325
+ const finder = () => vueWrapper.find('.amelipro-illustrated-radio-group__item .icon-radio__wrapper')
326
+ beforeEach(() => {
327
+ vueWrapper = shallowMount(AmeliproIllustratedRadioGroup, {
328
+ props: {
329
+ ...requiredPropValues(),
330
+ modelValue: modifiedPropValues().modelValue,
331
+ },
332
+ })
333
+ })
334
+
335
+ it('prop modelValue[n].isChecked sets attribute checked', async () => {
336
+ expect(finder().classes('bg-ap-blue-darken-1')).toBe(false)
337
+ expect(finder().classes('bg-ap-blue-lighten-3')).toBe(true)
338
+
339
+ const { modelValue } = modifiedPropValues()
340
+ modelValue[0].isChecked = true
341
+ await vueWrapper.setProps({ modelValue })
342
+ expect(finder().classes('bg-ap-blue-darken-1')).toBe(true)
343
+ expect(finder().classes('bg-ap-blue-lighten-3')).toBe(false)
344
+ })
345
+ })
346
+
347
+ describe('item label text', () => {
348
+ const finder = () => vueWrapper.find('.amelipro-illustrated-radio-group__item .amelipro-illustrated-radio-group__item-label-text')
349
+ beforeEach(() => {
350
+ vueWrapper = shallowMount(AmeliproIllustratedRadioGroup, {
351
+ props: {
352
+ ...requiredPropValues(),
353
+ modelValue: modifiedPropValues().modelValue,
354
+ },
355
+ })
356
+ })
357
+
358
+ it('prop uniqueId sets attribute id', async () => {
359
+ expect(finder().attributes('id')).toBe('required-unique-id-label-text-0')
360
+
361
+ const { uniqueId } = modifiedPropValues()
362
+ await vueWrapper.setProps({ uniqueId })
363
+ expect(finder().attributes('id')).toBe('modified-unique-id-label-text-0')
364
+ })
365
+
366
+ it('prop modelValue[n].isChecked sets attribute checked', async () => {
367
+ expect(finder().classes('text-ap-white')).toBe(false)
368
+ expect(finder().classes('text-ap-blue-darken-1')).toBe(true)
369
+
370
+ const { modelValue } = modifiedPropValues()
371
+ modelValue[0].isChecked = true
372
+ await vueWrapper.setProps({ modelValue })
373
+ expect(finder().classes('text-ap-white')).toBe(true)
374
+ expect(finder().classes('text-ap-blue-darken-1')).toBe(false)
375
+ })
376
+
377
+ it('prop modelValue[n].label sets label content', async () => {
378
+ expect(finder().text()).toBe('the item label 1')
379
+
380
+ const { modelValue } = modifiedPropValues()
381
+ modelValue[0].label = 'New item label'
382
+ await vueWrapper.setProps({ modelValue })
383
+ expect(finder().text()).toBe('New item label')
384
+ })
385
+ })
386
+ })
387
+
388
+ describe('Setting props should update props or attributes of inner components', () => {
389
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproIllustratedRadioGroup>>
390
+
391
+ describe('AmeliproIcon', () => {
392
+ beforeEach(() => {
393
+ vueWrapper = shallowMount(AmeliproIllustratedRadioGroup, {
394
+ props: {
395
+ ...requiredPropValues(),
396
+ modelValue: modifiedPropValues().modelValue,
397
+ },
398
+ })
399
+ })
400
+
401
+ it('prop uniqueId sets prop uniqueId', async () => {
402
+ expect(vueWrapper.findComponent(AmeliproIcon).props('uniqueId')).toBe(`${testHelper.default('uniqueId')}-icon-0`)
403
+
404
+ const { uniqueId } = modifiedPropValues()
405
+ await vueWrapper.setProps({ uniqueId })
406
+ expect(vueWrapper.findComponent(AmeliproIcon).props('uniqueId')).toBe(`${testHelper.modified('uniqueId')}-icon-0`)
407
+ })
408
+
409
+ it('prop modelValue[n].icon sets prop icon', async () => {
410
+ expect(vueWrapper.findComponent(AmeliproIcon).props('icon')).toBe('vaccination')
411
+
412
+ const { modelValue } = modifiedPropValues()
413
+ modelValue[0].icon = 'new-icon'
414
+ await vueWrapper.setProps({ modelValue })
415
+ expect(vueWrapper.findComponent(AmeliproIcon).props('icon')).toBe('new-icon')
416
+ })
417
+
418
+ it('prop modelValue[n].isChecked sets prop iconColor', async () => {
419
+ expect(vueWrapper.findComponent(AmeliproIcon).props('iconColor')).toBe('ap-yellow')
420
+
421
+ const { modelValue } = modifiedPropValues()
422
+ modelValue[0].isChecked = true
423
+ await vueWrapper.setProps({ modelValue })
424
+ expect(vueWrapper.findComponent(AmeliproIcon).props('iconColor')).toBe('ap-white')
425
+ })
426
+
427
+ it('prop iconSize sets prop size', async () => {
428
+ expect(vueWrapper.findComponent(AmeliproIcon).props('size')).toBe(testHelper.default('iconSize'))
429
+
430
+ const { iconSize } = modifiedPropValues()
431
+ await vueWrapper.setProps({ iconSize })
432
+ expect(vueWrapper.findComponent(AmeliproIcon).props('size')).toBe(testHelper.modified('iconSize'))
433
+ })
434
+ })
435
+
436
+ describe('AmeliproMessage', () => {
437
+ beforeEach(() => {
438
+ vueWrapper = shallowMount(AmeliproIllustratedRadioGroup, { props: requiredPropValues() })
439
+ })
440
+
441
+ it('props ariaRequired, error & modelValue set AmeliproMessage visibility', async () => {
442
+ expect(vueWrapper.findComponent(AmeliproMessage).exists()).toBe(false)
443
+
444
+ const { ariaRequired, error, modelValue } = modifiedPropValues()
445
+ await vueWrapper.setProps({ ariaRequired, error })
446
+ expect(vueWrapper.findComponent(AmeliproMessage).exists()).toBe(true)
447
+
448
+ await vueWrapper.setProps({ modelValue, error: false })
449
+ expect(vueWrapper.findComponent(AmeliproMessage).exists()).toBe(false)
450
+ })
451
+
452
+ it('prop uniqueId sets prop uniqueId', async () => {
453
+ const { ariaRequired, error, uniqueId } = modifiedPropValues()
454
+ await vueWrapper.setProps({ ariaRequired, error })
455
+
456
+ expect(vueWrapper.findComponent(AmeliproMessage).props('uniqueId')).toBe(`${testHelper.default('uniqueId')}-error`)
457
+
458
+ await vueWrapper.setProps({ uniqueId })
459
+ expect(vueWrapper.findComponent(AmeliproMessage).props('uniqueId')).toBe(`${testHelper.modified('uniqueId')}-error`)
460
+ })
461
+ })
462
+ })
463
+
464
+ // describe.skip('Slots', () => {
465
+ // describe.todo('#labelInfo')
466
+ // })
467
+
468
+ describe('Events', () => {
469
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproIllustratedRadioGroup>>
470
+ const inputWrappers = () => vueWrapper.findAll('input')
471
+
472
+ beforeEach(() => {
473
+ vueWrapper = mount(AmeliproIllustratedRadioGroup, { props: modifiedPropValues() })
474
+ })
475
+
476
+ it('should test the input vueWrapper', () => {
477
+ expect(inputWrappers().length).toBe(3)
478
+ })
479
+
480
+ // TODO: réparer ces tests. trigger('input') ne semble plus fonctionner
481
+ it.skip('should react to input event', async () => {
482
+ expect(vueWrapper.emitted('change:selected')).toBeUndefined()
483
+ expect(inputWrappers().at(0)?.exists()).toBe(true)
484
+
485
+ await inputWrappers().at(0)?.trigger('input')
486
+ expect(vueWrapper.emitted('change:selected')).toStrictEqual([[
487
+ 'the-item-value-1',
488
+ ]])
489
+
490
+ await inputWrappers().at(1)?.trigger('input')
491
+ expect(vueWrapper.emitted('change:selected')).toStrictEqual([[
492
+ 'the-item-value-1',
493
+ ], [
494
+ 'the-item-value-2',
495
+ ]])
496
+ })
497
+ })
498
+ })