@kaizen/components 1.52.1 → 1.54.0

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 (228) hide show
  1. package/dist/cjs/Calendar/CalendarRange/CalendarRange.cjs +0 -2
  2. package/dist/cjs/Calendar/CalendarSingle/CalendarSingle.cjs +3 -5
  3. package/dist/cjs/DatePicker/DatePicker.cjs +8 -1
  4. package/dist/cjs/DatePicker/utils/getLocale.cjs +96 -3
  5. package/dist/cjs/DatePicker/utils/validateDate.cjs +28 -2
  6. package/dist/cjs/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.cjs +8 -1
  7. package/dist/cjs/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.cjs +14 -2
  8. package/dist/cjs/Filter/FilterBar/subcomponents/FilterBarDatePicker/FilterBarDatePicker.cjs +1 -0
  9. package/dist/cjs/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.cjs +10 -1
  10. package/dist/cjs/Filter/FilterDatePicker/subcomponents/DateInputField/DateInputField.cjs +8 -1
  11. package/dist/cjs/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.cjs +5 -1
  12. package/dist/cjs/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useEndDateValidation.cjs +1 -0
  13. package/dist/cjs/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useStartDateValidation.cjs +1 -0
  14. package/dist/cjs/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/validateEndDateBeforeStartDate.cjs +16 -1
  15. package/dist/esm/Calendar/CalendarRange/CalendarRange.mjs +0 -2
  16. package/dist/esm/Calendar/CalendarSingle/CalendarSingle.mjs +3 -5
  17. package/dist/esm/DatePicker/DatePicker.mjs +8 -1
  18. package/dist/esm/DatePicker/utils/getLocale.mjs +97 -4
  19. package/dist/esm/DatePicker/utils/validateDate.mjs +22 -2
  20. package/dist/esm/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.mjs +8 -1
  21. package/dist/esm/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.mjs +14 -2
  22. package/dist/esm/Filter/FilterBar/subcomponents/FilterBarDatePicker/FilterBarDatePicker.mjs +1 -0
  23. package/dist/esm/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.mjs +10 -1
  24. package/dist/esm/Filter/FilterDatePicker/subcomponents/DateInputField/DateInputField.mjs +8 -1
  25. package/dist/esm/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.mjs +5 -1
  26. package/dist/esm/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useEndDateValidation.mjs +1 -0
  27. package/dist/esm/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useStartDateValidation.mjs +1 -0
  28. package/dist/esm/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/validateEndDateBeforeStartDate.mjs +10 -1
  29. package/dist/styles.css +2 -2
  30. package/dist/types/AvatarGroup/_docs/example-data.d.ts +8 -0
  31. package/dist/types/BrandMoment/_docs/ExampleHeaders.d.ts +3 -0
  32. package/dist/types/Calendar/_docs/controls/defaultMonthControls.d.ts +2 -0
  33. package/dist/types/Calendar/_docs/controls/weekStartsOnControls.d.ts +2 -0
  34. package/dist/types/Container/Container.d.ts +1 -1
  35. package/dist/types/Content/Content.d.ts +1 -1
  36. package/dist/types/DateInput/DateInput/DateInput.d.ts +1 -1
  37. package/dist/types/DatePicker/DatePicker.d.ts +3 -3
  38. package/dist/types/DatePicker/_docs/controls/datePickerLocaleControls.d.ts +2 -0
  39. package/dist/types/DatePicker/_docs/controls/disabledDayMatchersControls.d.ts +2 -0
  40. package/dist/types/DatePicker/subcomponents/DateInputField/DateInputField.d.ts +1 -1
  41. package/dist/types/DatePicker/types.d.ts +2 -1
  42. package/dist/types/DatePicker/utils/getLocale.d.ts +1 -2
  43. package/dist/types/DateRangePicker/DateRangePicker.d.ts +2 -2
  44. package/dist/types/Filter/FilterBar/context/types.d.ts +28 -0
  45. package/dist/types/Filter/FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.d.ts +1 -1
  46. package/dist/types/Filter/FilterDatePicker/_docs/controls/disabledDaysControls.d.ts +2 -0
  47. package/dist/types/Filter/FilterDatePicker/_docs/controls/validationControls.d.ts +2 -0
  48. package/dist/types/Filter/FilterDatePicker/subcomponents/DateInputField/DateInputField.d.ts +1 -1
  49. package/dist/types/Filter/FilterDateRangePicker/_docs/controls/disabledDaysControls.d.ts +2 -0
  50. package/dist/types/Filter/FilterDateRangePicker/_docs/controls/validationControls.d.ts +2 -0
  51. package/dist/types/Filter/FilterMultiSelect/_docs/MockData.d.ts +10 -0
  52. package/dist/types/Filter/FilterSelect/_docs/mockData.d.ts +6 -0
  53. package/dist/types/Filter/_docs/controls/renderTriggerControls.d.ts +2 -0
  54. package/dist/types/Menu/_docs/MenuContentExample.d.ts +8 -0
  55. package/dist/types/Menu/_docs/examples.d.ts +11 -0
  56. package/dist/types/Modal/_docs/controls.d.ts +11 -0
  57. package/dist/types/MultiSelect/MultiSelect.d.ts +23 -0
  58. package/dist/types/MultiSelect/subcomponents/MultiSelectOptions/MultiSelectOptions.d.ts +13 -0
  59. package/dist/types/Select/Select.d.ts +3 -3
  60. package/dist/types/Workflow/_docs/controls/controls.d.ts +2 -0
  61. package/dist/types/Workflow/_docs/controls/index.d.ts +1 -0
  62. package/dist/types/__future__/Select/Select.d.ts +2 -2
  63. package/dist/types/__future__/Select/_docs/mockData.d.ts +6 -0
  64. package/dist/types/__future__/Select/subcomponents/SelectToggle/SelectToggle.d.ts +2 -2
  65. package/dist/types/__future__/Select/types.d.ts +22 -0
  66. package/dist/types/__future__/Workflow/_docs/controls/controls.d.ts +2 -0
  67. package/dist/types/__future__/Workflow/_docs/controls/index.d.ts +1 -0
  68. package/dist/types/__overlays__/Tooltip/v1/utils/isSemanticElement.d.ts +2 -2
  69. package/dist/types/utils/getNodeText.d.ts +2 -1
  70. package/locales/en.json +40 -0
  71. package/package.json +3 -3
  72. package/src/Avatar/_docs/Avatar.mdx +1 -1
  73. package/src/AvatarGroup/_docs/AvatarGroup.mdx +1 -1
  74. package/src/Badge/_docs/Badge.mdx +1 -1
  75. package/src/Brand/_docs/Brand.mdx +1 -1
  76. package/src/BrandMoment/_docs/BrandMoment.mdx +1 -1
  77. package/src/Button/Button/_docs/Button.mdx +1 -1
  78. package/src/Button/IconButton/_docs/IconButton.mdx +1 -1
  79. package/src/ButtonGroup/_docs/ButtonGroup.mdx +1 -1
  80. package/src/Calendar/CalendarRange/CalendarRange.tsx +0 -2
  81. package/src/Calendar/CalendarRange/_docs/CalendarRange.mdx +1 -1
  82. package/src/Calendar/CalendarSingle/CalendarSingle.tsx +1 -2
  83. package/src/Calendar/CalendarSingle/_docs/CalendarSingle.mdx +1 -1
  84. package/src/Card/_docs/Card.mdx +1 -1
  85. package/src/Checkbox/Checkbox/_docs/Checkbox.mdx +1 -1
  86. package/src/Checkbox/CheckboxField/_docs/CheckboxField.mdx +1 -1
  87. package/src/Checkbox/CheckboxGroup/_docs/CheckboxGroup.mdx +1 -1
  88. package/src/Collapsible/Collapsible/_docs/Collapsible.mdx +1 -1
  89. package/src/Collapsible/CollapsibleGroup/_docs/CollapsibleGroup.mdx +1 -1
  90. package/src/Collapsible/ExpertAdviceCollapsible/_docs/ExpertAdviceCollapsible.mdx +1 -1
  91. package/src/Container/_docs/Container.mdx +1 -1
  92. package/src/Content/_docs/Content.mdx +1 -1
  93. package/src/DateInput/DateInputDescription/DateInputDescription.spec.tsx +26 -18
  94. package/src/DatePicker/DatePicker.spec.tsx +100 -69
  95. package/src/DatePicker/DatePicker.tsx +15 -7
  96. package/src/DatePicker/_docs/DatePicker.mdx +1 -3
  97. package/src/DatePicker/_docs/DatePicker.stickersheet.stories.tsx +57 -21
  98. package/src/DatePicker/_docs/DatePicker.stories.tsx +2 -3
  99. package/src/DatePicker/_docs/controls/datePickerLocaleControls.ts +8 -2
  100. package/src/DatePicker/_docs/getLocale.stickersheet.stories.tsx +49 -0
  101. package/src/DatePicker/subcomponents/DateInputField/DateInputField.spec.tsx +49 -36
  102. package/src/DatePicker/types.ts +2 -1
  103. package/src/DatePicker/utils/getLocale.spec.ts +2 -2
  104. package/src/DatePicker/utils/getLocale.ts +141 -6
  105. package/src/DatePicker/utils/validateDate.spec.ts +40 -16
  106. package/src/DatePicker/utils/{validateDate.ts → validateDate.tsx} +24 -4
  107. package/src/DateRangePicker/DateRangePicker.tsx +2 -2
  108. package/src/DateRangePicker/_docs/DateRangePicker.mdx +1 -1
  109. package/src/Divider/_docs/Divider.mdx +1 -1
  110. package/src/EmptyState/_docs/EmptyState.mdx +1 -1
  111. package/src/ErrorPage/_docs/ErrorPage.mdx +1 -1
  112. package/src/FieldGroup/_docs/FieldGroup.mdx +1 -1
  113. package/src/FieldMessage/_docs/FieldMessage.mdx +1 -1
  114. package/src/Filter/Filter/_docs/Filter.mdx +1 -1
  115. package/src/Filter/FilterBar/FilterBar.spec.tsx +56 -25
  116. package/src/Filter/FilterBar/_docs/FilterBar.mdx +1 -1
  117. package/src/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.spec.tsx +21 -13
  118. package/src/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.tsx +11 -1
  119. package/src/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.tsx +17 -2
  120. package/src/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.spec.tsx +17 -8
  121. package/src/Filter/FilterBar/subcomponents/FilterBarDatePicker/FilterBarDatePicker.spec.tsx +37 -23
  122. package/src/Filter/FilterBar/subcomponents/FilterBarDateRangePicker/FilterBarDateRangePicker.spec.tsx +35 -23
  123. package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.spec.tsx +42 -26
  124. package/src/Filter/FilterBar/subcomponents/FilterBarSelect/FilterBarSelect.spec.tsx +37 -24
  125. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.spec.tsx +12 -12
  126. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.tsx +15 -2
  127. package/src/Filter/FilterButton/_docs/filter-buttons.mdx +1 -1
  128. package/src/Filter/FilterDatePicker/FilterDatePicker.spec.tsx +21 -16
  129. package/src/Filter/FilterDatePicker/_docs/FilterDatePicker.mdx +1 -1
  130. package/src/Filter/FilterDatePicker/_docs/FilterDatePicker.stickersheet.stories.tsx +56 -1
  131. package/src/Filter/FilterDatePicker/hooks/useDateInputHandlers.spec.ts +3 -3
  132. package/src/Filter/FilterDatePicker/hooks/{useDateValidation.spec.tsx → useDateValidation.spec.ts} +13 -12
  133. package/src/Filter/FilterDatePicker/subcomponents/DateInputField/DateInputField.tsx +10 -1
  134. package/src/Filter/FilterDatePicker/subcomponents/FilterDatePickerField/FilterDatePickerField.spec.tsx +57 -36
  135. package/src/Filter/FilterDatePicker/utils/validateDate.spec.ts +52 -28
  136. package/src/Filter/FilterDateRangePicker/FilterDateRangePicker.spec.tsx +3 -2
  137. package/src/Filter/FilterDateRangePicker/_docs/FilterDateRangePicker.mdx +1 -1
  138. package/src/Filter/FilterDateRangePicker/_docs/FilterDateRangePicker.stickersheet.stories.tsx +55 -24
  139. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeInputField/DateRangeInputField.spec.tsx +43 -28
  140. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.spec.tsx +82 -48
  141. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.tsx +6 -1
  142. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/{useEndDateValidation.spec.tsx → useEndDateValidation.spec.ts} +23 -20
  143. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/{useStartDateValidation.spec.tsx → useStartDateValidation.spec.ts} +13 -11
  144. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/validateEndDateBeforeStartDate.spec.ts +17 -6
  145. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/{validateEndDateBeforeStartDate.ts → validateEndDateBeforeStartDate.tsx} +9 -3
  146. package/src/Filter/FilterMultiSelect/FilterMultiSelect.spec.tsx +10 -14
  147. package/src/Filter/FilterMultiSelect/_docs/FilterMultiSelect.mdx +1 -1
  148. package/src/Filter/FilterMultiSelect/context/SelectionProvider/SelectionProvider.spec.tsx +392 -372
  149. package/src/Filter/FilterMultiSelect/subcomponents/SearchInput/SearchInput.spec.tsx +9 -6
  150. package/src/Filter/FilterSelect/_docs/FilterSelect.mdx +1 -1
  151. package/src/GuidanceBlock/_docs/GuidanceBlock.mdx +1 -1
  152. package/src/Heading/_docs/Heading.mdx +1 -1
  153. package/src/Icon/_docs/Icon.mdx +1 -1
  154. package/src/Illustration/Scene/BrandMomentCaptureIntro/_docs/BrandMomentCaptureIntro.mdx +1 -1
  155. package/src/Illustration/Scene/_docs/Scene.mdx +1 -1
  156. package/src/Illustration/Spot/_docs/Spot.mdx +1 -1
  157. package/src/Input/Input/_docs/Input.mdx +1 -1
  158. package/src/Input/InputRange/_docs/InputRange.mdx +1 -1
  159. package/src/Input/InputSearch/InputSearch.spec.tsx +15 -14
  160. package/src/Input/InputSearch/_docs/InputSearch.mdx +1 -1
  161. package/src/Label/_docs/Label.mdx +1 -1
  162. package/src/LabelledMessage/_docs/LabelledMessage.mdx +1 -1
  163. package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.mdx +1 -1
  164. package/src/Loading/LoadingGraphic/_docs/LoadingGraphic.mdx +1 -1
  165. package/src/Loading/LoadingHeading/_docs/LoadingHeading.mdx +1 -1
  166. package/src/Loading/LoadingInput/_docs/LoadingInput.mdx +1 -1
  167. package/src/Loading/LoadingParagraph/_docs/LoadingParagraph.mdx +1 -1
  168. package/src/Loading/LoadingSpinner/_docs/LoadingSpinner.mdx +1 -1
  169. package/src/Menu/_docs/Menu.mdx +1 -1
  170. package/src/Modal/ConfirmationModal/_docs/ConfirmationModal.mdx +1 -1
  171. package/src/Modal/ContextModal/_docs/ContextModal.mdx +1 -1
  172. package/src/Modal/GenericModal/_docs/GenericModal.mdx +1 -1
  173. package/src/Modal/InputEditModal/_docs/InputEditModal.mdx +1 -1
  174. package/src/MultiSelect/_docs/MultiSelect.mdx +1 -1
  175. package/src/Notification/GlobalNotification/_docs/GlobalNotification.mdx +1 -1
  176. package/src/Notification/InlineNotification/_docs/InlineNotification.mdx +1 -1
  177. package/src/Notification/ToastNotification/_docs/ToastNotification.mdx +1 -1
  178. package/src/Pagination/_docs/Pagination.mdx +1 -1
  179. package/src/Pagination/subcomponents/DirectionalLink/_docs/DirectionalLink.mdx +1 -1
  180. package/src/Pagination/subcomponents/PaginationLink/_docs/PaginationLink.mdx +1 -1
  181. package/src/Popover/_docs/Popover.mdx +1 -1
  182. package/src/ProgressBar/_docs/ProgressBar.mdx +1 -1
  183. package/src/Radio/Radio/_docs/Radio.mdx +1 -1
  184. package/src/Radio/RadioField/_docs/RadioField.mdx +1 -1
  185. package/src/Radio/RadioGroup/_docs/RadioGroup.mdx +1 -1
  186. package/src/RichTextEditor/EditableRichTextContent/_docs/EditableRichTextContent.mdx +1 -1
  187. package/src/RichTextEditor/RichTextContent/_docs/RichTextContent.mdx +1 -1
  188. package/src/RichTextEditor/RichTextEditor/_docs/RichTextEditor.mdx +1 -1
  189. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/_docs/ToggleIconButton.mdx +1 -1
  190. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/_docs/Toolbar.mdx +1 -1
  191. package/src/SearchField/_docs/SearchField.mdx +1 -1
  192. package/src/Select/_docs/Select.mdx +1 -1
  193. package/src/Skirt/_docs/Skirt.mdx +1 -1
  194. package/src/Slider/_docs/Slider.mdx +1 -1
  195. package/src/SplitButton/SplitButton.spec.tsx +11 -6
  196. package/src/SplitButton/_docs/SplitButton.mdx +1 -1
  197. package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.spec.tsx +15 -10
  198. package/src/Table/_docs/Table.mdx +1 -1
  199. package/src/Tabs/_docs/Tabs.mdx +1 -1
  200. package/src/Tag/_docs/Tag.mdx +1 -1
  201. package/src/Text/_docs/Text.mdx +1 -1
  202. package/src/TextArea/_docs/TextArea.mdx +1 -1
  203. package/src/TextAreaField/_docs/TextAreaField.mdx +1 -1
  204. package/src/TextField/_docs/TextField.mdx +1 -1
  205. package/src/Tile/InformationTile/_docs/InformationTile.mdx +1 -1
  206. package/src/Tile/MultiActionTile/_docs/MultiActionTile.mdx +1 -1
  207. package/src/Tile/TileGrid/_docs/TileGrid.mdx +1 -1
  208. package/src/TimeField/_docs/TimeField.mdx +1 -1
  209. package/src/TitleBlockZen/_docs/TitleBlockZen.mdx +1 -1
  210. package/src/ToggleSwitch/ToggleSwitch/_docs/ToggleSwitch.mdx +1 -1
  211. package/src/ToggleSwitch/ToggleSwitchField/_docs/ToggleSwitchField.mdx +1 -1
  212. package/src/VisuallyHidden/_docs/VisuallyHidden.mdx +1 -1
  213. package/src/Well/_docs/Well.mdx +1 -1
  214. package/src/Workflow/_docs/ProgressStepper.mdx +1 -1
  215. package/src/Workflow/_docs/Workflow.mdx +1 -1
  216. package/src/Workflow/_docs/WorkflowFooter.mdx +1 -1
  217. package/src/Workflow/_docs/WorkflowHeader.mdx +1 -1
  218. package/src/__future__/Select/_docs/Select.mdx +1 -1
  219. package/src/__future__/Tag/Tag/_docs/Tag.mdx +1 -1
  220. package/src/__future__/Workflow/_docs/ProgressStepper.mdx +1 -1
  221. package/src/__future__/Workflow/_docs/Workflow.mdx +1 -1
  222. package/src/__future__/Workflow/_docs/WorkflowFooter.mdx +1 -1
  223. package/src/__future__/Workflow/_docs/WorkflowHeader.mdx +1 -1
  224. package/src/__overlays__/Tooltip/v1/_docs/Tooltip.mdx +1 -1
  225. package/src/__overlays__/Tooltip/v3/_docs/ApiSpecification.mdx +0 -1
  226. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.docs.stories.tsx +52 -0
  227. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.mdx +40 -61
  228. package/src/__overlays__/Tooltip/v3/_docs/assets/tooltip_spec.png +0 -0
@@ -1,7 +1,8 @@
1
1
  import React, { useRef } from "react"
2
- import { render, screen } from "@testing-library/react"
2
+ import { screen, waitFor } from "@testing-library/react"
3
3
  import userEvent from "@testing-library/user-event"
4
4
  import { enAU } from "date-fns/locale"
5
+ import { renderWithIntl } from "~tests"
5
6
  import {
6
7
  DateRangeInputField,
7
8
  DateRangeInputFieldProps,
@@ -23,29 +24,39 @@ const DateRangeInputFieldWrapper = (
23
24
  )
24
25
 
25
26
  describe("<DateRangeInputField />", () => {
26
- it("has unique ids for both inputs", () => {
27
- const { container } = render(<DateRangeInputFieldWrapper id="range" />)
27
+ it("has unique ids for both inputs", async () => {
28
+ const { container } = renderWithIntl(
29
+ <DateRangeInputFieldWrapper id="range" />
30
+ )
28
31
  const inputStart = container.querySelector("#range--from")
29
32
  const inputEnd = container.querySelector("#range--to")
30
- expect(inputStart).toBeVisible()
31
- expect(inputEnd).toBeVisible()
33
+ await waitFor(() => {
34
+ expect(inputStart).toBeVisible()
35
+ expect(inputEnd).toBeVisible()
36
+ })
32
37
  })
33
38
 
34
- it("has an accessible name for the fieldset", () => {
35
- render(<DateRangeInputFieldWrapper />)
36
- expect(screen.getByRole("group", { name: "Dates" })).toBeVisible()
39
+ it("has an accessible name for the fieldset", async () => {
40
+ renderWithIntl(<DateRangeInputFieldWrapper />)
41
+ await waitFor(() => {
42
+ expect(screen.getByRole("group", { name: "Dates" })).toBeVisible()
43
+ })
37
44
  })
38
45
 
39
- it("adds description to both inputs", () => {
40
- render(<DateRangeInputFieldWrapper />)
46
+ it("adds description to both inputs", async () => {
47
+ renderWithIntl(<DateRangeInputFieldWrapper />)
41
48
  const inputStart = screen.getByRole("textbox", { name: "Date from" })
42
49
  const inputEnd = screen.getByRole("textbox", { name: "Date to" })
43
- expect(inputStart).toHaveAccessibleDescription("Input format : dd/mm/yyyy")
44
- expect(inputEnd).toHaveAccessibleDescription("Input format : dd/mm/yyyy")
50
+ await waitFor(() => {
51
+ expect(inputStart).toHaveAccessibleDescription(
52
+ "Input format : dd/mm/yyyy"
53
+ )
54
+ expect(inputEnd).toHaveAccessibleDescription("Input format : dd/mm/yyyy")
55
+ })
45
56
  })
46
57
 
47
- it("adds validation message to description if it exists", () => {
48
- render(
58
+ it("adds validation message to description if it exists", async () => {
59
+ renderWithIntl(
49
60
  <DateRangeInputFieldWrapper
50
61
  validationMessage={{
51
62
  dateStart: {
@@ -56,28 +67,29 @@ describe("<DateRangeInputField />", () => {
56
67
  />
57
68
  )
58
69
  const inputStart = screen.getByRole("textbox", { name: "Date from" })
59
- expect(inputStart).toHaveAccessibleDescription(
60
- "Date Start has an error Input format : dd/mm/yyyy"
61
- )
62
- expect(screen.getByText("Date Start has an error")).toBeVisible()
70
+ await waitFor(() => {
71
+ expect(inputStart).toHaveAccessibleDescription(
72
+ "Date Start has an error Input format : dd/mm/yyyy"
73
+ )
74
+ expect(screen.getByText("Date Start has an error")).toBeVisible()
75
+ })
63
76
  })
64
77
 
65
78
  describe("Disabled", () => {
66
- it("disables both inputs", () => {
67
- render(<DateRangeInputFieldWrapper disabled />)
79
+ it("disables both inputs", async () => {
80
+ renderWithIntl(<DateRangeInputFieldWrapper disabled />)
68
81
  const inputStart = screen.getByRole("textbox", { name: "Date from" })
69
82
  const inputEnd = screen.getByRole("textbox", { name: "Date to" })
70
- expect(inputStart).toBeDisabled()
71
- expect(inputEnd).toBeDisabled()
83
+ await waitFor(() => {
84
+ expect(inputStart).toBeDisabled()
85
+ expect(inputEnd).toBeDisabled()
86
+ })
72
87
  })
73
88
  })
74
89
 
75
90
  describe("Refs", () => {
76
91
  it("correctly passes through both input refs", async () => {
77
- const onButtonClick = jest.fn<
78
- void,
79
- [string | undefined, string | undefined]
80
- >()
92
+ const onButtonClick = jest.fn()
81
93
 
82
94
  const Wrapper = (): JSX.Element => {
83
95
  const inputStartDateRef = useRef<HTMLInputElement>(null)
@@ -107,10 +119,13 @@ describe("<DateRangeInputField />", () => {
107
119
  )
108
120
  }
109
121
 
110
- render(<Wrapper />)
122
+ renderWithIntl(<Wrapper />)
111
123
 
112
124
  await user.click(screen.getByText("Click me"))
113
- expect(onButtonClick).toBeCalledWith("test__id--from", "test__id--to")
125
+ expect(onButtonClick).toHaveBeenCalledWith(
126
+ "test__id--from",
127
+ "test__id--to"
128
+ )
114
129
  })
115
130
  })
116
131
  })
@@ -1,6 +1,7 @@
1
- import React, { useState, FocusEvent } from "react"
2
- import { render, screen, waitFor, within } from "@testing-library/react"
1
+ import React, { useState } from "react"
2
+ import { screen, waitFor, within } from "@testing-library/react"
3
3
  import userEvent from "@testing-library/user-event"
4
+ import { renderWithIntl } from "~tests"
4
5
  import { DateRange } from "~components/Calendar"
5
6
  import { FilterDateRangePickerField, FilterDateRangePickerFieldProps } from "."
6
7
 
@@ -26,10 +27,17 @@ const FilterDateRangePickerFieldWrapper = ({
26
27
  )
27
28
  }
28
29
 
30
+ const waitForI18nContent = async (): Promise<void> => {
31
+ await waitFor(() => {
32
+ expect(screen.getByLabelText("Date from")).toBeVisible()
33
+ })
34
+ }
35
+
29
36
  describe("<FilterDateRangePickerField />", () => {
30
37
  describe("Inputs", () => {
31
- it("has empty inputs when a date range is not provided", () => {
32
- render(<FilterDateRangePickerFieldWrapper />)
38
+ it("has empty inputs when a date range is not provided", async () => {
39
+ renderWithIntl(<FilterDateRangePickerFieldWrapper />)
40
+ await waitForI18nContent()
33
41
 
34
42
  const inputStartDate = screen.getByLabelText("Date from")
35
43
  const inputEndDate = screen.getByLabelText("Date to")
@@ -37,8 +45,8 @@ describe("<FilterDateRangePickerField />", () => {
37
45
  expect(inputEndDate).toHaveValue("")
38
46
  })
39
47
 
40
- it("pre-fills the inputs when date range is provided", () => {
41
- render(
48
+ it("pre-fills the inputs when date range is provided", async () => {
49
+ renderWithIntl(
42
50
  <FilterDateRangePickerFieldWrapper
43
51
  selectedRange={{
44
52
  from: new Date("2022-05-01"),
@@ -46,6 +54,7 @@ describe("<FilterDateRangePickerField />", () => {
46
54
  }}
47
55
  />
48
56
  )
57
+ await waitForI18nContent()
49
58
 
50
59
  const inputStartDate = screen.getByLabelText("Date from")
51
60
  const inputEndDate = screen.getByLabelText("Date to")
@@ -53,8 +62,8 @@ describe("<FilterDateRangePickerField />", () => {
53
62
  expect(inputEndDate).toHaveValue("22 May 2022")
54
63
  })
55
64
 
56
- it("allows customising the input labels", () => {
57
- render(
65
+ it("allows customising the input labels", async () => {
66
+ renderWithIntl(
58
67
  <FilterDateRangePickerFieldWrapper
59
68
  selectedRange={{
60
69
  from: new Date("2022-05-01"),
@@ -65,18 +74,20 @@ describe("<FilterDateRangePickerField />", () => {
65
74
  />
66
75
  )
67
76
 
68
- const inputStartDate = screen.getByLabelText("Start date")
69
- const inputEndDate = screen.getByLabelText("End date")
70
- expect(inputStartDate).toHaveValue("1 May 2022")
71
- expect(inputEndDate).toHaveValue("22 May 2022")
77
+ await waitFor(() => {
78
+ const inputStartDate = screen.getByLabelText("Start date")
79
+ const inputEndDate = screen.getByLabelText("End date")
80
+ expect(inputStartDate).toHaveValue("1 May 2022")
81
+ expect(inputEndDate).toHaveValue("22 May 2022")
82
+ })
72
83
  })
73
84
 
74
85
  describe("onBlur", () => {
75
86
  it("updates start date input and calendar values correctly on blur", async () => {
76
- const startDateOnBlur = jest.fn<void, [FocusEvent]>()
77
- const endDateOnBlur = jest.fn<void, [FocusEvent]>()
87
+ const startDateOnBlur = jest.fn()
88
+ const endDateOnBlur = jest.fn()
78
89
 
79
- render(
90
+ renderWithIntl(
80
91
  <FilterDateRangePickerFieldWrapper
81
92
  selectedRange={{
82
93
  from: new Date("2022-05-02"),
@@ -86,6 +97,7 @@ describe("<FilterDateRangePickerField />", () => {
86
97
  inputEndDateProps={{ onBlur: endDateOnBlur }}
87
98
  />
88
99
  )
100
+ await waitForI18nContent()
89
101
 
90
102
  const inputStartDate = screen.getByLabelText("Date from")
91
103
  const inputEndDate = screen.getByLabelText("Date to")
@@ -114,10 +126,10 @@ describe("<FilterDateRangePickerField />", () => {
114
126
  })
115
127
 
116
128
  it("updates end date input and calendar values correctly on blur", async () => {
117
- const startDateOnBlur = jest.fn<void, [FocusEvent]>()
118
- const endDateOnBlur = jest.fn<void, [FocusEvent]>()
129
+ const startDateOnBlur = jest.fn()
130
+ const endDateOnBlur = jest.fn()
119
131
 
120
- render(
132
+ renderWithIntl(
121
133
  <FilterDateRangePickerFieldWrapper
122
134
  selectedRange={{
123
135
  from: new Date("2022-05-01"),
@@ -127,6 +139,7 @@ describe("<FilterDateRangePickerField />", () => {
127
139
  inputEndDateProps={{ onBlur: endDateOnBlur }}
128
140
  />
129
141
  )
142
+ await waitForI18nContent()
130
143
 
131
144
  const inputStartDate = screen.getByLabelText("Date from")
132
145
  const inputEndDate = screen.getByLabelText("Date to")
@@ -156,7 +169,7 @@ describe("<FilterDateRangePickerField />", () => {
156
169
  })
157
170
 
158
171
  it("updates the calendar month to match the new start date input", async () => {
159
- render(
172
+ renderWithIntl(
160
173
  <FilterDateRangePickerFieldWrapper
161
174
  selectedRange={{
162
175
  from: new Date("2022-05-02"),
@@ -164,6 +177,7 @@ describe("<FilterDateRangePickerField />", () => {
164
177
  }}
165
178
  />
166
179
  )
180
+ await waitForI18nContent()
167
181
 
168
182
  const inputStartDate = screen.getByLabelText("Date from")
169
183
  expect(inputStartDate).toHaveValue("2 May 2022")
@@ -185,19 +199,19 @@ describe("<FilterDateRangePickerField />", () => {
185
199
  })
186
200
 
187
201
  describe("Calendar", () => {
188
- it("shows the default month as the start month when there isn't a selected value", () => {
189
- render(
202
+ it("shows the default month as the start month when there isn't a selected value", async () => {
203
+ renderWithIntl(
190
204
  <FilterDateRangePickerFieldWrapper
191
205
  defaultMonth={new Date("2022-05-02")}
192
206
  />
193
207
  )
194
-
208
+ await waitForI18nContent()
195
209
  expect(screen.getByText("May 2022")).toBeVisible()
196
210
  expect(screen.getByText("June 2022")).toBeVisible()
197
211
  })
198
212
 
199
- it("shows the selected start date month as the start month when provided", () => {
200
- render(
213
+ it("shows the selected start date month as the start month when provided", async () => {
214
+ renderWithIntl(
201
215
  <FilterDateRangePickerFieldWrapper
202
216
  selectedRange={{
203
217
  from: new Date("2022-05-01"),
@@ -205,19 +219,21 @@ describe("<FilterDateRangePickerField />", () => {
205
219
  }}
206
220
  />
207
221
  )
208
-
222
+ await waitForI18nContent()
209
223
  expect(screen.getByText("May 2022")).toBeVisible()
210
224
  expect(screen.getByText("June 2022")).toBeVisible()
211
225
  })
212
226
 
213
- it("shows the current month as the start month when selected start date is invalid", () => {
214
- render(
227
+ it("shows the current month as the start month when selected start date is invalid", async () => {
228
+ renderWithIntl(
215
229
  <FilterDateRangePickerFieldWrapper
216
230
  selectedRange={{
217
231
  from: new Date("potato"),
218
232
  }}
219
233
  />
220
234
  )
235
+ await waitForI18nContent()
236
+
221
237
  const currentMonth = new Date().toLocaleDateString("en-AU", {
222
238
  month: "long",
223
239
  year: "numeric",
@@ -226,7 +242,7 @@ describe("<FilterDateRangePickerField />", () => {
226
242
  })
227
243
 
228
244
  it("updates the range start input when changing the start date", async () => {
229
- render(
245
+ renderWithIntl(
230
246
  <FilterDateRangePickerFieldWrapper
231
247
  selectedRange={{
232
248
  from: new Date("2022-05-15"),
@@ -234,6 +250,7 @@ describe("<FilterDateRangePickerField />", () => {
234
250
  }}
235
251
  />
236
252
  )
253
+ await waitForI18nContent()
237
254
 
238
255
  const inputStartDate = screen.getByLabelText("Date from")
239
256
  expect(inputStartDate).toHaveValue("15 May 2022")
@@ -252,7 +269,7 @@ describe("<FilterDateRangePickerField />", () => {
252
269
  })
253
270
 
254
271
  it("updates the range end input when changing the end date", async () => {
255
- render(
272
+ renderWithIntl(
256
273
  <FilterDateRangePickerFieldWrapper
257
274
  selectedRange={{
258
275
  from: new Date("2022-05-15"),
@@ -260,6 +277,7 @@ describe("<FilterDateRangePickerField />", () => {
260
277
  }}
261
278
  />
262
279
  )
280
+ await waitForI18nContent()
263
281
 
264
282
  const inputEndDate = screen.getByLabelText("Date to")
265
283
  expect(inputEndDate).toHaveValue("15 Jun 2022")
@@ -278,7 +296,7 @@ describe("<FilterDateRangePickerField />", () => {
278
296
  })
279
297
 
280
298
  it("clears the inputs when clearing the calendar value", async () => {
281
- render(
299
+ renderWithIntl(
282
300
  <FilterDateRangePickerFieldWrapper
283
301
  selectedRange={{
284
302
  from: new Date("2022-05-15"),
@@ -286,6 +304,7 @@ describe("<FilterDateRangePickerField />", () => {
286
304
  }}
287
305
  />
288
306
  )
307
+ await waitForI18nContent()
289
308
 
290
309
  const inputStartDate = screen.getByLabelText("Date from")
291
310
  const inputEndDate = screen.getByLabelText("Date to")
@@ -312,8 +331,8 @@ describe("<FilterDateRangePickerField />", () => {
312
331
  "#test__filter-date-range-picker--input--date-end-error-message"
313
332
 
314
333
  describe("Custom validation", () => {
315
- it("shows validation messages passed in from the consumer", () => {
316
- render(
334
+ it("shows validation messages passed in from the consumer", async () => {
335
+ renderWithIntl(
317
336
  <FilterDateRangePickerFieldWrapper
318
337
  onValidate={{
319
338
  dateStart: (): void => undefined,
@@ -331,19 +350,23 @@ describe("<FilterDateRangePickerField />", () => {
331
350
  }}
332
351
  />
333
352
  )
334
-
335
- expect(screen.getByText("Start date error message")).toBeVisible()
336
- expect(screen.getByText("End date caution message")).toBeVisible()
353
+ await waitFor(() => {
354
+ expect(screen.getByText("Start date error message")).toBeVisible()
355
+ expect(screen.getByText("End date caution message")).toBeVisible()
356
+ })
337
357
  })
338
358
  })
339
359
 
340
360
  describe("Inbuilt validation", () => {
341
361
  it("shows inbuilt validation messages for start date", async () => {
342
- const { container } = render(
362
+ const { container } = renderWithIntl(
343
363
  <FilterDateRangePickerFieldWrapper
344
364
  inputStartDateProps={{ labelText: "Start date" }}
345
365
  />
346
366
  )
367
+ await waitFor(() => {
368
+ expect(screen.getByLabelText("Start date")).toBeVisible()
369
+ })
347
370
 
348
371
  const inputStartDate = screen.getByLabelText("Start date")
349
372
 
@@ -362,11 +385,12 @@ describe("<FilterDateRangePickerField />", () => {
362
385
  })
363
386
 
364
387
  it("shows inbuilt validation messages for end date", async () => {
365
- const { container } = render(
388
+ const { container } = renderWithIntl(
366
389
  <FilterDateRangePickerFieldWrapper
367
390
  inputEndDateProps={{ labelText: "End date" }}
368
391
  />
369
392
  )
393
+ await waitForI18nContent()
370
394
 
371
395
  const inputEndDate = screen.getByLabelText("End date")
372
396
 
@@ -383,8 +407,8 @@ describe("<FilterDateRangePickerField />", () => {
383
407
  })
384
408
  })
385
409
 
386
- it("shows inbuilt validation messages for pre-existing values", () => {
387
- const { container } = render(
410
+ it("shows inbuilt validation messages for pre-existing values", async () => {
411
+ const { container } = renderWithIntl(
388
412
  <FilterDateRangePickerFieldWrapper
389
413
  selectedRange={{
390
414
  from: new Date("2022-05-15"),
@@ -393,6 +417,7 @@ describe("<FilterDateRangePickerField />", () => {
393
417
  disabledDays={[new Date("2022-05-15"), new Date("2022-05-23")]}
394
418
  />
395
419
  )
420
+ await waitForI18nContent()
396
421
 
397
422
  const dateStartErrorContainer =
398
423
  container.querySelector(dateStartErrorId)
@@ -411,13 +436,14 @@ describe("<FilterDateRangePickerField />", () => {
411
436
  'Date to:Cannot be earlier than the selection in "Date from"'
412
437
 
413
438
  it("shows error on updating end date input to be before start date", async () => {
414
- const { container } = render(
439
+ const { container } = renderWithIntl(
415
440
  <FilterDateRangePickerFieldWrapper
416
441
  selectedRange={{
417
442
  from: new Date("2022-05-15"),
418
443
  }}
419
444
  />
420
445
  )
446
+ await waitForI18nContent()
421
447
 
422
448
  const inputEndDate = screen.getByLabelText("Date to")
423
449
 
@@ -436,7 +462,7 @@ describe("<FilterDateRangePickerField />", () => {
436
462
  })
437
463
 
438
464
  it("removes error on updating start date input to be before end date", async () => {
439
- const { container } = render(
465
+ const { container } = renderWithIntl(
440
466
  <FilterDateRangePickerFieldWrapper
441
467
  selectedRange={{
442
468
  from: new Date("2022-05-15"),
@@ -444,6 +470,7 @@ describe("<FilterDateRangePickerField />", () => {
444
470
  }}
445
471
  />
446
472
  )
473
+ await waitForI18nContent()
447
474
 
448
475
  const inputEndDate = screen.getByLabelText("Date to")
449
476
 
@@ -479,8 +506,9 @@ describe("<FilterDateRangePickerField />", () => {
479
506
  ).toEqual(3)
480
507
  })
481
508
  })
509
+
482
510
  it("displays only one date when the start date input is set to be before the end date", async () => {
483
- const { container } = render(
511
+ const { container } = renderWithIntl(
484
512
  <FilterDateRangePickerFieldWrapper
485
513
  selectedRange={{
486
514
  from: new Date("2022-05-15"),
@@ -488,6 +516,7 @@ describe("<FilterDateRangePickerField />", () => {
488
516
  }}
489
517
  />
490
518
  )
519
+ await waitForI18nContent()
491
520
 
492
521
  const inputStartDate = screen.getByLabelText("Date from")
493
522
 
@@ -510,7 +539,7 @@ describe("<FilterDateRangePickerField />", () => {
510
539
  })
511
540
 
512
541
  it("shows error on updating start date input to be after end date", async () => {
513
- const { container } = render(
542
+ const { container } = renderWithIntl(
514
543
  <FilterDateRangePickerFieldWrapper
515
544
  selectedRange={{
516
545
  from: new Date("2022-05-15"),
@@ -518,6 +547,7 @@ describe("<FilterDateRangePickerField />", () => {
518
547
  }}
519
548
  />
520
549
  )
550
+ await waitForI18nContent()
521
551
 
522
552
  const inputStartDate = screen.getByLabelText("Date from")
523
553
 
@@ -536,7 +566,7 @@ describe("<FilterDateRangePickerField />", () => {
536
566
  })
537
567
 
538
568
  it("shows error if the pre-existing end date is before start date", async () => {
539
- const { container } = render(
569
+ const { container } = renderWithIntl(
540
570
  <FilterDateRangePickerFieldWrapper
541
571
  selectedRange={{
542
572
  from: new Date("2022-05-15"),
@@ -558,7 +588,7 @@ describe("<FilterDateRangePickerField />", () => {
558
588
 
559
589
  describe("Combined validation", () => {
560
590
  it("shows custom start date validation with inbuilt end date validation", async () => {
561
- const { container } = render(
591
+ const { container } = renderWithIntl(
562
592
  <FilterDateRangePickerFieldWrapper
563
593
  onValidate={{
564
594
  dateStart: (): void => undefined,
@@ -571,6 +601,7 @@ describe("<FilterDateRangePickerField />", () => {
571
601
  }}
572
602
  />
573
603
  )
604
+ await waitForI18nContent()
574
605
 
575
606
  const inputEndDate = screen.getByLabelText("Date to")
576
607
 
@@ -590,7 +621,7 @@ describe("<FilterDateRangePickerField />", () => {
590
621
  })
591
622
 
592
623
  it("shows custom end date validation with inbuilt start date validation", async () => {
593
- const { container } = render(
624
+ const { container } = renderWithIntl(
594
625
  <FilterDateRangePickerFieldWrapper
595
626
  onValidate={{
596
627
  dateEnd: (): void => undefined,
@@ -603,6 +634,7 @@ describe("<FilterDateRangePickerField />", () => {
603
634
  }}
604
635
  />
605
636
  )
637
+ await waitForI18nContent()
606
638
 
607
639
  const inputStartDate = screen.getByLabelText("Date from")
608
640
 
@@ -624,7 +656,7 @@ describe("<FilterDateRangePickerField />", () => {
624
656
  })
625
657
 
626
658
  it("re-validates values when selecting a value using the calendar", async () => {
627
- const { container } = render(
659
+ const { container } = renderWithIntl(
628
660
  <FilterDateRangePickerFieldWrapper
629
661
  selectedRange={{
630
662
  from: new Date("2022-05-10"),
@@ -632,6 +664,7 @@ describe("<FilterDateRangePickerField />", () => {
632
664
  }}
633
665
  />
634
666
  )
667
+ await waitForI18nContent()
635
668
 
636
669
  const dateEndErrorContainer = container.querySelector(dateEndErrorId)
637
670
 
@@ -656,7 +689,7 @@ describe("<FilterDateRangePickerField />", () => {
656
689
  it("only returns a valid date to the onRangeChange function", async () => {
657
690
  const onRangeChange = jest.fn()
658
691
 
659
- const { getByLabelText } = render(
692
+ const { getByLabelText } = renderWithIntl(
660
693
  <FilterDateRangePickerFieldWrapper
661
694
  selectedRange={{
662
695
  from: new Date("2022-05-10"),
@@ -665,6 +698,7 @@ describe("<FilterDateRangePickerField />", () => {
665
698
  onRangeChange={onRangeChange}
666
699
  />
667
700
  )
701
+ await waitForI18nContent()
668
702
 
669
703
  onRangeChange.mockClear()
670
704
 
@@ -254,6 +254,11 @@ export const FilterDateRangePickerField = ({
254
254
  }
255
255
 
256
256
  useEffect(() => {
257
+ if (inputStartDateLabel === " " || inputEndDateLabel === " ") {
258
+ // Translations are loading
259
+ return
260
+ }
261
+
257
262
  const newStartDate = validateStartDate(
258
263
  selectedRange?.from,
259
264
  state.inputStartValue
@@ -268,7 +273,7 @@ export const FilterDateRangePickerField = ({
268
273
  }
269
274
 
270
275
  handleDateRangeChange({ from: newStartDate, to: newEndDate })
271
- }, [])
276
+ }, [inputStartDateLabel, inputEndDateLabel])
272
277
 
273
278
  return (
274
279
  <div
@@ -1,11 +1,12 @@
1
- import React, { act } from "react"
1
+ import { act } from "react"
2
+ import { waitFor } from "@testing-library/react"
2
3
  import { renderHook } from "@testing-library/react-hooks"
3
- import { LabelledMessage } from "~components/LabelledMessage"
4
+ import { renderWithIntl } from "~tests"
4
5
  import { useEndDateValidation } from "./useEndDateValidation"
5
6
 
6
7
  describe("useEndDateValidation()", () => {
7
8
  describe("validateDate()", () => {
8
- it("returns a validation message and no date", () => {
9
+ it("returns a validation message and no date", async () => {
9
10
  const { result } = renderHook(() =>
10
11
  useEndDateValidation({
11
12
  inputLabel: "End date",
@@ -23,20 +24,21 @@ describe("useEndDateValidation()", () => {
23
24
  expect(newDate).toEqual(undefined)
24
25
  })
25
26
 
26
- expect(result.current.validationMessage).toStrictEqual({
27
- status: "error",
28
- message: (
29
- <LabelledMessage
30
- label="End date"
31
- message="potato is an invalid date"
32
- />
33
- ),
27
+ expect(result.current.validationMessage?.status).toBe("error")
28
+
29
+ const { container } = renderWithIntl(
30
+ result.current.validationMessage?.message
31
+ )
32
+ await waitFor(() => {
33
+ expect(container).toHaveTextContent(
34
+ "End date:potato is an invalid date"
35
+ )
34
36
  })
35
37
  })
36
38
  })
37
39
 
38
40
  describe("validateEndDateBeforeStartDate()", () => {
39
- it("returns a validation message and date", () => {
41
+ it("returns a validation message and date", async () => {
40
42
  const { result } = renderHook(() =>
41
43
  useEndDateValidation({
42
44
  inputLabel: "End date",
@@ -54,14 +56,15 @@ describe("useEndDateValidation()", () => {
54
56
  expect(newDate).toEqual(new Date("2023-04-03"))
55
57
  })
56
58
 
57
- expect(result.current.validationMessage).toStrictEqual({
58
- status: "error",
59
- message: (
60
- <LabelledMessage
61
- label="End date"
62
- message='Cannot be earlier than the selection in "Start date"'
63
- />
64
- ),
59
+ expect(result.current.validationMessage?.status).toBe("error")
60
+
61
+ const { container } = renderWithIntl(
62
+ result.current.validationMessage?.message
63
+ )
64
+ await waitFor(() => {
65
+ expect(container).toHaveTextContent(
66
+ 'Cannot be earlier than the selection in "Start date"'
67
+ )
65
68
  })
66
69
  })
67
70
  })