@kaizen/components 1.61.1 → 1.61.2

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 (102) hide show
  1. package/codemods/utils/__snapshots__/transformSource.spec.ts.snap +2 -2
  2. package/dist/cjs/RichTextEditor/RichTextContent/RichTextContent.cjs +10 -1
  3. package/dist/esm/RichTextEditor/RichTextContent/RichTextContent.mjs +11 -2
  4. package/dist/styles.css +220 -220
  5. package/package.json +5 -4
  6. package/src/Avatar/Avatar.spec.tsx +1 -1
  7. package/src/Calendar/utils/setFocusInCalendar.spec.tsx +2 -2
  8. package/src/Checkbox/Checkbox/Checkbox.spec.tsx +2 -2
  9. package/src/Collapsible/Collapsible/Collapsible.spec.tsx +2 -14
  10. package/src/Collapsible/Collapsible/_docs/Collapsible.stickersheet.stories.tsx +49 -0
  11. package/src/Collapsible/Collapsible/_docs/Collapsible.stories.tsx +0 -11
  12. package/src/DateInput/DateInputDescription/DateInputDescription.spec.tsx +5 -6
  13. package/src/DateInput/DateInputWithIconButton/DateInputWithIconButton.spec.tsx +4 -6
  14. package/src/DatePicker/DatePicker.spec.tsx +32 -36
  15. package/src/DatePicker/subcomponents/DateInputField/DateInputField.spec.tsx +13 -13
  16. package/src/DatePicker/utils/validateDate.spec.ts +5 -6
  17. package/src/EmptyState/EmptyState.spec.tsx +1 -1
  18. package/src/ErrorPage/ErrorPage.spec.tsx +19 -19
  19. package/src/Filter/FilterBar/FilterBar.spec.tsx +26 -26
  20. package/src/Filter/FilterBar/context/utils/updateDependentFilters.spec.ts +2 -4
  21. package/src/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.spec.tsx +3 -4
  22. package/src/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.spec.tsx +3 -6
  23. package/src/Filter/FilterBar/subcomponents/FilterBarDatePicker/FilterBarDatePicker.spec.tsx +10 -12
  24. package/src/Filter/FilterBar/subcomponents/FilterBarDateRangePicker/FilterBarDateRangePicker.spec.tsx +9 -10
  25. package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.spec.tsx +12 -14
  26. package/src/Filter/FilterBar/subcomponents/FilterBarSelect/FilterBarSelect.spec.tsx +11 -13
  27. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.spec.tsx +5 -5
  28. package/src/Filter/FilterDatePicker/FilterDatePicker.spec.tsx +12 -15
  29. package/src/Filter/FilterDatePicker/hooks/useDateInputHandlers.spec.ts +12 -15
  30. package/src/Filter/FilterDatePicker/hooks/useDateValidation.spec.ts +3 -5
  31. package/src/Filter/FilterDatePicker/subcomponents/FilterDatePickerField/FilterDatePickerField.spec.tsx +23 -28
  32. package/src/Filter/FilterDatePicker/utils/getDateValidationHandler.spec.tsx +2 -6
  33. package/src/Filter/FilterDatePicker/utils/validateDate.spec.ts +5 -6
  34. package/src/Filter/FilterDateRangePicker/FilterDateRangePicker.spec.tsx +2 -3
  35. package/src/Filter/FilterDateRangePicker/_docs/FilterDateRangePicker.stickersheet.stories.tsx +27 -0
  36. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeInputField/DateRangeInputField.spec.tsx +9 -11
  37. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeValidationMessage/DateRangeValidationMessage.spec.tsx +1 -63
  38. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.spec.tsx +32 -32
  39. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useEndDateValidation.spec.ts +3 -8
  40. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useStartDateValidation.spec.ts +2 -5
  41. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/validateEndDateBeforeStartDate.spec.ts +2 -3
  42. package/src/Filter/FilterMultiSelect/FilterMultiSelect.spec.tsx +9 -10
  43. package/src/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.spec.tsx +2 -1
  44. package/src/Filter/FilterMultiSelect/context/SelectionProvider/SelectionProvider.spec.tsx +32 -32
  45. package/src/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.spec.tsx +9 -7
  46. package/src/Filter/FilterMultiSelect/subcomponents/SearchInput/SearchInput.spec.tsx +12 -12
  47. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/ClearButton/ClearButton.spec.tsx +7 -7
  48. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/SelectAllButton/SelectAllButton.spec.tsx +9 -9
  49. package/src/Filter/FilterSelect/FilterSelect.spec.tsx +2 -2
  50. package/src/Heading/Heading.spec.tsx +1 -31
  51. package/src/Illustration/subcomponents/VideoPlayer/VideoPlayer.spec.tsx +43 -97
  52. package/src/Illustration/subcomponents/VideoPlayer/VideoPlayer.stickersheet.stories.tsx +68 -0
  53. package/src/Illustration/subcomponents/VideoPlayer/VideoPlayer.stories.tsx +37 -0
  54. package/src/Input/InputRange/InputRange.spec.tsx +2 -2
  55. package/src/Input/InputSearch/InputSearch.spec.tsx +3 -5
  56. package/src/KaizenProvider/KaizenProvider.spec.tsx +2 -2
  57. package/src/KaizenProvider/subcomponents/OptionalIntlProvider/OptionalIntlProvider.spec.tsx +2 -3
  58. package/src/Modal/ConfirmationModal/ConfirmationModal.spec.tsx +7 -7
  59. package/src/Modal/ContextModal/ContextModal.spec.tsx +5 -5
  60. package/src/Modal/GenericModal/GenericModal.spec.tsx +4 -4
  61. package/src/Modal/InputEditModal/InputEditModal.spec.tsx +7 -7
  62. package/src/MultiSelect/subcomponents/MultiSelectOptionField/MultiSelectOptionField.spec.tsx +3 -3
  63. package/src/MultiSelect/subcomponents/MultiSelectOptions/MultiSelectOptions.spec.tsx +3 -3
  64. package/src/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.spec.tsx +2 -2
  65. package/src/Notification/subcomponents/GenericNotification/GenericNotification.stories.tsx +60 -0
  66. package/src/Pagination/Pagination.spec.tsx +2 -2
  67. package/src/RichTextEditor/EditableRichTextContent/EditableRichTextContent.spec.tsx +4 -4
  68. package/src/RichTextEditor/RichTextContent/RichTextContent.tsx +11 -2
  69. package/src/RichTextEditor/utils/commands/addMark.spec.ts +2 -2
  70. package/src/RichTextEditor/utils/commands/fixtures/helpers.ts +4 -3
  71. package/src/RichTextEditor/utils/commands/getMarkAttrs.spec.ts +2 -2
  72. package/src/RichTextEditor/utils/commands/getMarkRange.spec.ts +2 -2
  73. package/src/RichTextEditor/utils/commands/listIsActive.spec.ts +2 -2
  74. package/src/RichTextEditor/utils/commands/markContainsSelection.spec.ts +2 -2
  75. package/src/RichTextEditor/utils/commands/markIsActive.spec.ts +2 -2
  76. package/src/RichTextEditor/utils/commands/removeMark.spec.ts +2 -2
  77. package/src/RichTextEditor/utils/commands/updateMark.spec.ts +2 -2
  78. package/src/RichTextEditor/utils/commands/validateAndRemoveMarks.spec.ts +3 -3
  79. package/src/RichTextEditor/utils/core/createRichTextEditor.spec.ts +11 -11
  80. package/src/RichTextEditor/utils/core/hooks/useRichTextEditor.spec.tsx +2 -2
  81. package/src/SplitButton/SplitButton.spec.tsx +5 -5
  82. package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.spec.tsx +3 -4
  83. package/src/Text/Text.spec.tsx +1 -57
  84. package/src/TextArea/TextArea.spec.tsx +2 -2
  85. package/src/TimeField/TimeField.spec.tsx +2 -2
  86. package/src/TitleBlockZen/TitleBlockZen.spec.tsx +36 -68
  87. package/src/TitleBlockZen/_docs/TitleBlockZen.stories.tsx +78 -8
  88. package/src/TitleBlockZen/subcomponents/MobileActions.spec.tsx +2 -2
  89. package/src/TitleBlockZen/subcomponents/NavigationTabs.spec.tsx +8 -2
  90. package/src/ToggleSwitch/ToggleSwitch/ToggleSwitch.spec.tsx +2 -2
  91. package/src/__actions__/Menu/v1/Menu.spec.tsx +2 -2
  92. package/src/__containers__/GuidanceBlock/v1/GuidanceBlock.spec.tsx +5 -5
  93. package/src/__containers__/GuidanceBlock/v2/GuidanceBlock.spec.tsx +5 -5
  94. package/src/__future__/Select/Select.spec.tsx +4 -4
  95. package/src/__overlays__/Tooltip/v1/Tooltip.spec.tsx +1 -1
  96. package/src/__overlays__/Tooltip/v1/utils/isSemanticElement.spec.tsx +4 -9
  97. package/src/utils/useMediaQueries.spec.tsx +7 -7
  98. package/src/Heading/__snapshots__/Heading.spec.tsx.snap +0 -85
  99. package/src/Illustration/utils/usePausePlay.spec.tsx +0 -85
  100. package/src/Notification/subcomponents/GenericNotification/GenericNotification.spec.tsx +0 -76
  101. package/src/Text/__snapshots__/Text.spec.tsx.snap +0 -49
  102. package/src/__overlays__/Tooltip/v1/subcomponents/AppearanceAnim.spec.tsx +0 -39
@@ -1,8 +1,8 @@
1
1
  import React, { useRef } from "react"
2
- import { screen, waitFor } from "@testing-library/react"
2
+ import { screen, waitFor, render } 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
+ import { vi } from "vitest"
6
6
  import {
7
7
  DateRangeInputField,
8
8
  DateRangeInputFieldProps,
@@ -25,9 +25,7 @@ const DateRangeInputFieldWrapper = (
25
25
 
26
26
  describe("<DateRangeInputField />", () => {
27
27
  it("has unique ids for both inputs", async () => {
28
- const { container } = renderWithIntl(
29
- <DateRangeInputFieldWrapper id="range" />
30
- )
28
+ const { container } = render(<DateRangeInputFieldWrapper id="range" />)
31
29
  const inputStart = container.querySelector("#range--from")
32
30
  const inputEnd = container.querySelector("#range--to")
33
31
  await waitFor(() => {
@@ -37,14 +35,14 @@ describe("<DateRangeInputField />", () => {
37
35
  })
38
36
 
39
37
  it("has an accessible name for the fieldset", async () => {
40
- renderWithIntl(<DateRangeInputFieldWrapper />)
38
+ render(<DateRangeInputFieldWrapper />)
41
39
  await waitFor(() => {
42
40
  expect(screen.getByRole("group", { name: "Dates" })).toBeVisible()
43
41
  })
44
42
  })
45
43
 
46
44
  it("adds description to both inputs", async () => {
47
- renderWithIntl(<DateRangeInputFieldWrapper />)
45
+ render(<DateRangeInputFieldWrapper />)
48
46
  const inputStart = screen.getByRole("textbox", { name: "Date from" })
49
47
  const inputEnd = screen.getByRole("textbox", { name: "Date to" })
50
48
  await waitFor(() => {
@@ -56,7 +54,7 @@ describe("<DateRangeInputField />", () => {
56
54
  })
57
55
 
58
56
  it("adds validation message to description if it exists", async () => {
59
- renderWithIntl(
57
+ render(
60
58
  <DateRangeInputFieldWrapper
61
59
  validationMessage={{
62
60
  dateStart: {
@@ -77,7 +75,7 @@ describe("<DateRangeInputField />", () => {
77
75
 
78
76
  describe("Disabled", () => {
79
77
  it("disables both inputs", async () => {
80
- renderWithIntl(<DateRangeInputFieldWrapper disabled />)
78
+ render(<DateRangeInputFieldWrapper disabled />)
81
79
  const inputStart = screen.getByRole("textbox", { name: "Date from" })
82
80
  const inputEnd = screen.getByRole("textbox", { name: "Date to" })
83
81
  await waitFor(() => {
@@ -89,7 +87,7 @@ describe("<DateRangeInputField />", () => {
89
87
 
90
88
  describe("Refs", () => {
91
89
  it("correctly passes through both input refs", async () => {
92
- const onButtonClick = jest.fn()
90
+ const onButtonClick = vi.fn()
93
91
 
94
92
  const Wrapper = (): JSX.Element => {
95
93
  const inputStartDateRef = useRef<HTMLInputElement>(null)
@@ -119,7 +117,7 @@ describe("<DateRangeInputField />", () => {
119
117
  )
120
118
  }
121
119
 
122
- renderWithIntl(<Wrapper />)
120
+ render(<Wrapper />)
123
121
 
124
122
  await user.click(screen.getByText("Click me"))
125
123
  expect(onButtonClick).toHaveBeenCalledWith(
@@ -1,70 +1,8 @@
1
1
  import React from "react"
2
- import { render, screen, within } from "@testing-library/react"
2
+ import { render } from "@testing-library/react"
3
3
  import { DateRangeValidationMessage } from "./DateRangeValidationMessage"
4
4
 
5
5
  describe("<DateRangeValidationMessage />", () => {
6
- describe("when the consumer has given it a node", () => {
7
- it("will render a single validation field message", () => {
8
- render(
9
- <DateRangeValidationMessage
10
- validationMessage={{
11
- dateEnd: {
12
- status: "error",
13
- message: <p>Validation message</p>,
14
- },
15
- }}
16
- />
17
- )
18
- expect(screen.getByText("Validation message")).toBeVisible()
19
- })
20
-
21
- it("combines multiple validation messages with the same status", () => {
22
- const { container } = render(
23
- <DateRangeValidationMessage
24
- validationMessage={{
25
- dateStart: {
26
- status: "error",
27
- message: '"Date from" is not a valid date selection.',
28
- },
29
- dateEnd: {
30
- status: "error",
31
- message:
32
- 'Date to" cannot be earlier than the "Date from" selection.',
33
- },
34
- }}
35
- />
36
- )
37
- const validationList = screen.getByRole("list")
38
- const { getAllByRole } = within(validationList)
39
- const items = getAllByRole("listitem")
40
-
41
- expect(items.length).toBe(2)
42
- expect(container.getElementsByClassName("error").length).toBe(1)
43
- })
44
- })
45
-
46
- describe("when consumer passes validationMessage object and has different status", () => {
47
- it("will render two validation field messages", () => {
48
- const { container } = render(
49
- <DateRangeValidationMessage
50
- validationMessage={{
51
- dateStart: {
52
- status: "error",
53
- message: '"Date from" is close to the submission date.',
54
- },
55
- dateEnd: {
56
- status: "caution",
57
- message:
58
- '"Date to" cannot be earlier than the "Date from" selection.',
59
- },
60
- }}
61
- />
62
- )
63
- expect(container.getElementsByClassName("error").length).toBe(1)
64
- expect(container.getElementsByClassName("caution").length).toBe(1)
65
- })
66
- })
67
-
68
6
  it("renders an id when passed in", () => {
69
7
  const { container } = render(
70
8
  <DateRangeValidationMessage
@@ -1,7 +1,7 @@
1
1
  import React, { useState } from "react"
2
- import { screen, waitFor, within } from "@testing-library/react"
2
+ import { screen, waitFor, within, render } from "@testing-library/react"
3
3
  import userEvent from "@testing-library/user-event"
4
- import { renderWithIntl } from "~tests"
4
+ import { vi } from "vitest"
5
5
  import { DateRange } from "~components/Calendar"
6
6
  import { FilterDateRangePickerField, FilterDateRangePickerFieldProps } from "."
7
7
 
@@ -36,7 +36,7 @@ const waitForI18nContent = async (): Promise<void> => {
36
36
  describe("<FilterDateRangePickerField />", () => {
37
37
  describe("Inputs", () => {
38
38
  it("has empty inputs when a date range is not provided", async () => {
39
- renderWithIntl(<FilterDateRangePickerFieldWrapper />)
39
+ render(<FilterDateRangePickerFieldWrapper />)
40
40
  await waitForI18nContent()
41
41
 
42
42
  const inputStartDate = screen.getByLabelText("Date from")
@@ -46,7 +46,7 @@ describe("<FilterDateRangePickerField />", () => {
46
46
  })
47
47
 
48
48
  it("pre-fills the inputs when date range is provided", async () => {
49
- renderWithIntl(
49
+ render(
50
50
  <FilterDateRangePickerFieldWrapper
51
51
  selectedRange={{
52
52
  from: new Date("2022-05-01"),
@@ -63,7 +63,7 @@ describe("<FilterDateRangePickerField />", () => {
63
63
  })
64
64
 
65
65
  it("allows customising the input labels", async () => {
66
- renderWithIntl(
66
+ render(
67
67
  <FilterDateRangePickerFieldWrapper
68
68
  selectedRange={{
69
69
  from: new Date("2022-05-01"),
@@ -84,10 +84,10 @@ describe("<FilterDateRangePickerField />", () => {
84
84
 
85
85
  describe("onBlur", () => {
86
86
  it("updates start date input and calendar values correctly on blur", async () => {
87
- const startDateOnBlur = jest.fn()
88
- const endDateOnBlur = jest.fn()
87
+ const startDateOnBlur = vi.fn()
88
+ const endDateOnBlur = vi.fn()
89
89
 
90
- renderWithIntl(
90
+ render(
91
91
  <FilterDateRangePickerFieldWrapper
92
92
  selectedRange={{
93
93
  from: new Date("2022-05-02"),
@@ -126,10 +126,10 @@ describe("<FilterDateRangePickerField />", () => {
126
126
  })
127
127
 
128
128
  it("updates end date input and calendar values correctly on blur", async () => {
129
- const startDateOnBlur = jest.fn()
130
- const endDateOnBlur = jest.fn()
129
+ const startDateOnBlur = vi.fn()
130
+ const endDateOnBlur = vi.fn()
131
131
 
132
- renderWithIntl(
132
+ render(
133
133
  <FilterDateRangePickerFieldWrapper
134
134
  selectedRange={{
135
135
  from: new Date("2022-05-01"),
@@ -169,7 +169,7 @@ describe("<FilterDateRangePickerField />", () => {
169
169
  })
170
170
 
171
171
  it("updates the calendar month to match the new start date input", async () => {
172
- renderWithIntl(
172
+ render(
173
173
  <FilterDateRangePickerFieldWrapper
174
174
  selectedRange={{
175
175
  from: new Date("2022-05-02"),
@@ -200,7 +200,7 @@ describe("<FilterDateRangePickerField />", () => {
200
200
 
201
201
  describe("Calendar", () => {
202
202
  it("shows the default month as the start month when there isn't a selected value", async () => {
203
- renderWithIntl(
203
+ render(
204
204
  <FilterDateRangePickerFieldWrapper
205
205
  defaultMonth={new Date("2022-05-02")}
206
206
  />
@@ -211,7 +211,7 @@ describe("<FilterDateRangePickerField />", () => {
211
211
  })
212
212
 
213
213
  it("shows the selected start date month as the start month when provided", async () => {
214
- renderWithIntl(
214
+ render(
215
215
  <FilterDateRangePickerFieldWrapper
216
216
  selectedRange={{
217
217
  from: new Date("2022-05-01"),
@@ -225,7 +225,7 @@ describe("<FilterDateRangePickerField />", () => {
225
225
  })
226
226
 
227
227
  it("shows the current month as the start month when selected start date is invalid", async () => {
228
- renderWithIntl(
228
+ render(
229
229
  <FilterDateRangePickerFieldWrapper
230
230
  selectedRange={{
231
231
  from: new Date("potato"),
@@ -242,7 +242,7 @@ describe("<FilterDateRangePickerField />", () => {
242
242
  })
243
243
 
244
244
  it("updates the range start input when changing the start date", async () => {
245
- renderWithIntl(
245
+ render(
246
246
  <FilterDateRangePickerFieldWrapper
247
247
  selectedRange={{
248
248
  from: new Date("2022-05-15"),
@@ -269,7 +269,7 @@ describe("<FilterDateRangePickerField />", () => {
269
269
  })
270
270
 
271
271
  it("updates the range end input when changing the end date", async () => {
272
- renderWithIntl(
272
+ render(
273
273
  <FilterDateRangePickerFieldWrapper
274
274
  selectedRange={{
275
275
  from: new Date("2022-05-15"),
@@ -296,7 +296,7 @@ describe("<FilterDateRangePickerField />", () => {
296
296
  })
297
297
 
298
298
  it("clears the inputs when clearing the calendar value", async () => {
299
- renderWithIntl(
299
+ render(
300
300
  <FilterDateRangePickerFieldWrapper
301
301
  selectedRange={{
302
302
  from: new Date("2022-05-15"),
@@ -332,7 +332,7 @@ describe("<FilterDateRangePickerField />", () => {
332
332
 
333
333
  describe("Custom validation", () => {
334
334
  it("shows validation messages passed in from the consumer", async () => {
335
- renderWithIntl(
335
+ render(
336
336
  <FilterDateRangePickerFieldWrapper
337
337
  onValidate={{
338
338
  dateStart: (): void => undefined,
@@ -359,7 +359,7 @@ describe("<FilterDateRangePickerField />", () => {
359
359
 
360
360
  describe("Inbuilt validation", () => {
361
361
  it("shows inbuilt validation messages for start date", async () => {
362
- const { container } = renderWithIntl(
362
+ const { container } = render(
363
363
  <FilterDateRangePickerFieldWrapper
364
364
  inputStartDateProps={{ labelText: "Start date" }}
365
365
  />
@@ -385,7 +385,7 @@ describe("<FilterDateRangePickerField />", () => {
385
385
  })
386
386
 
387
387
  it("shows inbuilt validation messages for end date", async () => {
388
- const { container } = renderWithIntl(
388
+ const { container } = render(
389
389
  <FilterDateRangePickerFieldWrapper
390
390
  inputEndDateProps={{ labelText: "End date" }}
391
391
  />
@@ -408,7 +408,7 @@ describe("<FilterDateRangePickerField />", () => {
408
408
  })
409
409
 
410
410
  it("shows inbuilt validation messages for pre-existing values", async () => {
411
- const { container } = renderWithIntl(
411
+ const { container } = render(
412
412
  <FilterDateRangePickerFieldWrapper
413
413
  selectedRange={{
414
414
  from: new Date("2022-05-15"),
@@ -436,7 +436,7 @@ describe("<FilterDateRangePickerField />", () => {
436
436
  'Date to:Cannot be earlier than the selection in "Date from"'
437
437
 
438
438
  it("shows error on updating end date input to be before start date", async () => {
439
- const { container } = renderWithIntl(
439
+ const { container } = render(
440
440
  <FilterDateRangePickerFieldWrapper
441
441
  selectedRange={{
442
442
  from: new Date("2022-05-15"),
@@ -462,7 +462,7 @@ describe("<FilterDateRangePickerField />", () => {
462
462
  })
463
463
 
464
464
  it("removes error on updating start date input to be before end date", async () => {
465
- const { container } = renderWithIntl(
465
+ const { container } = render(
466
466
  <FilterDateRangePickerFieldWrapper
467
467
  selectedRange={{
468
468
  from: new Date("2022-05-15"),
@@ -508,7 +508,7 @@ describe("<FilterDateRangePickerField />", () => {
508
508
  })
509
509
 
510
510
  it("displays only one date when the start date input is set to be before the end date", async () => {
511
- const { container } = renderWithIntl(
511
+ const { container } = render(
512
512
  <FilterDateRangePickerFieldWrapper
513
513
  selectedRange={{
514
514
  from: new Date("2022-05-15"),
@@ -539,7 +539,7 @@ describe("<FilterDateRangePickerField />", () => {
539
539
  })
540
540
 
541
541
  it("shows error on updating start date input to be after end date", async () => {
542
- const { container } = renderWithIntl(
542
+ const { container } = render(
543
543
  <FilterDateRangePickerFieldWrapper
544
544
  selectedRange={{
545
545
  from: new Date("2022-05-15"),
@@ -566,7 +566,7 @@ describe("<FilterDateRangePickerField />", () => {
566
566
  })
567
567
 
568
568
  it("shows error if the pre-existing end date is before start date", async () => {
569
- const { container } = renderWithIntl(
569
+ const { container } = render(
570
570
  <FilterDateRangePickerFieldWrapper
571
571
  selectedRange={{
572
572
  from: new Date("2022-05-15"),
@@ -588,7 +588,7 @@ describe("<FilterDateRangePickerField />", () => {
588
588
 
589
589
  describe("Combined validation", () => {
590
590
  it("shows custom start date validation with inbuilt end date validation", async () => {
591
- const { container } = renderWithIntl(
591
+ const { container } = render(
592
592
  <FilterDateRangePickerFieldWrapper
593
593
  onValidate={{
594
594
  dateStart: (): void => undefined,
@@ -621,7 +621,7 @@ describe("<FilterDateRangePickerField />", () => {
621
621
  })
622
622
 
623
623
  it("shows custom end date validation with inbuilt start date validation", async () => {
624
- const { container } = renderWithIntl(
624
+ const { container } = render(
625
625
  <FilterDateRangePickerFieldWrapper
626
626
  onValidate={{
627
627
  dateEnd: (): void => undefined,
@@ -656,7 +656,7 @@ describe("<FilterDateRangePickerField />", () => {
656
656
  })
657
657
 
658
658
  it("re-validates values when selecting a value using the calendar", async () => {
659
- const { container } = renderWithIntl(
659
+ const { container } = render(
660
660
  <FilterDateRangePickerFieldWrapper
661
661
  selectedRange={{
662
662
  from: new Date("2022-05-10"),
@@ -687,9 +687,9 @@ describe("<FilterDateRangePickerField />", () => {
687
687
  })
688
688
 
689
689
  it("only returns a valid date to the onRangeChange function", async () => {
690
- const onRangeChange = jest.fn()
690
+ const onRangeChange = vi.fn()
691
691
 
692
- const { getByLabelText } = renderWithIntl(
692
+ const { getByLabelText } = render(
693
693
  <FilterDateRangePickerFieldWrapper
694
694
  selectedRange={{
695
695
  from: new Date("2022-05-10"),
@@ -1,6 +1,5 @@
1
1
  import { act } from "react"
2
- import { waitFor, renderHook } from "@testing-library/react"
3
- import { renderWithIntl } from "~tests"
2
+ import { waitFor, renderHook, render } from "@testing-library/react"
4
3
  import { useEndDateValidation } from "./useEndDateValidation"
5
4
 
6
5
  describe("useEndDateValidation()", () => {
@@ -25,9 +24,7 @@ describe("useEndDateValidation()", () => {
25
24
 
26
25
  expect(result.current.validationMessage?.status).toBe("error")
27
26
 
28
- const { container } = renderWithIntl(
29
- result.current.validationMessage?.message
30
- )
27
+ const { container } = render(result.current.validationMessage?.message)
31
28
  await waitFor(() => {
32
29
  expect(container).toHaveTextContent(
33
30
  "End date:potato is an invalid date"
@@ -57,9 +54,7 @@ describe("useEndDateValidation()", () => {
57
54
 
58
55
  expect(result.current.validationMessage?.status).toBe("error")
59
56
 
60
- const { container } = renderWithIntl(
61
- result.current.validationMessage?.message
62
- )
57
+ const { container } = render(result.current.validationMessage?.message)
63
58
  await waitFor(() => {
64
59
  expect(container).toHaveTextContent(
65
60
  'Cannot be earlier than the selection in "Start date"'
@@ -1,6 +1,5 @@
1
1
  import { act } from "react"
2
- import { waitFor, renderHook } from "@testing-library/react"
3
- import { renderWithIntl } from "~tests"
2
+ import { waitFor, renderHook, render } from "@testing-library/react"
4
3
  import { useStartDateValidation } from "./useStartDateValidation"
5
4
 
6
5
  describe("useStartDateValidation()", () => {
@@ -23,9 +22,7 @@ describe("useStartDateValidation()", () => {
23
22
 
24
23
  expect(result.current.validationMessage?.status).toBe("error")
25
24
 
26
- const { container } = renderWithIntl(
27
- result.current.validationMessage?.message
28
- )
25
+ const { container } = render(result.current.validationMessage?.message)
29
26
  await waitFor(() => {
30
27
  expect(container).toHaveTextContent(
31
28
  "Start date:potato is an invalid date"
@@ -1,5 +1,4 @@
1
- import { screen, waitFor } from "@testing-library/react"
2
- import { renderWithIntl } from "~tests"
1
+ import { screen, waitFor, render } from "@testing-library/react"
3
2
  import { validateEndDateBeforeStartDate } from "./validateEndDateBeforeStartDate"
4
3
 
5
4
  describe("validateEndDateBeforeStartDate()", () => {
@@ -99,7 +98,7 @@ describe("validateEndDateBeforeStartDate()", () => {
99
98
 
100
99
  expect(validationMessage?.status).toBe("error")
101
100
 
102
- renderWithIntl(validationMessage?.message)
101
+ render(validationMessage?.message)
103
102
  await waitFor(() => {
104
103
  expect(
105
104
  screen.getByText(
@@ -1,8 +1,7 @@
1
1
  import React, { useState } from "react"
2
2
  import { Selection } from "@react-types/shared"
3
- import { waitFor } from "@testing-library/react"
3
+ import { waitFor, render } from "@testing-library/react"
4
4
  import userEvent from "@testing-library/user-event"
5
- import { renderWithIntl } from "~tests"
6
5
  import { FilterMultiSelect, FilterMultiSelectProps } from "./FilterMultiSelect"
7
6
  import { ItemType } from "./types"
8
7
  import { getSelectedOptionLabels } from "./utils"
@@ -74,7 +73,7 @@ const FilterMultiSelectWrapper = ({
74
73
 
75
74
  describe("<FilterMultiSelect>", () => {
76
75
  it("opens the popover using the trigger button", async () => {
77
- const { getByRole } = renderWithIntl(<FilterMultiSelectWrapper />)
76
+ const { getByRole } = render(<FilterMultiSelectWrapper />)
78
77
 
79
78
  const triggerButton = getByRole("button", { name: "Engineer : Front-End" })
80
79
  await user.click(triggerButton)
@@ -85,7 +84,7 @@ describe("<FilterMultiSelect>", () => {
85
84
  })
86
85
 
87
86
  it("selects an unselected option on click", async () => {
88
- const { getByRole } = renderWithIntl(<FilterMultiSelectWrapper isOpen />)
87
+ const { getByRole } = render(<FilterMultiSelectWrapper isOpen />)
89
88
 
90
89
  const devOpsOption = getByRole("option", {
91
90
  name: "Dev-ops",
@@ -99,7 +98,7 @@ describe("<FilterMultiSelect>", () => {
99
98
  })
100
99
 
101
100
  it("deselects a selected option on click", async () => {
102
- const { getByRole } = renderWithIntl(<FilterMultiSelectWrapper isOpen />)
101
+ const { getByRole } = render(<FilterMultiSelectWrapper isOpen />)
103
102
 
104
103
  const devOpsOption = getByRole("option", {
105
104
  name: "Front-End",
@@ -113,7 +112,7 @@ describe("<FilterMultiSelect>", () => {
113
112
  })
114
113
 
115
114
  it("filters out options which do not match the search term", async () => {
116
- const { getByRole, getAllByRole } = renderWithIntl(
115
+ const { getByRole, getAllByRole } = render(
117
116
  <FilterMultiSelectWrapper isOpen />
118
117
  )
119
118
  expect(getAllByRole("option")).toHaveLength(5)
@@ -127,7 +126,7 @@ describe("<FilterMultiSelect>", () => {
127
126
 
128
127
  describe("Clear button", () => {
129
128
  it("deselects all options when unfiltered", async () => {
130
- const { getByRole, queryAllByRole } = renderWithIntl(
129
+ const { getByRole, queryAllByRole } = render(
131
130
  <FilterMultiSelectWrapper
132
131
  isOpen
133
132
  selectedKeys={new Set(["id-fe", "id-devops"])}
@@ -143,7 +142,7 @@ describe("<FilterMultiSelect>", () => {
143
142
  })
144
143
 
145
144
  it("deselects only selected filtered options", async () => {
146
- const { getByRole, queryAllByRole } = renderWithIntl(
145
+ const { getByRole, queryAllByRole } = render(
147
146
  <FilterMultiSelectWrapper
148
147
  isOpen
149
148
  selectedKeys={new Set(["id-fe", "id-devops"])}
@@ -172,7 +171,7 @@ describe("<FilterMultiSelect>", () => {
172
171
  options.filter(option => option.hasAttribute("aria-disabled"))
173
172
 
174
173
  it("selects all non-disabled options when unfiltered", async () => {
175
- const { getByRole, queryAllByRole } = renderWithIntl(
174
+ const { getByRole, queryAllByRole } = render(
176
175
  <FilterMultiSelectWrapper isOpen selectedKeys={new Set([])} />
177
176
  )
178
177
 
@@ -187,7 +186,7 @@ describe("<FilterMultiSelect>", () => {
187
186
  })
188
187
 
189
188
  it("selects only non-disabled filtered options", async () => {
190
- const { getByRole, queryAllByRole } = renderWithIntl(
189
+ const { getByRole, queryAllByRole } = render(
191
190
  <FilterMultiSelectWrapper isOpen selectedKeys={new Set([])} />
192
191
  )
193
192
 
@@ -1,6 +1,7 @@
1
1
  import React from "react"
2
2
  import { render, screen, waitFor } from "@testing-library/react"
3
3
  import userEvent from "@testing-library/user-event"
4
+ import { vi } from "vitest"
4
5
  import { FilterTriggerButton } from "~components/Filter/FilterMultiSelect/subcomponents/Trigger"
5
6
  import { MenuPopup } from "../../subcomponents/MenuPopup"
6
7
  import {
@@ -59,7 +60,7 @@ describe("<MenuTriggerProvider /> - Visual content", () => {
59
60
  })
60
61
 
61
62
  it("fires the onOpenChange callback when the trigger is interacted", async () => {
62
- const onOpenChange = jest.fn<void, [boolean]>()
63
+ const onOpenChange = vi.fn()
63
64
  render(<MenuTriggerProviderWrapper isOpen onOpenChange={onOpenChange} />)
64
65
 
65
66
  const trigger = screen.getByRole("button", {