@cnamts/synapse 1.0.11 → 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 (200) hide show
  1. package/dist/{DateFilter-QEfKOz0P.js → DateFilter-_EFzsvvM.js} +1 -1
  2. package/dist/{NumberFilter-C0h7gVzp.js → NumberFilter-CUxEbKJh.js} +1 -1
  3. package/dist/{PeriodFilter-8dVrKjju.js → PeriodFilter-D5ueqtKy.js} +1 -1
  4. package/dist/{SelectFilter-BI3QGbqb.js → SelectFilter-BciBNydy.js} +1 -1
  5. package/dist/{TextFilter-UOp1hcPp.js → TextFilter-DMN_WAQB.js} +1 -1
  6. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordion.d.ts +7 -3
  7. package/dist/components/Amelipro/AmeliproAccordion/AmeliproAccordionTemplate/AmeliproAccordionTemplate.d.ts +1 -1
  8. package/dist/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.d.ts +2 -0
  9. package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.d.ts +7 -3
  10. package/dist/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResultTemplate/AmeliproAccordionResultTemplate.d.ts +1 -1
  11. package/dist/components/Amelipro/AmeliproAutoCompleteField/AmeliproAutoCompleteField.d.ts +50 -68
  12. package/dist/components/Amelipro/AmeliproCard/AmeliproCard.d.ts +1 -1
  13. package/dist/components/Amelipro/AmeliproIcon/AmeliproIcon.d.ts +1 -1
  14. package/dist/components/Amelipro/AmeliproIconBtn/AmeliproIconBtn.d.ts +5 -5
  15. package/dist/components/Amelipro/AmeliproMultipleFoldingCard/AmeliproMultipleFoldingCard.d.ts +1 -1
  16. package/dist/components/Amelipro/AmeliproNumberedCard/AmeliproNumberedCard.d.ts +1 -1
  17. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressCityRow/AmeliproPostalAddressCityRow.d.ts +24 -32
  18. package/dist/components/Amelipro/AmeliproPostalAddressField/AmeliproPostalAddressField.d.ts +36 -48
  19. package/dist/components/Amelipro/AmeliproSelect/AmeliproSelect.d.ts +50 -68
  20. package/dist/components/Amelipro/AmeliproTable/AmeliproTable.d.ts +4 -0
  21. package/dist/components/Amelipro/AmeliproTable/types.d.ts +11 -0
  22. package/dist/components/Amelipro/AmeliproTabs/AmeliproTabs.d.ts +50 -68
  23. package/dist/components/Amelipro/AmeliproTextArea/AmeliproTextArea.d.ts +0 -4
  24. package/dist/components/Amelipro/AmeliproTextField/AmeliproTextField.d.ts +12 -16
  25. package/dist/components/Captcha/Captcha.d.ts +68 -0
  26. package/dist/components/Captcha/CaptchaAlert.d.ts +13 -0
  27. package/dist/components/Captcha/CaptchaBase.d.ts +55 -0
  28. package/dist/components/Captcha/CaptchaBtn.d.ts +12 -0
  29. package/dist/components/Captcha/CaptchaForm.d.ts +16 -0
  30. package/dist/components/Captcha/CaptchaImg.d.ts +12 -0
  31. package/dist/components/Captcha/CaptchaInformation.d.ts +20 -0
  32. package/dist/components/Captcha/captchaApi.d.ts +41 -0
  33. package/dist/components/Captcha/icons/volumeUp.d.ts +2 -0
  34. package/dist/components/Captcha/locales.d.ts +35 -0
  35. package/dist/components/Captcha/types.d.ts +2 -0
  36. package/dist/components/ChipList/ChipList.d.ts +2 -2
  37. package/dist/components/CookiesSelection/CookiesInformation/CookiesInformation.d.ts +14 -14
  38. package/dist/components/Customs/Selects/SySelect/SySelect.d.ts +5 -5
  39. package/dist/components/Customs/SyForm/SyForm.d.ts +6 -3
  40. package/dist/components/Customs/SyTextField/SyTextField.d.ts +12 -16
  41. package/dist/components/DatePicker/CalendarMode/DatePicker.d.ts +96 -68
  42. package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +63 -38
  43. package/dist/components/DatePicker/DateTextInput/DateTextInput.d.ts +23 -27
  44. package/dist/components/DatePicker/composables/useDatePickerViewMode.d.ts +2 -1
  45. package/dist/components/DatePicker/tests/setup.d.ts +816 -520
  46. package/dist/components/HeaderToolbar/HeaderToolbar.d.ts +10 -10
  47. package/dist/components/NirField/NirField.d.ts +31 -34
  48. package/dist/components/NirField/locales.d.ts +1 -3
  49. package/dist/components/PasswordField/PasswordField.d.ts +2 -0
  50. package/dist/components/PeriodField/PeriodField.d.ts +192 -128
  51. package/dist/components/PhoneField/PhoneField.d.ts +13 -17
  52. package/dist/components/SearchListField/SearchListField.d.ts +5 -5
  53. package/dist/components/SyTextArea/SyTextArea.d.ts +0 -4
  54. package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +5 -8
  55. package/dist/components/Tables/SyTable/SyTable.d.ts +5 -8
  56. package/dist/components/Tables/common/SyTablePagination.d.ts +5 -5
  57. package/dist/components/Tables/common/types.d.ts +4 -0
  58. package/dist/components/Tables/common/usePagination.d.ts +3 -4
  59. package/dist/components/Tables/common/useTableCheckbox.d.ts +10 -6
  60. package/dist/components/index.d.ts +1 -0
  61. package/dist/composables/validation/useFormValidation.d.ts +10 -0
  62. package/dist/composables/validation/useValidatable.d.ts +10 -2
  63. package/dist/design-system-v3.js +126 -125
  64. package/dist/design-system-v3.umd.cjs +265 -265
  65. package/dist/main-DISHlqcd.js +34217 -0
  66. package/dist/style.css +1 -1
  67. package/package.json +1 -1
  68. package/src/assets/overrides/_forms.scss +2 -0
  69. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.stories.ts +7 -4
  70. package/src/components/Amelipro/AmeliproAccordion/AmeliproAccordion.vue +2 -0
  71. package/src/components/Amelipro/AmeliproAccordionFrieze/AmeliproAccordionFrieze.vue +1 -0
  72. package/src/components/Amelipro/AmeliproAccordionFrieze/__tests__/__snapshots__/AmeliproAccordionFrieze.spec.ts.snap +574 -112
  73. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.stories.ts +5 -2
  74. package/src/components/Amelipro/AmeliproAccordionList/AmeliproAccordionList.vue +2 -1
  75. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.stories.ts +6 -3
  76. package/src/components/Amelipro/AmeliproAccordionResult/AmeliproAccordionResult.vue +2 -0
  77. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.stories.ts +5 -2
  78. package/src/components/Amelipro/AmeliproAccordionResultList/AmeliproAccordionResultList.vue +2 -1
  79. package/src/components/Amelipro/AmeliproCheckbox/__tests__/AmeliproCheckbox.spec.ts +175 -0
  80. package/src/components/Amelipro/AmeliproCheckbox/__tests__/__snapshots__/AmeliproCheckbox.spec.ts.snap +88 -0
  81. package/src/components/Amelipro/AmeliproCheckboxGroup/__tests__/AmeliproCheckboxGroup.spec.ts +423 -0
  82. package/src/components/Amelipro/AmeliproCheckboxGroup/{tests → __tests__}/__snapshots__/AmeliproCheckboxGroup.spec.ts.snap +112 -78
  83. package/src/components/Amelipro/AmeliproChips/__tests__/AmeliproChips.spec.ts +92 -0
  84. package/src/components/Amelipro/AmeliproChips/__tests__/__snapshots__/AmeliproChips.spec.ts.snap +81 -0
  85. package/src/components/Amelipro/AmeliproDialog/__tests__/AmeliproDialog.spec.ts +257 -0
  86. package/src/components/Amelipro/AmeliproDialog/__tests__/__snapshots__/AmeliproDialog.spec.ts.snap +61 -0
  87. package/src/components/Amelipro/AmeliproDisclosure/__tests__/AmeliproDisclosure.spec.ts +79 -0
  88. package/src/components/Amelipro/AmeliproDisclosure/__tests__/__snapshots__/AmeliproDisclosure.spec.ts.snap +89 -0
  89. package/src/components/Amelipro/AmeliproFooter/AmeliproFooter.vue +6 -7
  90. package/src/components/Amelipro/AmeliproFooter/__tests__/AmeliproFooter.spec.ts +787 -0
  91. package/src/components/Amelipro/AmeliproFooter/__tests__/__snapshots__/AmeliproFooter.spec.ts.snap +318 -0
  92. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/__tests__/AmeliproHeaderBrandSection.spec.ts +167 -0
  93. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/__tests__/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +100 -0
  94. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/__tests__/AmeliproHeaderBar.spec.ts +312 -0
  95. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/__tests__/__snapshots__/AmeliproHeaderBar.spec.ts.snap +98 -0
  96. package/src/components/Amelipro/AmeliproHeader/__tests__/AmeliproHeader.spec.ts +361 -0
  97. package/src/components/Amelipro/AmeliproHeader/__tests__/__snapshots__/AmeliproHeader.spec.ts.snap +22 -0
  98. package/src/components/Amelipro/AmeliproMenu/__tests__/AmeliproMenu.spec.ts +168 -0
  99. package/src/components/Amelipro/AmeliproMenu/__tests__/__snapshots__/AmeliproMenu.spec.ts.snap +295 -0
  100. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/__tests__/AmeliproDropdownMenuBtn.spec.ts +128 -0
  101. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/__tests__/__snapshots__/AmeliproDropdownMenuBtn.spec.ts.snap +67 -0
  102. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/__tests__/AmeliproDropdownMenu.spec.ts +266 -0
  103. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/__tests__/__snapshots__/AmeliproDropdownMenu.spec.ts.snap +134 -0
  104. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/__tests__/AmeliproMessagingMenuBtn.spec.ts +72 -0
  105. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/__tests__/__snapshots__/AmeliproMessagingMenuBtn.spec.ts.snap +71 -0
  106. package/src/components/Amelipro/AmeliproPageLayout/tests/__snapshots__/AmeliproPageLayout.spec.ts.snap +12 -0
  107. package/src/components/Amelipro/AmeliproTable/AmeliproTable.stories.ts +81 -9
  108. package/src/components/Amelipro/AmeliproTable/AmeliproTable.vue +139 -61
  109. package/src/components/Amelipro/AmeliproTable/__tests__/AmeliproTable.spec.ts +10 -0
  110. package/src/components/Amelipro/AmeliproTable/__tests__/__snapshots__/AmeliproTable.spec.ts.snap +361 -187
  111. package/src/components/Amelipro/AmeliproTable/types.d.ts +11 -0
  112. package/src/components/Captcha/Captcha.mdx +72 -0
  113. package/src/components/Captcha/Captcha.stories.ts +276 -0
  114. package/src/components/Captcha/Captcha.vue +325 -0
  115. package/src/components/Captcha/CaptchaAlert.vue +60 -0
  116. package/src/components/Captcha/CaptchaBase.vue +219 -0
  117. package/src/components/Captcha/CaptchaBtn.vue +35 -0
  118. package/src/components/Captcha/CaptchaForm.vue +58 -0
  119. package/src/components/Captcha/CaptchaImg.vue +41 -0
  120. package/src/components/Captcha/CaptchaInformation.vue +64 -0
  121. package/src/components/Captcha/captchaApi.ts +111 -0
  122. package/src/components/Captcha/icons/volumeUp.vue +11 -0
  123. package/src/components/Captcha/locales.ts +35 -0
  124. package/src/components/Captcha/readme.md +5 -0
  125. package/src/components/Captcha/tests/Captcha.spec.ts +298 -0
  126. package/src/components/Captcha/tests/__snapshots__/Captcha.spec.ts.snap +716 -0
  127. package/src/components/Captcha/types.ts +2 -0
  128. package/src/components/Customs/Selects/SySelect/SySelect.vue +2 -2
  129. package/src/components/Customs/SyCheckbox/SyCheckbox.vue +4 -0
  130. package/src/components/Customs/SyForm/SyForm.stories.ts +133 -23
  131. package/src/components/Customs/SyForm/SyForm.vue +17 -1
  132. package/src/components/Customs/SyTextField/SyTextField.vue +29 -7
  133. package/src/components/DatePicker/CalendarMode/DatePicker.vue +32 -9
  134. package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +154 -18
  135. package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +2 -2
  136. package/src/components/DatePicker/DateTextInput/DateTextInput.vue +35 -4
  137. package/src/components/DatePicker/composables/tests/useDatePickerViewMode.spec.ts +107 -72
  138. package/src/components/DatePicker/composables/tests/useMonthButtonCustomization.spec.ts +6 -6
  139. package/src/components/DatePicker/composables/useDatePickerViewMode.ts +57 -7
  140. package/src/components/DatePicker/composables/useMonthButtonCustomization.ts +14 -14
  141. package/src/components/DatePicker/tests/navigation.regression.spec.ts +74 -0
  142. package/src/components/DatePicker/tests/navigation.simple.spec.ts +137 -0
  143. package/src/components/NirField/NirField.stories.ts +85 -2
  144. package/src/components/NirField/NirField.vue +55 -18
  145. package/src/components/NirField/locales.ts +1 -3
  146. package/src/components/PasswordField/PasswordField.vue +39 -7
  147. package/src/components/PhoneField/PhoneField.vue +43 -10
  148. package/src/components/RangeField/tests/RangeField.spec.ts +0 -3
  149. package/src/components/Tables/SyServerTable/SyServerTable.mdx +15 -0
  150. package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +309 -0
  151. package/src/components/Tables/SyServerTable/SyServerTable.vue +18 -3
  152. package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +67 -0
  153. package/src/components/Tables/SyTable/SyTable.mdx +15 -0
  154. package/src/components/Tables/SyTable/SyTable.stories.ts +228 -0
  155. package/src/components/Tables/SyTable/SyTable.vue +18 -3
  156. package/src/components/Tables/SyTable/tests/SyTable.spec.ts +63 -0
  157. package/src/components/Tables/common/SyTablePagination.vue +10 -8
  158. package/src/components/Tables/common/types.ts +4 -0
  159. package/src/components/Tables/common/usePagination.ts +11 -20
  160. package/src/components/Tables/common/useTableCheckbox.ts +23 -11
  161. package/src/components/index.ts +1 -0
  162. package/src/composables/validation/AvecVosComposants.mdx.old +1 -1
  163. package/src/composables/validation/FormValidation.stories.ts.old +5 -5
  164. package/src/composables/validation/useFormValidation.ts +46 -8
  165. package/src/composables/validation/useValidatable.ts +19 -8
  166. package/src/stories/Accessibilite/Introduction.mdx +1 -1
  167. package/src/stories/Demarrer/EnrichirLeDesignSystem.mdx +43 -0
  168. package/src/stories/Demarrer/EnrichirLeDesignSystem.stories.ts +239 -0
  169. package/src/stories/Demarrer/SignalerUneAnomalie.mdx +39 -0
  170. package/src/stories/Demarrer/SignalerUneAnomalie.stories.ts +261 -0
  171. package/dist/main-DyEOPqqn.js +0 -33329
  172. package/src/components/Amelipro/AmeliproCheckbox/tests/AmeliproCheckbox.spec.ts +0 -19
  173. package/src/components/Amelipro/AmeliproCheckbox/tests/__snapshots__/AmeliproCheckbox.spec.ts.snap +0 -40
  174. package/src/components/Amelipro/AmeliproCheckboxGroup/tests/AmeliproCheckboxGroup.spec.ts +0 -46
  175. package/src/components/Amelipro/AmeliproChips/tests/AmeliproChips.spec.ts +0 -16
  176. package/src/components/Amelipro/AmeliproChips/tests/__snapshots__/AmeliproChips.spec.ts.snap +0 -97
  177. package/src/components/Amelipro/AmeliproDialog/tests/AmeliproDialog.spec.ts +0 -24
  178. package/src/components/Amelipro/AmeliproDialog/tests/__snapshots__/AmeliproDialog.spec.ts.snap +0 -134
  179. package/src/components/Amelipro/AmeliproDisclosure/tests/AmeliproDisclosure.spec.ts +0 -19
  180. package/src/components/Amelipro/AmeliproDisclosure/tests/__snapshots__/AmeliproDisclosure.spec.ts.snap +0 -104
  181. package/src/components/Amelipro/AmeliproFooter/tests/AmeliproFooter.spec.ts +0 -15
  182. package/src/components/Amelipro/AmeliproFooter/tests/__snapshots__/AmeliproFooter.spec.ts.snap +0 -432
  183. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/AmeliproHeaderBrandSection.spec.ts +0 -15
  184. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/AmeliproHeaderBrandSection/tests/__snapshots__/AmeliproHeaderBrandSection.spec.ts.snap +0 -131
  185. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/AmeliproHeaderBar.spec.ts +0 -15
  186. package/src/components/Amelipro/AmeliproHeader/AmeliproHeaderBar/tests/__snapshots__/AmeliproHeaderBar.spec.ts.snap +0 -172
  187. package/src/components/Amelipro/AmeliproHeader/tests/AmeliproHeader.spec.ts +0 -159
  188. package/src/components/Amelipro/AmeliproHeader/tests/__snapshots__/AmeliproHeader.spec.ts.snap +0 -841
  189. package/src/components/Amelipro/AmeliproMenu/tests/AmeliproMenu.spec.ts +0 -85
  190. package/src/components/Amelipro/AmeliproMenu/tests/__snapshots__/AmeliproMenu.spec.ts.snap +0 -537
  191. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/tests/AmeliproDropdownMenuBtn.spec.ts +0 -16
  192. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/AmeliproDropdownMenuBtn/tests/__snapshots__/AmeliproDropdownMenuBtn.spec.ts.snap +0 -56
  193. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/tests/AmeliproDropdownMenu.spec.ts +0 -28
  194. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproDropdownMenu/tests/__snapshots__/AmeliproDropdownMenu.spec.ts.snap +0 -300
  195. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/tests/AmeliproMessagingMenuBtn.spec.ts +0 -16
  196. package/src/components/Amelipro/AmeliproMessagingLayout/AmeliproMessagingMenuBtn/tests/__snapshots__/AmeliproMessagingMenuBtn.spec.ts.snap +0 -89
  197. package/src/components/BackBtn/tests/__snapshots__/BackBtn.spec.ts.snap +0 -45
  198. package/src/components/RangeField/tests/__snapshots__/RangeField.spec.ts.snap +0 -1270
  199. package/src/stories/Demarrer/CreerUneIssue.mdx +0 -67
  200. package/src/stories/Demarrer/components.stories.ts +0 -25
@@ -0,0 +1,312 @@
1
+ import { VueWrapper, mount, shallowMount } from '@vue/test-utils'
2
+ import { beforeEach, describe, expect, it } from 'vitest'
3
+ import AmeliproHeaderBar from '../AmeliproHeaderBar.vue'
4
+ import AmeliproHeaderBrandSection from '../AmeliproHeaderBrandSection/AmeliproHeaderBrandSection.vue'
5
+ import type { ComponentProps } from 'vue-component-type-helpers'
6
+ import { DisplayTestComponent } from '@tests/helpers/utils'
7
+ import type { ExpectedPropOptions } from '@tests/types'
8
+ import { type PropType } from 'vue'
9
+ import type { RouteLocationRaw } from 'vue-router'
10
+ import TestHelper from '@tests/helpers/TestHelper'
11
+ import { VSpacer } from 'vuetify/components'
12
+
13
+ const expectedPropOptions: ExpectedPropOptions<typeof AmeliproHeaderBar> = {
14
+ homeHref: {
15
+ type: String,
16
+ default: undefined,
17
+ },
18
+ homeLink: {
19
+ type: [String, Boolean, Object] as PropType<RouteLocationRaw>,
20
+ default: undefined,
21
+ },
22
+ innerWidth: {
23
+ type: String,
24
+ default: '100%',
25
+ },
26
+ serviceSubTitle: {
27
+ type: String,
28
+ default: undefined,
29
+ },
30
+ serviceTitle: {
31
+ type: String,
32
+ default: undefined,
33
+ },
34
+ themeAmelipro: {
35
+ type: Boolean,
36
+ default: true,
37
+ },
38
+ uniqueId: {
39
+ type: String,
40
+ default: undefined,
41
+ },
42
+ }
43
+
44
+ // Values pour les props "required"
45
+ const requiredPropValues = (): ComponentProps<typeof AmeliproHeaderBar> => ({})
46
+
47
+ // Valeurs pour les props "modified"
48
+ const modifiedPropValues = (): ComponentProps<typeof AmeliproHeaderBar> => ({
49
+ homeHref: '#modified-home-href',
50
+ homeLink: '/modified-home-link',
51
+ innerWidth: '1000px',
52
+ serviceSubTitle: 'Modified service sub title',
53
+ serviceTitle: 'Modified service title',
54
+ themeAmelipro: false,
55
+ uniqueId: 'modified-unique-id',
56
+ })
57
+
58
+ const testHelper = new TestHelper(AmeliproHeaderBar)
59
+ testHelper.setExpectedPropOptions(expectedPropOptions)
60
+ .setRequiredPropValues(requiredPropValues)
61
+ .setModifiedPropValues(modifiedPropValues)
62
+
63
+ const displayWrapper = mount(DisplayTestComponent)
64
+
65
+ describe('AmeliproHeaderBar', () => {
66
+ describe('Snapshots', () => {
67
+ testHelper.snapshots()
68
+ })
69
+
70
+ describe('Properties', () => {
71
+ testHelper.properties()
72
+ })
73
+
74
+ describe('Setting props should update attributes of inner tags', () => {
75
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproHeaderBar>>
76
+
77
+ describe('root', () => {
78
+ beforeEach(() => {
79
+ vueWrapper = shallowMount(AmeliproHeaderBar, { props: requiredPropValues() })
80
+ })
81
+
82
+ it('prop uniqueId sets attribute id', async () => {
83
+ expect(vueWrapper.find('.header-bar-container').exists()).toBe(true)
84
+ expect(vueWrapper.find('.header-bar-container').attributes('id')).toBeUndefined()
85
+
86
+ const { uniqueId } = modifiedPropValues()
87
+ await vueWrapper.setProps({ uniqueId })
88
+ expect(vueWrapper.find('.header-bar-container').attributes('id')).toBe('modified-unique-id-container')
89
+ })
90
+ })
91
+
92
+ describe('header bar', () => {
93
+ beforeEach(() => {
94
+ vueWrapper = shallowMount(AmeliproHeaderBar, { props: requiredPropValues() })
95
+ })
96
+
97
+ it('prop uniqueId sets attribute id', async () => {
98
+ expect(vueWrapper.find('.header-bar').attributes('id')).toBeUndefined()
99
+
100
+ const { uniqueId } = modifiedPropValues()
101
+ await vueWrapper.setProps({ uniqueId })
102
+ expect(vueWrapper.find('.header-bar').attributes('id')).toBe('modified-unique-id-main-bar')
103
+ })
104
+ })
105
+
106
+ describe('header bar content', () => {
107
+ beforeEach(() => {
108
+ vueWrapper = shallowMount(AmeliproHeaderBar, { props: requiredPropValues() })
109
+ })
110
+
111
+ it('xs & smAndDown value set attribute class', async () => {
112
+ displayWrapper.vm.setXs(false)
113
+ displayWrapper.vm.setSmAndDown(false)
114
+ await vueWrapper.vm.$nextTick()
115
+ expect(vueWrapper.find('.header-bar-content').attributes('class')).toBe('header-bar-content d-flex justify-center px-14 py-2')
116
+
117
+ displayWrapper.vm.setSmAndDown(true)
118
+ await vueWrapper.vm.$nextTick()
119
+ expect(vueWrapper.find('.header-bar-content').attributes('class')).toBe('header-bar-content d-flex justify-center px-8 py-2')
120
+
121
+ displayWrapper.vm.setXs(true)
122
+ await vueWrapper.vm.$nextTick()
123
+ expect(vueWrapper.find('.header-bar-content').attributes('class')).toBe('header-bar-content d-flex justify-center px-6 py-2')
124
+
125
+ displayWrapper.vm.resetDefaults()
126
+ })
127
+ })
128
+
129
+ describe('header bar content container', () => {
130
+ beforeEach(() => {
131
+ vueWrapper = shallowMount(AmeliproHeaderBar, { props: requiredPropValues() })
132
+ })
133
+
134
+ it('prop innerWidth sets attribute style', async () => {
135
+ expect(vueWrapper.find('.header-bar-content__container').attributes('style')).toBe('width: 100%; max-width: 100%;')
136
+
137
+ const { innerWidth } = modifiedPropValues()
138
+ await vueWrapper.setProps({ innerWidth })
139
+ expect(vueWrapper.find('.header-bar-content__container').attributes('style')).toBe('width: 1000px; max-width: 1000px;')
140
+ })
141
+ })
142
+
143
+ describe('navigation bar div', () => {
144
+ it('prop innerWidth sets attribute style', async () => {
145
+ vueWrapper = shallowMount(AmeliproHeaderBar, {
146
+ props: requiredPropValues(),
147
+ slots: { 'navigation-bar-content': 'Modified navigation bar content' },
148
+ })
149
+ expect(vueWrapper.find('.navigation-bar > div').attributes('style')).toBe('width: 100%; max-width: 100%;')
150
+
151
+ const { innerWidth } = modifiedPropValues()
152
+ await vueWrapper.setProps({ innerWidth })
153
+ expect(vueWrapper.find('.navigation-bar > div').attributes('style')).toBe('width: 1000px; max-width: 1000px;')
154
+ })
155
+ })
156
+ })
157
+
158
+ describe('Setting props should update props of inner components', () => {
159
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproHeaderBar>>
160
+
161
+ describe('AmeliproHeaderBrandSection', () => {
162
+ beforeEach(() => {
163
+ vueWrapper = shallowMount(AmeliproHeaderBar, { props: requiredPropValues() })
164
+ })
165
+
166
+ it('prop uniqueId sets prop uniqueId', async () => {
167
+ expect(vueWrapper.findComponent(AmeliproHeaderBrandSection).props('uniqueId')).toBeUndefined()
168
+
169
+ const { uniqueId } = modifiedPropValues()
170
+ await vueWrapper.setProps({ uniqueId })
171
+ expect(vueWrapper.findComponent(AmeliproHeaderBrandSection).props('uniqueId')).toBe('modified-unique-id-brand-section')
172
+ })
173
+
174
+ it('prop homeHref sets prop homeHref', async () => {
175
+ expect(vueWrapper.findComponent(AmeliproHeaderBrandSection).props('homeHref')).toBeUndefined()
176
+
177
+ const { homeHref } = modifiedPropValues()
178
+ await vueWrapper.setProps({ homeHref })
179
+ expect(vueWrapper.findComponent(AmeliproHeaderBrandSection).props('homeHref')).toBe('#modified-home-href')
180
+ })
181
+
182
+ it('prop homeLink sets prop homeLink', async () => {
183
+ expect(vueWrapper.findComponent(AmeliproHeaderBrandSection).props('homeLink')).toBeUndefined()
184
+
185
+ const { homeLink } = modifiedPropValues()
186
+ await vueWrapper.setProps({ homeLink })
187
+ expect(vueWrapper.findComponent(AmeliproHeaderBrandSection).props('homeLink')).toBe('/modified-home-link')
188
+ })
189
+
190
+ it('displayWidth sets prop mobileVersion', async () => {
191
+ displayWrapper.vm.setSmAndDown(false)
192
+ await vueWrapper.vm.$nextTick()
193
+ expect(vueWrapper.findComponent(AmeliproHeaderBrandSection).props('mobileVersion')).toBe(false)
194
+
195
+ displayWrapper.vm.setSmAndDown(true)
196
+ await vueWrapper.vm.$nextTick()
197
+ expect(vueWrapper.findComponent(AmeliproHeaderBrandSection).props('mobileVersion')).toBe(true)
198
+
199
+ displayWrapper.vm.resetDefaults()
200
+ })
201
+
202
+ it('prop serviceSubTitle sets prop serviceSubTitle', async () => {
203
+ expect(vueWrapper.findComponent(AmeliproHeaderBar).props('serviceSubTitle')).toBeUndefined()
204
+
205
+ const { serviceSubTitle } = modifiedPropValues()
206
+ await vueWrapper.setProps({ serviceSubTitle })
207
+ expect(vueWrapper.findComponent(AmeliproHeaderBrandSection).props('serviceSubTitle')).toBe('Modified service sub title')
208
+ })
209
+
210
+ it('prop serviceTitle sets prop serviceTitle', async () => {
211
+ expect(vueWrapper.findComponent(AmeliproHeaderBrandSection).props('serviceTitle')).toBeUndefined()
212
+
213
+ const { serviceTitle } = modifiedPropValues()
214
+ await vueWrapper.setProps({ serviceTitle })
215
+ expect(vueWrapper.findComponent(AmeliproHeaderBrandSection).props('serviceTitle')).toBe('Modified service title')
216
+ })
217
+
218
+ it('prop themeAmelipro sets prop themeAmelipro', async () => {
219
+ expect(vueWrapper.findComponent(AmeliproHeaderBrandSection).props('themeAmelipro')).toBe(true)
220
+
221
+ const { themeAmelipro } = modifiedPropValues()
222
+ await vueWrapper.setProps({ themeAmelipro })
223
+ expect(vueWrapper.findComponent(AmeliproHeaderBrandSection).props('themeAmelipro')).toBe(false)
224
+ })
225
+ })
226
+
227
+ describe('VSpacer', () => {
228
+ beforeEach(() => {
229
+ vueWrapper = shallowMount(AmeliproHeaderBar, { props: requiredPropValues() })
230
+ })
231
+
232
+ it('slot #default & display width set VSpacer visibility', async () => {
233
+ displayWrapper.vm.setSmAndDown(false)
234
+ await vueWrapper.vm.$nextTick()
235
+ expect(vueWrapper.findComponent(VSpacer).exists()).toBe(false)
236
+
237
+ displayWrapper.vm.setSmAndDown(true)
238
+ await vueWrapper.vm.$nextTick()
239
+ expect(vueWrapper.findComponent(VSpacer).exists()).toBe(true)
240
+
241
+ displayWrapper.vm.setSmAndDown(false)
242
+ await vueWrapper.vm.$nextTick()
243
+ vueWrapper = shallowMount(AmeliproHeaderBar, {
244
+ props: requiredPropValues(),
245
+ slots: { default: 'Default slot content' },
246
+ })
247
+ expect(vueWrapper.findComponent(VSpacer).exists()).toBe(true)
248
+ })
249
+ })
250
+ })
251
+
252
+ describe('Slots', () => {
253
+ let vueWrapper: VueWrapper<InstanceType<typeof AmeliproHeaderBar>>
254
+
255
+ describe('#default', () => {
256
+ it('slot #default without content', () => {
257
+ vueWrapper = shallowMount(AmeliproHeaderBar, { props: requiredPropValues() })
258
+ expect(vueWrapper.find('.header-bar-content__container').text()).toBe('')
259
+ })
260
+
261
+ it('slot #default with content', () => {
262
+ vueWrapper = shallowMount(AmeliproHeaderBar, {
263
+ props: requiredPropValues(),
264
+ slots: { default: 'Default slot content' },
265
+ })
266
+ expect(vueWrapper.find('.header-bar-content__container').text()).toBe('Default slot content')
267
+ })
268
+ })
269
+
270
+ describe('#navigation-bar-content & navigation bar', () => {
271
+ beforeEach(() => {
272
+ vueWrapper = shallowMount(AmeliproHeaderBar, {
273
+ props: requiredPropValues(),
274
+ slots: { 'navigation-bar-content': 'Modified navigation bar content' },
275
+ })
276
+ })
277
+
278
+ it('slot #navigation-bar-content sets navigation bar visibility', () => {
279
+ expect(vueWrapper.find('.navigation-bar').exists()).toBe(true)
280
+
281
+ vueWrapper = shallowMount(AmeliproHeaderBar, { props: requiredPropValues() })
282
+ expect(vueWrapper.find('.navigation-bar').exists()).toBe(false)
283
+ })
284
+
285
+ it('slot #navigation-bar-content sets navigation bar content', () => {
286
+ expect(vueWrapper.find('.navigation-bar').text()).toBe('Modified navigation bar content')
287
+ })
288
+
289
+ it('prop uniqueId sets attribute id', async () => {
290
+ expect(vueWrapper.find('.navigation-bar').attributes('id')).toBeUndefined()
291
+
292
+ const { uniqueId } = modifiedPropValues()
293
+ await vueWrapper.setProps({ uniqueId })
294
+ expect(vueWrapper.find('.navigation-bar').attributes('id')).toBe('modified-unique-id-navigation-bar')
295
+ })
296
+
297
+ it('prop smAndDown value sets attribute class', async () => {
298
+ displayWrapper.vm.setSmAndDown(false)
299
+ await vueWrapper.vm.$nextTick()
300
+ expect(vueWrapper.find('.navigation-bar').classes('px-8')).toBe(false)
301
+ expect(vueWrapper.find('.navigation-bar').classes('px-14')).toBe(true)
302
+
303
+ displayWrapper.vm.setSmAndDown(true)
304
+ await vueWrapper.vm.$nextTick()
305
+ expect(vueWrapper.find('.navigation-bar').classes('px-8')).toBe(true)
306
+ expect(vueWrapper.find('.navigation-bar').classes('px-14')).toBe(false)
307
+
308
+ displayWrapper.vm.resetDefaults()
309
+ })
310
+ })
311
+ })
312
+ })
@@ -0,0 +1,98 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`AmeliproHeaderBar > Snapshots > renders the component with all properties filled in 1`] = `
4
+ <header
5
+ class="
6
+ header-bar-container
7
+ w-100
8
+ "
9
+ id="modified-unique-id-container"
10
+ role="banner"
11
+ >
12
+ <div
13
+ class="
14
+ bg-ap-white
15
+ d-block
16
+ header-bar
17
+ w-100
18
+ "
19
+ id="modified-unique-id-main-bar"
20
+ >
21
+ <div class="
22
+ d-flex
23
+ header-bar-content
24
+ justify-center
25
+ px-14
26
+ py-2
27
+ ">
28
+ <div
29
+ class="
30
+ align-center
31
+ d-flex
32
+ header-bar-content__container
33
+ "
34
+ style="
35
+ width: 1000px;
36
+ max-width: 1000px;
37
+ "
38
+ >
39
+ <amelipro-header-brand-section-stub
40
+ homehref="#modified-home-href"
41
+ homelink="/modified-home-link"
42
+ mobileversion="false"
43
+ servicesubtitle="Modified service sub title"
44
+ servicetitle="Modified service title"
45
+ themeamelipro="false"
46
+ uniqueid="modified-unique-id-brand-section"
47
+ ></amelipro-header-brand-section-stub>
48
+ <!-- v-if -->
49
+ </div>
50
+ </div>
51
+ <!-- v-if -->
52
+ </div>
53
+ </header>
54
+ `;
55
+
56
+ exports[`AmeliproHeaderBar > Snapshots > renders the component with only required properties filled in 1`] = `
57
+ <header
58
+ class="
59
+ header-bar-container
60
+ w-100
61
+ "
62
+ role="banner"
63
+ >
64
+ <div class="
65
+ bg-ap-white
66
+ d-block
67
+ header-bar
68
+ w-100
69
+ ">
70
+ <div class="
71
+ d-flex
72
+ header-bar-content
73
+ justify-center
74
+ px-14
75
+ py-2
76
+ ">
77
+ <div
78
+ class="
79
+ align-center
80
+ d-flex
81
+ header-bar-content__container
82
+ "
83
+ style="
84
+ width: 100%;
85
+ max-width: 100%;
86
+ "
87
+ >
88
+ <amelipro-header-brand-section-stub
89
+ mobileversion="false"
90
+ themeamelipro="true"
91
+ ></amelipro-header-brand-section-stub>
92
+ <!-- v-if -->
93
+ </div>
94
+ </div>
95
+ <!-- v-if -->
96
+ </div>
97
+ </header>
98
+ `;