@cnamts/synapse 1.0.12 → 1.0.13

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 (124) hide show
  1. package/dist/{DateFilter-DoCcOfDW.js → DateFilter-_EFzsvvM.js} +1 -1
  2. package/dist/{NumberFilter-9uR8uo6p.js → NumberFilter-CUxEbKJh.js} +1 -1
  3. package/dist/{PeriodFilter-CxN5ini7.js → PeriodFilter-D5ueqtKy.js} +1 -1
  4. package/dist/{SelectFilter-bfxipgvt.js → SelectFilter-BciBNydy.js} +1 -1
  5. package/dist/{TextFilter-yCnWcmW2.js → TextFilter-DMN_WAQB.js} +1 -1
  6. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordion.d.ts +1 -1
  7. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.d.ts +1 -1
  8. package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.d.ts +1 -1
  9. package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.d.ts +1 -1
  10. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +44 -62
  11. package/dist/components/Amelipro/AmeliproCard/AmeliproCard.d.ts +1 -1
  12. package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +1 -1
  13. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +5 -5
  14. package/dist/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.d.ts +1 -1
  15. package/dist/components/Amelipro/AmeliproNumberedCard/AmeliproNumberedCard.d.ts +1 -1
  16. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +24 -32
  17. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +36 -48
  18. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +44 -62
  19. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +44 -62
  20. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +0 -4
  21. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +12 -16
  22. package/dist/components/Captcha/Captcha.d.ts +68 -0
  23. package/dist/components/Captcha/CaptchaAlert.d.ts +13 -0
  24. package/dist/components/Captcha/CaptchaBase.d.ts +55 -0
  25. package/dist/components/Captcha/CaptchaBtn.d.ts +12 -0
  26. package/dist/components/Captcha/CaptchaForm.d.ts +16 -0
  27. package/dist/components/Captcha/CaptchaImg.d.ts +12 -0
  28. package/dist/components/Captcha/CaptchaInformation.d.ts +20 -0
  29. package/dist/components/Captcha/captchaApi.d.ts +41 -0
  30. package/dist/components/Captcha/icons/volumeUp.d.ts +2 -0
  31. package/dist/components/Captcha/locales.d.ts +35 -0
  32. package/dist/components/Captcha/types.d.ts +2 -0
  33. package/dist/components/ChipList/ChipList.d.ts +2 -2
  34. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +2 -2
  35. package/dist/components/Customs/SyForm/SyForm.d.ts +6 -3
  36. package/dist/components/Customs/SyTextField/SyTextField.d.ts +13 -17
  37. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +56 -64
  38. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +47 -64
  39. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +18 -17
  40. package/dist/components/DatePicker/tests/setup.d.ts +448 -512
  41. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +4 -4
  42. package/dist/components/NirField/NirField.d.ts +29 -34
  43. package/dist/components/NirField/locales.d.ts +1 -3
  44. package/dist/components/PasswordField/PasswordField.d.ts +2 -0
  45. package/dist/components/PeriodField/PeriodField.d.ts +112 -128
  46. package/dist/components/PhoneField/PhoneField.d.ts +13 -17
  47. package/dist/components/SearchListField/SearchListField.d.ts +2 -2
  48. package/dist/components/SyTextArea/SyTextArea.d.ts +0 -4
  49. package/dist/components/Tables/common/SyTablePagination.d.ts +2 -2
  50. package/dist/components/index.d.ts +1 -0
  51. package/dist/composables/validation/useFormValidation.d.ts +10 -0
  52. package/dist/composables/validation/useValidatable.d.ts +10 -2
  53. package/dist/design-system-v3.js +126 -125
  54. package/dist/design-system-v3.umd.cjs +155 -155
  55. package/dist/main-DISHlqcd.js +34217 -0
  56. package/dist/style.css +1 -1
  57. package/package.json +1 -1
  58. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.vue +6 -7
  59. package/src/components/Amelipro/AmeliproFooter/__tests__/AmeliproFooter.spec.ts +787 -0
  60. package/src/components/Amelipro/AmeliproFooter/__tests__/__snapshots__/AmeliproFooter.spec.ts.snap +318 -0
  61. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/__tests__/AmeliproHeaderBrandSection.spec.ts +167 -0
  62. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/__tests__/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +100 -0
  63. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/__tests__/AmeliproHeaderBar.spec.ts +312 -0
  64. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/__tests__/__snapshots__/AmeliproHeaderBar.spec.ts.snap +98 -0
  65. package/src/components/Amelipro/AmeliproHeader/__tests__/AmeliproHeader.spec.ts +361 -0
  66. package/src/components/Amelipro/AmeliproHeader/__tests__/__snapshots__/AmeliproHeader.spec.ts.snap +22 -0
  67. package/src/components/Amelipro/AmeliproMenu/__tests__/AmeliproMenu.spec.ts +168 -0
  68. package/src/components/Amelipro/AmeliproMenu/__tests__/__snapshots__/AmeliproMenu.spec.ts.snap +295 -0
  69. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/__tests__/AmeliproDropdownMenuBtn.spec.ts +128 -0
  70. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/__tests__/__snapshots__/AmeliproDropdownMenuBtn.spec.ts.snap +67 -0
  71. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/__tests__/AmeliproDropdownMenu.spec.ts +266 -0
  72. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/__tests__/__snapshots__/AmeliproDropdownMenu.spec.ts.snap +134 -0
  73. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/__tests__/AmeliproMessagingMenuBtn.spec.ts +72 -0
  74. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/__tests__/__snapshots__/AmeliproMessagingMenuBtn.spec.ts.snap +71 -0
  75. package/src/components/Amelipro/AmeliproPageLayout/tests/__snapshots__/AmeliproPageLayout.spec.ts.snap +12 -0
  76. package/src/components/Captcha/Captcha.mdx +72 -0
  77. package/src/components/Captcha/Captcha.stories.ts +276 -0
  78. package/src/components/Captcha/Captcha.vue +325 -0
  79. package/src/components/Captcha/CaptchaAlert.vue +60 -0
  80. package/src/components/Captcha/CaptchaBase.vue +219 -0
  81. package/src/components/Captcha/CaptchaBtn.vue +35 -0
  82. package/src/components/Captcha/CaptchaForm.vue +58 -0
  83. package/src/components/Captcha/CaptchaImg.vue +41 -0
  84. package/src/components/Captcha/CaptchaInformation.vue +64 -0
  85. package/src/components/Captcha/captchaApi.ts +111 -0
  86. package/src/components/Captcha/icons/volumeUp.vue +11 -0
  87. package/src/components/Captcha/locales.ts +35 -0
  88. package/src/components/Captcha/readme.md +5 -0
  89. package/src/components/Captcha/tests/Captcha.spec.ts +298 -0
  90. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +716 -0
  91. package/src/components/Captcha/types.ts +2 -0
  92. package/src/components/Customs/Selects/SySelect/SySelect.vue +2 -2
  93. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +4 -0
  94. package/src/components/Customs/SyForm/SyForm.stories.ts +133 -23
  95. package/src/components/Customs/SyForm/SyForm.vue +17 -1
  96. package/src/components/Customs/SyTextField/SyTextField.vue +2 -2
  97. package/src/components/DatePicker/CalendarMode/DatePicker.vue +1 -1
  98. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +110 -6
  99. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +28 -3
  100. package/src/components/NirField/NirField.stories.ts +74 -0
  101. package/src/components/NirField/NirField.vue +34 -9
  102. package/src/components/NirField/locales.ts +1 -3
  103. package/src/components/PasswordField/PasswordField.vue +39 -7
  104. package/src/components/PhoneField/PhoneField.vue +43 -10
  105. package/src/components/index.ts +1 -0
  106. package/src/composables/validation/useFormValidation.ts +46 -8
  107. package/src/composables/validation/useValidatable.ts +19 -8
  108. package/dist/main-DMXtXK3y.js +0 -33458
  109. package/src/components/Amelipro/AmeliproFooter/tests/AmeliproFooter.spec.ts +0 -15
  110. package/src/components/Amelipro/AmeliproFooter/tests/__snapshots__/AmeliproFooter.spec.ts.snap +0 -432
  111. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/AmeliproHeaderBrandSection.spec.ts +0 -15
  112. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +0 -131
  113. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/AmeliproHeaderBar.spec.ts +0 -15
  114. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/__snapshots__/AmeliproHeaderBar.spec.ts.snap +0 -172
  115. package/src/components/Amelipro/AmeliproHeader/tests/AmeliproHeader.spec.ts +0 -159
  116. package/src/components/Amelipro/AmeliproHeader/tests/__snapshots__/AmeliproHeader.spec.ts.snap +0 -841
  117. package/src/components/Amelipro/AmeliproMenu/tests/AmeliproMenu.spec.ts +0 -85
  118. package/src/components/Amelipro/AmeliproMenu/tests/__snapshots__/AmeliproMenu.spec.ts.snap +0 -537
  119. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/tests/AmeliproDropdownMenuBtn.spec.ts +0 -16
  120. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/tests/__snapshots__/AmeliproDropdownMenuBtn.spec.ts.snap +0 -56
  121. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/tests/AmeliproDropdownMenu.spec.ts +0 -28
  122. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/tests/__snapshots__/AmeliproDropdownMenu.spec.ts.snap +0 -300
  123. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/tests/AmeliproMessagingMenuBtn.spec.ts +0 -16
  124. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/tests/__snapshots__/AmeliproMessagingMenuBtn.spec.ts.snap +0 -89
@@ -0,0 +1,318 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`AmeliproFooter > Snapshots > renders the component with all properties filled in 1`] = `
4
+ <footer
5
+ class="
6
+ amelipro-footer
7
+ bg-ap-blue-darken-2
8
+ d-block
9
+ justify-center
10
+ px-8
11
+ py-3
12
+ w-100
13
+ "
14
+ id="modified-unique-id-container"
15
+ role="contentinfo"
16
+ style="position: relative;"
17
+ >
18
+ <div
19
+ class="
20
+ align-center
21
+ amelipro-footer__content
22
+ d-flex
23
+ justify-center
24
+ "
25
+ id="modified-unique-id-content"
26
+ style="width: 100%;"
27
+ >
28
+ <!-- v-if -->
29
+ <!-- v-if -->
30
+ <!-- v-if -->
31
+ <p
32
+ class="
33
+ amelipro-footer__backoffice-text
34
+ font-weight-bold
35
+ mb-0
36
+ text-ap-white
37
+ text-center
38
+ "
39
+ id="modified-unique-id-backoffice-text"
40
+ >
41
+ CNAM - Modified back office text - Version Modified version
42
+ </p>
43
+ </div>
44
+ <!-- v-if -->
45
+ </footer>
46
+ `;
47
+
48
+ exports[`AmeliproFooter > Snapshots > renders the component with only required properties filled in 1`] = `
49
+ <footer
50
+ class="
51
+ amelipro-footer
52
+ bg-ap-blue-darken-2
53
+ d-block
54
+ justify-center
55
+ px-8
56
+ py-3
57
+ w-100
58
+ "
59
+ role="contentinfo"
60
+ style="position: relative;"
61
+ >
62
+ <div
63
+ class="
64
+ align-center
65
+ amelipro-footer__content
66
+ d-flex
67
+ flex-row
68
+ justify-space-between
69
+ "
70
+ style="width: 100%;"
71
+ >
72
+ <p class="
73
+ font-weight-bold
74
+ footer-version
75
+ mb-0
76
+ mr-4
77
+ text-ap-white
78
+ text-caption
79
+ ">
80
+ X.X.X
81
+ </p>
82
+ <div class="
83
+ amelipro-footer__contact
84
+ mr-4
85
+ mt-1
86
+ ">
87
+ <amelipro-btn-stub
88
+ badge="false"
89
+ badgebgcolor="ap-pink"
90
+ badgecolor="ap-white"
91
+ bordered="false"
92
+ class="
93
+ amelipro-footer__contact__link
94
+ text-ap-white
95
+ text-decoration-none
96
+ "
97
+ color="ap-blue-darken-1"
98
+ disabled="false"
99
+ hovercolor="ap-blue-darken-2"
100
+ hoverunderline="false"
101
+ href="tel:3608"
102
+ iconbgcolor="transparent"
103
+ iconbordered="false"
104
+ iconleft="false"
105
+ infoblock="false"
106
+ minheight="2.5rem"
107
+ size="60px"
108
+ text="true"
109
+ textcolor="ap-white"
110
+ type="button"
111
+ underline="false"
112
+ ></amelipro-btn-stub>
113
+ </div>
114
+ <ul class="
115
+ align-center
116
+ amelipro-footer__list
117
+ d-flex
118
+ flex-wrap
119
+ justify-end
120
+ list-style-none
121
+ mt-2
122
+ mt-sm-0
123
+ ">
124
+ <li class="
125
+ footer-list-item
126
+ pa-2
127
+ ">
128
+ <amelipro-btn-stub
129
+ badge="false"
130
+ badgebgcolor="ap-pink"
131
+ badgecolor="ap-white"
132
+ bordered="false"
133
+ class="
134
+ amelipro-footer__site-map-btn
135
+ text-none
136
+ "
137
+ color="ap-white"
138
+ disabled="false"
139
+ hovercolor="ap-white"
140
+ hoverunderline="true"
141
+ iconbgcolor="transparent"
142
+ iconbordered="false"
143
+ iconleft="false"
144
+ infoblock="false"
145
+ minheight="2.5rem"
146
+ size="60px"
147
+ text="true"
148
+ textcolor="ap-white"
149
+ type="button"
150
+ underline="false"
151
+ ></amelipro-btn-stub>
152
+ </li>
153
+ <li class="
154
+ footer-list-item
155
+ pa-2
156
+ ">
157
+ <amelipro-btn-stub
158
+ badge="false"
159
+ badgebgcolor="ap-pink"
160
+ badgecolor="ap-white"
161
+ bordered="false"
162
+ class="
163
+ amelipro-footer__about-btn
164
+ text-none
165
+ "
166
+ color="ap-white"
167
+ disabled="false"
168
+ hovercolor="ap-white"
169
+ hoverunderline="true"
170
+ iconbgcolor="transparent"
171
+ iconbordered="false"
172
+ iconleft="false"
173
+ infoblock="false"
174
+ minheight="2.5rem"
175
+ size="60px"
176
+ text="true"
177
+ textcolor="ap-white"
178
+ type="button"
179
+ underline="false"
180
+ ></amelipro-btn-stub>
181
+ </li>
182
+ <li class="
183
+ footer-list-item
184
+ pa-2
185
+ ">
186
+ <amelipro-btn-stub
187
+ badge="false"
188
+ badgebgcolor="ap-pink"
189
+ badgecolor="ap-white"
190
+ bordered="false"
191
+ class="
192
+ amelipro-footer__config-btn
193
+ text-none
194
+ "
195
+ color="ap-white"
196
+ disabled="false"
197
+ hovercolor="ap-white"
198
+ hoverunderline="true"
199
+ iconbgcolor="transparent"
200
+ iconbordered="false"
201
+ iconleft="false"
202
+ infoblock="false"
203
+ minheight="2.5rem"
204
+ size="60px"
205
+ text="true"
206
+ textcolor="ap-white"
207
+ type="button"
208
+ underline="false"
209
+ ></amelipro-btn-stub>
210
+ </li>
211
+ <li class="
212
+ footer-list-item
213
+ pa-2
214
+ ">
215
+ <amelipro-btn-stub
216
+ badge="false"
217
+ badgebgcolor="ap-pink"
218
+ badgecolor="ap-white"
219
+ bordered="false"
220
+ class="
221
+ amelipro-footer__legal-notice-btn
222
+ text-none
223
+ "
224
+ color="ap-white"
225
+ disabled="false"
226
+ hovercolor="ap-white"
227
+ hoverunderline="true"
228
+ iconbgcolor="transparent"
229
+ iconbordered="false"
230
+ iconleft="false"
231
+ infoblock="false"
232
+ minheight="2.5rem"
233
+ size="60px"
234
+ text="true"
235
+ textcolor="ap-white"
236
+ type="button"
237
+ underline="false"
238
+ ></amelipro-btn-stub>
239
+ </li>
240
+ <li class="
241
+ footer-list-item
242
+ pa-2
243
+ ">
244
+ <amelipro-btn-stub
245
+ badge="false"
246
+ badgebgcolor="ap-pink"
247
+ badgecolor="ap-white"
248
+ bordered="false"
249
+ class="
250
+ amelipro-footer__cgu-btn
251
+ text-none
252
+ "
253
+ color="ap-white"
254
+ disabled="false"
255
+ hovercolor="ap-white"
256
+ hoverunderline="true"
257
+ iconbgcolor="transparent"
258
+ iconbordered="false"
259
+ iconleft="false"
260
+ infoblock="false"
261
+ minheight="2.5rem"
262
+ size="60px"
263
+ text="true"
264
+ textcolor="ap-white"
265
+ type="button"
266
+ underline="false"
267
+ ></amelipro-btn-stub>
268
+ </li>
269
+ <li class="
270
+ footer-list-item
271
+ pa-2
272
+ ">
273
+ <amelipro-btn-stub
274
+ badge="false"
275
+ badgebgcolor="ap-pink"
276
+ badgecolor="ap-white"
277
+ bordered="false"
278
+ class="
279
+ amelipro-footer__a11y-btn
280
+ text-none
281
+ "
282
+ color="ap-white"
283
+ disabled="false"
284
+ hovercolor="ap-white"
285
+ hoverunderline="true"
286
+ iconbgcolor="transparent"
287
+ iconbordered="false"
288
+ iconleft="false"
289
+ infoblock="false"
290
+ minheight="2.5rem"
291
+ size="60px"
292
+ text="true"
293
+ textcolor="ap-white"
294
+ type="button"
295
+ underline="false"
296
+ ></amelipro-btn-stub>
297
+ </li>
298
+ </ul>
299
+ <!-- v-if -->
300
+ </div>
301
+ <div class="
302
+ align-center
303
+ d-none
304
+ flex-column
305
+ footer-version--mobile
306
+ ">
307
+ <p class="
308
+ font-weight-bold
309
+ mb-0
310
+ mt-2
311
+ text-ap-white
312
+ text-caption
313
+ ">
314
+ X.X.X
315
+ </p>
316
+ </div>
317
+ </footer>
318
+ `;
@@ -0,0 +1,167 @@
1
+ import { type RouteLocationRaw, RouterLink } from 'vue-router'
2
+ import { beforeEach, describe, expect, it } from 'vitest'
3
+ import { mount, shallowMount } from '@vue/test-utils'
4
+ import AmeliproHeaderBrandSection from '../AmeliproHeaderBrandSection.vue'
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 AmeliproHeaderBrandSection> = {
11
+ homeHref: {
12
+ type: String,
13
+ default: undefined,
14
+ },
15
+ homeLink: {
16
+ type: [String, Boolean, Object] as PropType<RouteLocationRaw>,
17
+ default: undefined,
18
+ },
19
+ mobileVersion: {
20
+ type: Boolean,
21
+ default: false,
22
+ },
23
+ serviceSubTitle: {
24
+ type: String,
25
+ default: undefined,
26
+ },
27
+ serviceTitle: {
28
+ type: String,
29
+ default: undefined,
30
+ },
31
+ themeAmelipro: {
32
+ type: Boolean,
33
+ default: true,
34
+ },
35
+ uniqueId: {
36
+ type: String,
37
+ default: undefined,
38
+ },
39
+ }
40
+
41
+ // Props requises
42
+ const requiredPropValues = (): ComponentProps<typeof AmeliproHeaderBrandSection> => ({})
43
+
44
+ // Props modifiées
45
+ const modifiedPropValues = (): ComponentProps<typeof AmeliproHeaderBrandSection> => ({
46
+ homeHref: '/accueil',
47
+ homeLink: '/accueil-link',
48
+ mobileVersion: true,
49
+ serviceSubTitle: 'Modified sub title',
50
+ serviceTitle: 'Modified service title',
51
+ themeAmelipro: false,
52
+ uniqueId: 'modified-unique-id',
53
+ })
54
+
55
+ const testHelper = new TestHelper(AmeliproHeaderBrandSection)
56
+ testHelper.setExpectedPropOptions(expectedPropOptions)
57
+ .setRequiredPropValues(requiredPropValues)
58
+ .setModifiedPropValues(modifiedPropValues)
59
+
60
+ describe('AmeliproHeaderBrandSection', () => {
61
+ describe('Snapshots', () => {
62
+ testHelper.snapshots()
63
+ })
64
+
65
+ describe('Properties', () => {
66
+ testHelper.properties()
67
+ })
68
+
69
+ describe('Setting props should update attributes of inner tags', () => {
70
+ let vueWrapper: ReturnType<typeof shallowMount>
71
+
72
+ describe('root', () => {
73
+ beforeEach(() => {
74
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: requiredPropValues() })
75
+ })
76
+
77
+ it('prop uniqueId sets attribute id', async () => {
78
+ expect(vueWrapper.attributes('id')).toBe(undefined)
79
+
80
+ const { uniqueId } = modifiedPropValues()
81
+ await vueWrapper.setProps({ uniqueId })
82
+ expect(vueWrapper.attributes('id')).toBe(`${testHelper.modified('uniqueId')}-container`)
83
+ })
84
+ })
85
+
86
+ describe('Component', () => {
87
+ beforeEach(() => {
88
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: requiredPropValues() })
89
+ })
90
+ it('prop homeHref sets <a> as root link', async () => {
91
+ expect(vueWrapper.find('a.header-home-link').exists()).toBe(false)
92
+
93
+ const { homeHref } = modifiedPropValues()
94
+ await vueWrapper.setProps({ homeHref })
95
+ expect(vueWrapper.find('a.header-home-link').exists()).toBe(true)
96
+ })
97
+
98
+ // TODO: corriger le rendu du Component
99
+ it.skip('prop homeHref undefined uses RouterLink', () => {
100
+ expect(vueWrapper.findComponent(RouterLink).exists()).toBe(true)
101
+ })
102
+ })
103
+
104
+ // TODO: corriger le rendu du slot pour le titre
105
+ describe.skip('Titre', () => {
106
+ beforeEach(() => {
107
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: requiredPropValues() })
108
+ })
109
+ it('prop serviceTitle sets service title', async () => {
110
+ expect(vueWrapper.find('h1.header-title').exists()).toBe(false)
111
+
112
+ const { serviceTitle } = modifiedPropValues()
113
+ await vueWrapper.setProps({ serviceTitle })
114
+ expect(vueWrapper.find('h1.header-title').text()).toBe(testHelper.modified('serviceTitle'))
115
+ })
116
+ })
117
+
118
+ // TODO: corriger le rendu du slot pour le sous-titre
119
+ describe.skip('Sous-titre', () => {
120
+ beforeEach(() => {
121
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: requiredPropValues() })
122
+ })
123
+ it('prop uniqueId sets attribute id', async () => {
124
+ vueWrapper = mount(AmeliproHeaderBrandSection, {
125
+ props: {
126
+ ...requiredPropValues(),
127
+ serviceSubTitle: modifiedPropValues().serviceSubTitle,
128
+ serviceTitle: modifiedPropValues().serviceTitle,
129
+ },
130
+ })
131
+ expect(vueWrapper.find('h2.header-title').attributes('id')).toBe(undefined)
132
+
133
+ const { uniqueId } = modifiedPropValues()
134
+ await vueWrapper.setProps({ uniqueId })
135
+ expect(vueWrapper.find('h2.header-title').attributes('id')).toBe(`${testHelper.modified('uniqueId')}-container`)
136
+ })
137
+
138
+ it('prop serviceSubTitle sets subtitle', async () => {
139
+ expect(vueWrapper.find('h2.header-title').exists()).toBe(false)
140
+
141
+ const { serviceSubTitle, serviceTitle } = modifiedPropValues()
142
+ // Sous-titre seul ne s'affiche pas
143
+ await vueWrapper.setProps({ serviceSubTitle })
144
+ expect(vueWrapper.find('h2.header-title').exists()).toBe(false)
145
+
146
+ // Avec le titre, le sous-titre s'affiche
147
+ await vueWrapper.setProps({ serviceTitle })
148
+ expect(vueWrapper.find('h2.header-title').text()).toBe(testHelper.modified('serviceSubTitle'))
149
+ })
150
+ })
151
+
152
+ describe('Logo', () => {
153
+ beforeEach(() => {
154
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: requiredPropValues() })
155
+ })
156
+ it('prop themeAmelipro true displays logo', () => {
157
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: { ...requiredPropValues(), themeAmelipro: true } })
158
+ expect(vueWrapper.find('img.logo-amelipro').exists()).toBe(true)
159
+ })
160
+
161
+ it('prop themeAmelipro false hides logo', () => {
162
+ vueWrapper = shallowMount(AmeliproHeaderBrandSection, { props: { ...requiredPropValues(), serviceTitle: 'Titre', themeAmelipro: false } })
163
+ expect(vueWrapper.find('img.logo-amelipro').exists()).toBe(false)
164
+ })
165
+ })
166
+ })
167
+ })
@@ -0,0 +1,100 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`AmeliproHeaderBrandSection > Snapshots > renders the component with all properties filled in 1`] = `
4
+ <div
5
+ class="
6
+ d-flex
7
+ header-brand-section
8
+ "
9
+ id="modified-unique-id-container"
10
+ >
11
+ <a
12
+ aria-label="Retour à l’accueil, Modified service title Modified sub title"
13
+ class="
14
+ align-center
15
+ d-flex
16
+ header-home-link
17
+ w-100
18
+ "
19
+ href="/accueil"
20
+ id="modified-unique-id-logo-link"
21
+ title="Retour à l’accueil, Modified service title Modified sub title"
22
+ >
23
+ <amelipro-logo-am-stub
24
+ hidesignature="false"
25
+ size="small"
26
+ uniqueid="modified-unique-id-logo-am"
27
+ ></amelipro-logo-am-stub><svg
28
+ aria-hidden="true"
29
+ class="header-home-link__divider"
30
+ fill="#0C419A"
31
+ focusable="false"
32
+ height="40"
33
+ role="img"
34
+ viewBox="0 0 22 64"
35
+ width="14"
36
+ xmlns="http://www.w3.org/2000/svg"
37
+ >
38
+ <path d="M14.3 49.3c-.2 0-.4-.2-.4-.4V14.2c0-.2.2-.4.4-.4.3 0 .5.2.5.4v34.7c0 .2-.2.4-.5.4Z" />
39
+ </svg><span
40
+ class="
41
+ d-flex
42
+ flex-column
43
+ justify-center
44
+ text-ap-blue-darken-1
45
+ "
46
+ id="modified-unique-id-title-wrapper"
47
+ ><h1
48
+ class="
49
+ font-weight-bold
50
+ header-title
51
+ "
52
+ id="modified-unique-id-title"
53
+ >Modified service title</h1><h2
54
+ class="header-title"
55
+ id="modified-unique-id-subtitle"
56
+ >Modified sub title</h2></span>
57
+ </a>
58
+ </div>
59
+ `;
60
+
61
+ exports[`AmeliproHeaderBrandSection > Snapshots > renders the component with only required properties filled in 1`] = `
62
+ <div class="
63
+ d-flex
64
+ header-brand-section
65
+ ">
66
+ <button
67
+ aria-label="Retour à l’accueil"
68
+ class="
69
+ align-center
70
+ d-flex
71
+ header-home-link
72
+ w-100
73
+ "
74
+ title="Retour à l’accueil"
75
+ >
76
+ <amelipro-logo-am-stub
77
+ hidesignature="false"
78
+ size="normal"
79
+ ></amelipro-logo-am-stub>
80
+ <svg
81
+ aria-hidden="true"
82
+ class="header-home-link__divider"
83
+ fill="#006386"
84
+ focusable="false"
85
+ height="64"
86
+ role="img"
87
+ viewBox="0 0 22 64"
88
+ width="22"
89
+ xmlns="http://www.w3.org/2000/svg"
90
+ >
91
+ <path d="M14.3 49.3c-.2 0-.4-.2-.4-.4V14.2c0-.2.2-.4.4-.4.3 0 .5.2.5.4v34.7c0 .2-.2.4-.5.4Z" />
92
+ </svg>
93
+ <img
94
+ alt="AmeliPro"
95
+ class="logo-amelipro"
96
+ src="/src/assets/amelipro/img/amelipro.svg"
97
+ />
98
+ </button>
99
+ </div>
100
+ `;