@kaizen/components 1.61.1 → 1.61.3
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.
- package/codemods/utils/__snapshots__/transformSource.spec.ts.snap +2 -2
- package/dist/cjs/RichTextEditor/RichTextContent/RichTextContent.cjs +10 -1
- package/dist/cjs/__future__/Select/Select.cjs +1 -6
- package/dist/cjs/__future__/Select/subcomponents/ListBox/ListBox.cjs +1 -2
- package/dist/cjs/__future__/Select/subcomponents/ListBox/ListBox.module.scss.cjs +1 -2
- package/dist/esm/RichTextEditor/RichTextContent/RichTextContent.mjs +11 -2
- package/dist/esm/__future__/Select/Select.mjs +1 -6
- package/dist/esm/__future__/Select/subcomponents/ListBox/ListBox.mjs +1 -2
- package/dist/esm/__future__/Select/subcomponents/ListBox/ListBox.module.scss.mjs +1 -2
- package/dist/styles.css +46 -44
- package/package.json +6 -5
- package/src/Avatar/Avatar.spec.tsx +1 -1
- package/src/Calendar/utils/setFocusInCalendar.spec.tsx +2 -2
- package/src/Checkbox/Checkbox/Checkbox.spec.tsx +2 -2
- package/src/Collapsible/Collapsible/Collapsible.spec.tsx +2 -14
- package/src/Collapsible/Collapsible/_docs/Collapsible.mdx +0 -2
- package/src/Collapsible/Collapsible/_docs/Collapsible.stickersheet.stories.tsx +49 -0
- package/src/Collapsible/Collapsible/_docs/Collapsible.stories.tsx +0 -11
- package/src/DateInput/DateInputDescription/DateInputDescription.spec.tsx +5 -6
- package/src/DateInput/DateInputWithIconButton/DateInputWithIconButton.spec.tsx +4 -6
- package/src/DatePicker/DatePicker.spec.tsx +32 -36
- package/src/DatePicker/subcomponents/DateInputField/DateInputField.spec.tsx +13 -13
- package/src/DatePicker/utils/validateDate.spec.ts +5 -6
- package/src/EmptyState/EmptyState.spec.tsx +1 -1
- package/src/ErrorPage/ErrorPage.spec.tsx +19 -19
- package/src/Filter/FilterBar/FilterBar.spec.tsx +26 -26
- package/src/Filter/FilterBar/context/utils/updateDependentFilters.spec.ts +2 -4
- package/src/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.spec.tsx +3 -4
- package/src/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.spec.tsx +3 -6
- package/src/Filter/FilterBar/subcomponents/FilterBarDatePicker/FilterBarDatePicker.spec.tsx +10 -12
- package/src/Filter/FilterBar/subcomponents/FilterBarDateRangePicker/FilterBarDateRangePicker.spec.tsx +9 -10
- package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.spec.tsx +12 -14
- package/src/Filter/FilterBar/subcomponents/FilterBarSelect/FilterBarSelect.spec.tsx +11 -13
- package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.spec.tsx +5 -5
- package/src/Filter/FilterDatePicker/FilterDatePicker.spec.tsx +12 -15
- package/src/Filter/FilterDatePicker/hooks/useDateInputHandlers.spec.ts +12 -15
- package/src/Filter/FilterDatePicker/hooks/useDateValidation.spec.ts +3 -5
- package/src/Filter/FilterDatePicker/subcomponents/FilterDatePickerField/FilterDatePickerField.spec.tsx +23 -28
- package/src/Filter/FilterDatePicker/utils/getDateValidationHandler.spec.tsx +2 -6
- package/src/Filter/FilterDatePicker/utils/validateDate.spec.ts +5 -6
- package/src/Filter/FilterDateRangePicker/FilterDateRangePicker.spec.tsx +2 -3
- package/src/Filter/FilterDateRangePicker/_docs/FilterDateRangePicker.stickersheet.stories.tsx +27 -0
- package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeInputField/DateRangeInputField.spec.tsx +9 -11
- package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeValidationMessage/DateRangeValidationMessage.spec.tsx +1 -63
- package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.spec.tsx +32 -32
- package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useEndDateValidation.spec.ts +3 -8
- package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useStartDateValidation.spec.ts +2 -5
- package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/validateEndDateBeforeStartDate.spec.ts +2 -3
- package/src/Filter/FilterMultiSelect/FilterMultiSelect.spec.tsx +9 -10
- package/src/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.spec.tsx +2 -1
- package/src/Filter/FilterMultiSelect/context/SelectionProvider/SelectionProvider.spec.tsx +32 -32
- package/src/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.spec.tsx +9 -7
- package/src/Filter/FilterMultiSelect/subcomponents/SearchInput/SearchInput.spec.tsx +12 -12
- package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/ClearButton/ClearButton.spec.tsx +7 -7
- package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/SelectAllButton/SelectAllButton.spec.tsx +9 -9
- package/src/Filter/FilterSelect/FilterSelect.spec.tsx +3 -5
- package/src/Heading/Heading.spec.tsx +1 -31
- package/src/Illustration/subcomponents/VideoPlayer/VideoPlayer.spec.tsx +43 -97
- package/src/Illustration/subcomponents/VideoPlayer/VideoPlayer.stickersheet.stories.tsx +68 -0
- package/src/Illustration/subcomponents/VideoPlayer/VideoPlayer.stories.tsx +37 -0
- package/src/Input/InputRange/InputRange.spec.tsx +2 -2
- package/src/Input/InputSearch/InputSearch.spec.tsx +3 -5
- package/src/KaizenProvider/KaizenProvider.spec.tsx +2 -2
- package/src/KaizenProvider/subcomponents/OptionalIntlProvider/OptionalIntlProvider.spec.tsx +2 -3
- package/src/Modal/ConfirmationModal/ConfirmationModal.spec.tsx +7 -7
- package/src/Modal/ContextModal/ContextModal.spec.tsx +5 -5
- package/src/Modal/GenericModal/GenericModal.spec.tsx +4 -4
- package/src/Modal/InputEditModal/InputEditModal.spec.tsx +7 -7
- package/src/MultiSelect/subcomponents/MultiSelectOptionField/MultiSelectOptionField.spec.tsx +3 -3
- package/src/MultiSelect/subcomponents/MultiSelectOptions/MultiSelectOptions.spec.tsx +3 -3
- package/src/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.spec.tsx +2 -2
- package/src/MultiSelect/subcomponents/Popover/Popover.module.scss +1 -0
- package/src/Notification/subcomponents/GenericNotification/GenericNotification.stories.tsx +60 -0
- package/src/Pagination/Pagination.spec.tsx +2 -2
- package/src/RichTextEditor/EditableRichTextContent/EditableRichTextContent.spec.tsx +4 -4
- package/src/RichTextEditor/RichTextContent/RichTextContent.tsx +11 -2
- package/src/RichTextEditor/utils/commands/addMark.spec.ts +2 -2
- package/src/RichTextEditor/utils/commands/fixtures/helpers.ts +4 -3
- package/src/RichTextEditor/utils/commands/getMarkAttrs.spec.ts +2 -2
- package/src/RichTextEditor/utils/commands/getMarkRange.spec.ts +2 -2
- package/src/RichTextEditor/utils/commands/listIsActive.spec.ts +2 -2
- package/src/RichTextEditor/utils/commands/markContainsSelection.spec.ts +2 -2
- package/src/RichTextEditor/utils/commands/markIsActive.spec.ts +2 -2
- package/src/RichTextEditor/utils/commands/removeMark.spec.ts +2 -2
- package/src/RichTextEditor/utils/commands/updateMark.spec.ts +2 -2
- package/src/RichTextEditor/utils/commands/validateAndRemoveMarks.spec.ts +3 -3
- package/src/RichTextEditor/utils/core/createRichTextEditor.spec.ts +11 -11
- package/src/RichTextEditor/utils/core/hooks/useRichTextEditor.spec.tsx +2 -2
- package/src/SplitButton/SplitButton.spec.tsx +5 -5
- package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.spec.tsx +3 -4
- package/src/Text/Text.spec.tsx +1 -57
- package/src/TextArea/TextArea.spec.tsx +2 -2
- package/src/TimeField/TimeField.spec.tsx +2 -2
- package/src/TitleBlockZen/TitleBlockZen.spec.tsx +36 -68
- package/src/TitleBlockZen/_docs/TitleBlockZen.stories.tsx +78 -8
- package/src/TitleBlockZen/subcomponents/MobileActions.spec.tsx +2 -2
- package/src/TitleBlockZen/subcomponents/NavigationTabs.spec.tsx +8 -2
- package/src/ToggleSwitch/ToggleSwitch/ToggleSwitch.spec.tsx +2 -2
- package/src/__actions__/Menu/v1/Menu.spec.tsx +2 -2
- package/src/__containers__/GuidanceBlock/v1/GuidanceBlock.spec.tsx +5 -5
- package/src/__containers__/GuidanceBlock/v2/GuidanceBlock.spec.tsx +5 -5
- package/src/__future__/Select/Select.spec.tsx +8 -8
- package/src/__future__/Select/Select.tsx +1 -10
- package/src/__future__/Select/subcomponents/ListBox/ListBox.module.scss +3 -3
- package/src/__future__/Select/subcomponents/ListBox/ListBox.tsx +1 -1
- package/src/__overlays__/Tooltip/v1/Tooltip.spec.tsx +1 -1
- package/src/__overlays__/Tooltip/v1/utils/isSemanticElement.spec.tsx +4 -9
- package/src/utils/useMediaQueries.spec.tsx +7 -7
- package/src/Heading/__snapshots__/Heading.spec.tsx.snap +0 -85
- package/src/Illustration/utils/usePausePlay.spec.tsx +0 -85
- package/src/Notification/subcomponents/GenericNotification/GenericNotification.spec.tsx +0 -76
- package/src/Text/__snapshots__/Text.spec.tsx.snap +0 -49
- package/src/__overlays__/Tooltip/v1/subcomponents/AppearanceAnim.spec.tsx +0 -39
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useEffect, 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 {
|
|
4
|
+
import { vi } from "vitest"
|
|
5
5
|
import { FilterMultiSelect } from "../index"
|
|
6
6
|
import { FilterBar, FilterBarProps } from "./FilterBar"
|
|
7
7
|
import { useFilterBarContext } from "./context/FilterBarContext"
|
|
@@ -148,7 +148,7 @@ const waitForI18nContent = async (): Promise<void> => {
|
|
|
148
148
|
|
|
149
149
|
describe("<FilterBar />", () => {
|
|
150
150
|
it("renders filters in the provided order", async () => {
|
|
151
|
-
const { getAllByTestId } =
|
|
151
|
+
const { getAllByTestId } = render(
|
|
152
152
|
<FilterBarWrapper<ValuesSimple> filters={simpleFilters} />
|
|
153
153
|
)
|
|
154
154
|
await waitForI18nContent()
|
|
@@ -161,7 +161,7 @@ describe("<FilterBar />", () => {
|
|
|
161
161
|
})
|
|
162
162
|
|
|
163
163
|
it("retains Filter accessibility", async () => {
|
|
164
|
-
|
|
164
|
+
render(<FilterBarWrapper filters={simpleFilters} />)
|
|
165
165
|
|
|
166
166
|
const filterButton = screen.getByRole("button", { name: "Flavour" })
|
|
167
167
|
await user.click(filterButton)
|
|
@@ -173,7 +173,7 @@ describe("<FilterBar />", () => {
|
|
|
173
173
|
|
|
174
174
|
describe("Removable filters", () => {
|
|
175
175
|
it("shows inactive filters in the Add Filters menu only", async () => {
|
|
176
|
-
const { getByRole, queryByText } =
|
|
176
|
+
const { getByRole, queryByText } = render(
|
|
177
177
|
<FilterBarWrapper<ValuesRemovable> filters={filtersRemovable} />
|
|
178
178
|
)
|
|
179
179
|
await waitForI18nContent()
|
|
@@ -192,7 +192,7 @@ describe("<FilterBar />", () => {
|
|
|
192
192
|
})
|
|
193
193
|
|
|
194
194
|
it("shows removable filter as active if there is a default value", async () => {
|
|
195
|
-
const { getByRole } =
|
|
195
|
+
const { getByRole } = render(
|
|
196
196
|
<FilterBarWrapper<ValuesRemovable>
|
|
197
197
|
filters={filtersRemovable}
|
|
198
198
|
defaultValues={{ topping: "pearls" }}
|
|
@@ -206,7 +206,7 @@ describe("<FilterBar />", () => {
|
|
|
206
206
|
})
|
|
207
207
|
|
|
208
208
|
it("does not show active removable filters in the Add Filters menu", async () => {
|
|
209
|
-
const { getByRole } =
|
|
209
|
+
const { getByRole } = render(
|
|
210
210
|
<FilterBarWrapper<ValuesRemovable>
|
|
211
211
|
filters={filtersRemovable}
|
|
212
212
|
defaultValues={{ topping: "pearls" }}
|
|
@@ -225,7 +225,7 @@ describe("<FilterBar />", () => {
|
|
|
225
225
|
})
|
|
226
226
|
|
|
227
227
|
it("clears the value of a filter if it is removed", async () => {
|
|
228
|
-
const { getByRole } =
|
|
228
|
+
const { getByRole } = render(
|
|
229
229
|
<FilterBarWrapper<ValuesRemovable>
|
|
230
230
|
filters={filtersRemovable}
|
|
231
231
|
defaultValues={{ topping: "pearls" }}
|
|
@@ -258,7 +258,7 @@ describe("<FilterBar />", () => {
|
|
|
258
258
|
})
|
|
259
259
|
|
|
260
260
|
it("adds new filters in the provided order", async () => {
|
|
261
|
-
const { getByRole, getAllByTestId } =
|
|
261
|
+
const { getByRole, getAllByTestId } = render(
|
|
262
262
|
<FilterBarWrapper<ValuesSimple>
|
|
263
263
|
filters={simpleFilters.map(filter => ({
|
|
264
264
|
...filter,
|
|
@@ -293,7 +293,7 @@ describe("<FilterBar />", () => {
|
|
|
293
293
|
describe("Dependent filters", () => {
|
|
294
294
|
describe("Condition not met", () => {
|
|
295
295
|
it("does not show a dependent filter", async () => {
|
|
296
|
-
const { queryByRole, getByRole } =
|
|
296
|
+
const { queryByRole, getByRole } = render(
|
|
297
297
|
<FilterBarWrapper filters={filtersDependent} />
|
|
298
298
|
)
|
|
299
299
|
await waitForI18nContent()
|
|
@@ -304,7 +304,7 @@ describe("<FilterBar />", () => {
|
|
|
304
304
|
})
|
|
305
305
|
|
|
306
306
|
it("clears the value if the filter is not usable", async () => {
|
|
307
|
-
const { getByTestId } =
|
|
307
|
+
const { getByTestId } = render(
|
|
308
308
|
<FilterBarWrapper
|
|
309
309
|
filters={filtersDependent}
|
|
310
310
|
defaultValues={{
|
|
@@ -321,7 +321,7 @@ describe("<FilterBar />", () => {
|
|
|
321
321
|
|
|
322
322
|
describe("Condition met", () => {
|
|
323
323
|
it("shows a non-removable dependent filter in active filters", async () => {
|
|
324
|
-
const { queryByRole, getByRole, findByRole } =
|
|
324
|
+
const { queryByRole, getByRole, findByRole } = render(
|
|
325
325
|
<FilterBarWrapper filters={filtersDependent} />
|
|
326
326
|
)
|
|
327
327
|
await waitForI18nContent()
|
|
@@ -343,7 +343,7 @@ describe("<FilterBar />", () => {
|
|
|
343
343
|
})
|
|
344
344
|
|
|
345
345
|
it("shows a removable dependent filter in Add Filters menu", async () => {
|
|
346
|
-
const { getByRole, findByRole } =
|
|
346
|
+
const { getByRole, findByRole } = render(
|
|
347
347
|
<FilterBarWrapper
|
|
348
348
|
filters={[
|
|
349
349
|
{
|
|
@@ -400,7 +400,7 @@ describe("<FilterBar />", () => {
|
|
|
400
400
|
|
|
401
401
|
describe("Condition result change", () => {
|
|
402
402
|
it("clears the value for an unusable filter", async () => {
|
|
403
|
-
const checkValues =
|
|
403
|
+
const checkValues = vi.fn()
|
|
404
404
|
|
|
405
405
|
const Wrapper = (): JSX.Element => {
|
|
406
406
|
const [values, setValues] = useState<Partial<ValuesDependent>>({
|
|
@@ -421,7 +421,7 @@ describe("<FilterBar />", () => {
|
|
|
421
421
|
)
|
|
422
422
|
}
|
|
423
423
|
|
|
424
|
-
const { queryByRole, getByRole } =
|
|
424
|
+
const { queryByRole, getByRole } = render(<Wrapper />)
|
|
425
425
|
await waitForI18nContent()
|
|
426
426
|
|
|
427
427
|
expect(
|
|
@@ -435,7 +435,7 @@ describe("<FilterBar />", () => {
|
|
|
435
435
|
})
|
|
436
436
|
|
|
437
437
|
it("clears the value and removes a filter which loses usability", async () => {
|
|
438
|
-
const checkValues =
|
|
438
|
+
const checkValues = vi.fn()
|
|
439
439
|
|
|
440
440
|
const Wrapper = (): JSX.Element => {
|
|
441
441
|
const [values, setValues] = useState<Partial<ValuesDependent>>({
|
|
@@ -463,7 +463,7 @@ describe("<FilterBar />", () => {
|
|
|
463
463
|
)
|
|
464
464
|
}
|
|
465
465
|
|
|
466
|
-
const { getByRole } =
|
|
466
|
+
const { getByRole } = render(<Wrapper />)
|
|
467
467
|
await waitForI18nContent()
|
|
468
468
|
|
|
469
469
|
expect(
|
|
@@ -558,7 +558,7 @@ describe("<FilterBar />", () => {
|
|
|
558
558
|
},
|
|
559
559
|
] satisfies Filters<ValuesComplexDeps>
|
|
560
560
|
|
|
561
|
-
const { queryByRole, getByRole } =
|
|
561
|
+
const { queryByRole, getByRole } = render(
|
|
562
562
|
<FilterBarWrapper
|
|
563
563
|
filters={filters}
|
|
564
564
|
defaultValues={{ milk: "full-cream" }}
|
|
@@ -637,7 +637,7 @@ describe("<FilterBar />", () => {
|
|
|
637
637
|
|
|
638
638
|
describe("Clear all", () => {
|
|
639
639
|
it("clears all the values of all the filters", async () => {
|
|
640
|
-
const { getByRole } =
|
|
640
|
+
const { getByRole } = render(
|
|
641
641
|
<FilterBarWrapper<ValuesSimple>
|
|
642
642
|
filters={simpleFilters}
|
|
643
643
|
defaultValues={{
|
|
@@ -671,7 +671,7 @@ describe("<FilterBar />", () => {
|
|
|
671
671
|
})
|
|
672
672
|
|
|
673
673
|
it("removes all removable filters", async () => {
|
|
674
|
-
const { getByRole } =
|
|
674
|
+
const { getByRole } = render(
|
|
675
675
|
<FilterBarWrapper<ValuesRemovable>
|
|
676
676
|
filters={filtersRemovable}
|
|
677
677
|
defaultValues={{
|
|
@@ -740,7 +740,7 @@ describe("<FilterBar />", () => {
|
|
|
740
740
|
)
|
|
741
741
|
}
|
|
742
742
|
|
|
743
|
-
const { getByRole } =
|
|
743
|
+
const { getByRole } = render(<Wrapper />)
|
|
744
744
|
await waitForI18nContent()
|
|
745
745
|
|
|
746
746
|
const flavourButton = getByRole("button", { name: "Flavour" })
|
|
@@ -796,7 +796,7 @@ describe("<FilterBar />", () => {
|
|
|
796
796
|
)
|
|
797
797
|
}
|
|
798
798
|
|
|
799
|
-
const { getByRole, queryByRole } =
|
|
799
|
+
const { getByRole, queryByRole } = render(<Wrapper />)
|
|
800
800
|
await waitForI18nContent()
|
|
801
801
|
|
|
802
802
|
expect(queryByRole("button", { name: "Flavour" })).not.toBeInTheDocument()
|
|
@@ -861,7 +861,7 @@ describe("<FilterBar />", () => {
|
|
|
861
861
|
)
|
|
862
862
|
}
|
|
863
863
|
|
|
864
|
-
const fetchCityOptions =
|
|
864
|
+
const fetchCityOptions = vi.fn((filterValues: Partial<AsyncValues>) => {
|
|
865
865
|
const isSupermanInFilterValue = filterValues.hero?.includes("superman")
|
|
866
866
|
const isBatmanInFilterValue = filterValues.hero?.includes("batman")
|
|
867
867
|
|
|
@@ -875,7 +875,7 @@ describe("<FilterBar />", () => {
|
|
|
875
875
|
])
|
|
876
876
|
})
|
|
877
877
|
|
|
878
|
-
const fetchHeroOptions =
|
|
878
|
+
const fetchHeroOptions = vi.fn((filterValues: Partial<AsyncValues>) => {
|
|
879
879
|
const isGothamInFilterValue = filterValues.city?.includes("gotham")
|
|
880
880
|
const isMetroInFilterValue = filterValues.city?.includes("metro")
|
|
881
881
|
|
|
@@ -907,7 +907,7 @@ describe("<FilterBar />", () => {
|
|
|
907
907
|
] satisfies Filters<AsyncValues>
|
|
908
908
|
|
|
909
909
|
it("can re-fetch options with all active filter values pulled off of the FilterBarContext", async () => {
|
|
910
|
-
const { getByRole, queryByRole } =
|
|
910
|
+
const { getByRole, queryByRole } = render(
|
|
911
911
|
<FilterBarWrapper<AsyncValues> filters={config} defaultValues={{}} />
|
|
912
912
|
)
|
|
913
913
|
|
|
@@ -981,7 +981,7 @@ describe("<FilterBar />", () => {
|
|
|
981
981
|
] satisfies Filters<CycleFilterValues>
|
|
982
982
|
|
|
983
983
|
it("opens the Custom Date filter when Cycle's 'custom' value is selected", async () => {
|
|
984
|
-
const { getByRole } =
|
|
984
|
+
const { getByRole } = render(
|
|
985
985
|
<FilterBarWrapper<CycleFilterValues> filters={cycleFilters} />
|
|
986
986
|
)
|
|
987
987
|
await waitForI18nContent()
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
+
import { vi } from "vitest"
|
|
1
2
|
import { FilterBarState } from "../types"
|
|
2
3
|
import { updateDependentFilters } from "./updateDependentFilters"
|
|
3
|
-
|
|
4
|
-
const sugarLevelIsUsableWhen = jest.fn(
|
|
5
|
-
state => state.flavour.value !== undefined
|
|
6
|
-
)
|
|
4
|
+
const sugarLevelIsUsableWhen = vi.fn(state => state.flavour.value !== undefined)
|
|
7
5
|
|
|
8
6
|
type Values = {
|
|
9
7
|
flavour: string
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from "react"
|
|
2
|
-
import { waitFor, screen } from "@testing-library/react"
|
|
2
|
+
import { waitFor, screen, render } from "@testing-library/react"
|
|
3
3
|
import userEvent from "@testing-library/user-event"
|
|
4
|
-
import { renderWithIntl } from "~tests"
|
|
5
4
|
import {
|
|
6
5
|
FilterBarProvider,
|
|
7
6
|
FilterBarProviderProps,
|
|
@@ -53,7 +52,7 @@ describe("<AddFiltersMenu />", () => {
|
|
|
53
52
|
},
|
|
54
53
|
] satisfies Filters<Values>
|
|
55
54
|
|
|
56
|
-
|
|
55
|
+
render(<AddFiltersMenuWrapper filters={filters} />)
|
|
57
56
|
|
|
58
57
|
await waitFor(() => {
|
|
59
58
|
expect(screen.getByRole("button", { name: "Add Filters" })).toBeVisible()
|
|
@@ -80,7 +79,7 @@ describe("<AddFiltersMenu />", () => {
|
|
|
80
79
|
},
|
|
81
80
|
] satisfies Filters<Values>
|
|
82
81
|
|
|
83
|
-
|
|
82
|
+
render(<AddFiltersMenuWrapper filters={filters} />)
|
|
84
83
|
|
|
85
84
|
await waitFor(() => {
|
|
86
85
|
const addFiltersButton = screen.getByRole("button", {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React 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
|
-
import { renderWithIntl } from "~tests"
|
|
5
4
|
import { FilterBarProvider } from "../../context/FilterBarContext"
|
|
6
5
|
import { FilterBarButton, FilterBarButtonProps } from "./FilterBarButton"
|
|
7
6
|
|
|
@@ -43,9 +42,7 @@ const FilterBarButtonWrapper = (
|
|
|
43
42
|
|
|
44
43
|
describe("<FilterBarButton />", () => {
|
|
45
44
|
it("does not show a remove button when it is not removable", async () => {
|
|
46
|
-
const { getByRole, queryByRole } =
|
|
47
|
-
<FilterBarButtonWrapper />
|
|
48
|
-
)
|
|
45
|
+
const { getByRole, queryByRole } = render(<FilterBarButtonWrapper />)
|
|
49
46
|
await waitFor(() => {
|
|
50
47
|
expect(getByRole("button", { name: "Coffee" })).toBeVisible()
|
|
51
48
|
})
|
|
@@ -55,7 +52,7 @@ describe("<FilterBarButton />", () => {
|
|
|
55
52
|
})
|
|
56
53
|
|
|
57
54
|
it("shows a remove button when it is removable", async () => {
|
|
58
|
-
|
|
55
|
+
render(<FilterBarButtonWrapper isRemovable />)
|
|
59
56
|
const filterButton = await screen.findByRole("button", { name: "Coffee" })
|
|
60
57
|
await waitFor(() => {
|
|
61
58
|
expect(filterButton).toBeVisible()
|
|
@@ -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 {
|
|
4
|
+
import { vi } from "vitest"
|
|
5
5
|
import {
|
|
6
6
|
FilterAttributes,
|
|
7
7
|
FilterBarProvider,
|
|
@@ -58,7 +58,7 @@ const FilterBarDatePickerWrapper = ({
|
|
|
58
58
|
|
|
59
59
|
describe("<FilterBarDatePicker />", () => {
|
|
60
60
|
it("shows the name in the trigger button", async () => {
|
|
61
|
-
|
|
61
|
+
render(<FilterBarDatePickerWrapper />)
|
|
62
62
|
await waitFor(() => {
|
|
63
63
|
const triggerButton = screen.getByRole("button", { name: "Drank" })
|
|
64
64
|
expect(triggerButton).toBeInTheDocument()
|
|
@@ -67,7 +67,7 @@ describe("<FilterBarDatePicker />", () => {
|
|
|
67
67
|
|
|
68
68
|
describe("Removable", () => {
|
|
69
69
|
it("does not show the remove button when isRemovable is false", async () => {
|
|
70
|
-
|
|
70
|
+
render(<FilterBarDatePickerWrapper />)
|
|
71
71
|
await waitFor(() => {
|
|
72
72
|
expect(
|
|
73
73
|
screen.getByRole("button", { name: "Drank" })
|
|
@@ -79,7 +79,7 @@ describe("<FilterBarDatePicker />", () => {
|
|
|
79
79
|
})
|
|
80
80
|
|
|
81
81
|
it("shows the remove button when isRemovable is true", async () => {
|
|
82
|
-
|
|
82
|
+
render(
|
|
83
83
|
<FilterBarDatePickerWrapper
|
|
84
84
|
filterAttributes={{ isRemovable: true }}
|
|
85
85
|
defaultValues={{ drank: new Date("2023-05-01") }}
|
|
@@ -94,9 +94,7 @@ describe("<FilterBarDatePicker />", () => {
|
|
|
94
94
|
})
|
|
95
95
|
|
|
96
96
|
it("can toggle its open state", async () => {
|
|
97
|
-
const { getByRole, queryByRole } =
|
|
98
|
-
<FilterBarDatePickerWrapper />
|
|
99
|
-
)
|
|
97
|
+
const { getByRole, queryByRole } = render(<FilterBarDatePickerWrapper />)
|
|
100
98
|
const triggerButton = getByRole("button", { name: "Drank" })
|
|
101
99
|
|
|
102
100
|
await user.click(triggerButton)
|
|
@@ -113,7 +111,7 @@ describe("<FilterBarDatePicker />", () => {
|
|
|
113
111
|
})
|
|
114
112
|
|
|
115
113
|
it("shows a selected value when provided", async () => {
|
|
116
|
-
const { getByRole } =
|
|
114
|
+
const { getByRole } = render(
|
|
117
115
|
<FilterBarDatePickerWrapper
|
|
118
116
|
defaultValues={{ drank: new Date("2023-06-06") }}
|
|
119
117
|
/>
|
|
@@ -127,7 +125,7 @@ describe("<FilterBarDatePicker />", () => {
|
|
|
127
125
|
})
|
|
128
126
|
|
|
129
127
|
it("updates the selected value in the trigger button when selecting a date", async () => {
|
|
130
|
-
|
|
128
|
+
render(
|
|
131
129
|
<FilterBarDatePickerWrapper
|
|
132
130
|
defaultValues={{ drank: new Date("2023-06-06") }}
|
|
133
131
|
/>
|
|
@@ -156,8 +154,8 @@ describe("<FilterBarDatePicker />", () => {
|
|
|
156
154
|
})
|
|
157
155
|
|
|
158
156
|
it("allows calling additional functions on selection change", async () => {
|
|
159
|
-
const onChange =
|
|
160
|
-
|
|
157
|
+
const onChange = vi.fn()
|
|
158
|
+
render(<FilterBarDatePickerWrapper onDateChange={onChange} />)
|
|
161
159
|
|
|
162
160
|
const triggerButton = screen.getByRole("button", { name: "Drank" })
|
|
163
161
|
await user.click(triggerButton)
|
|
@@ -1,7 +1,6 @@
|
|
|
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"
|
|
5
4
|
import {
|
|
6
5
|
FilterAttributes,
|
|
7
6
|
FilterBarProvider,
|
|
@@ -53,7 +52,7 @@ const FilterBarDateRangePickerWrapper = ({
|
|
|
53
52
|
|
|
54
53
|
describe("<FilterBarDateRangePicker />", () => {
|
|
55
54
|
it("shows the name in the trigger button", async () => {
|
|
56
|
-
|
|
55
|
+
render(<FilterBarDateRangePickerWrapper />)
|
|
57
56
|
await waitFor(() => {
|
|
58
57
|
const triggerButton = screen.getByRole("button", { name: "Dates" })
|
|
59
58
|
expect(triggerButton).toBeInTheDocument()
|
|
@@ -62,7 +61,7 @@ describe("<FilterBarDateRangePicker />", () => {
|
|
|
62
61
|
|
|
63
62
|
describe("Removable", () => {
|
|
64
63
|
it("does not show the remove button when isRemovable is false", async () => {
|
|
65
|
-
|
|
64
|
+
render(<FilterBarDateRangePickerWrapper />)
|
|
66
65
|
await waitFor(() => {
|
|
67
66
|
expect(
|
|
68
67
|
screen.getByRole("button", { name: "Dates" })
|
|
@@ -74,7 +73,7 @@ describe("<FilterBarDateRangePicker />", () => {
|
|
|
74
73
|
})
|
|
75
74
|
|
|
76
75
|
it("shows the remove button when isRemovable is true", async () => {
|
|
77
|
-
const { getByRole } =
|
|
76
|
+
const { getByRole } = render(
|
|
78
77
|
<FilterBarDateRangePickerWrapper
|
|
79
78
|
filterAttributes={{ isRemovable: true }}
|
|
80
79
|
defaultValues={{ range: { from: new Date("2023-05-01") } }}
|
|
@@ -89,7 +88,7 @@ describe("<FilterBarDateRangePicker />", () => {
|
|
|
89
88
|
})
|
|
90
89
|
|
|
91
90
|
it("can toggle its open state", async () => {
|
|
92
|
-
const { getByRole, queryByRole } =
|
|
91
|
+
const { getByRole, queryByRole } = render(
|
|
93
92
|
<FilterBarDateRangePickerWrapper />
|
|
94
93
|
)
|
|
95
94
|
const triggerButton = getByRole("button", { name: "Dates" })
|
|
@@ -108,7 +107,7 @@ describe("<FilterBarDateRangePicker />", () => {
|
|
|
108
107
|
})
|
|
109
108
|
|
|
110
109
|
it("shows a selected value when provided", async () => {
|
|
111
|
-
const { getByRole } =
|
|
110
|
+
const { getByRole } = render(
|
|
112
111
|
<FilterBarDateRangePickerWrapper
|
|
113
112
|
defaultValues={{
|
|
114
113
|
range: {
|
|
@@ -127,7 +126,7 @@ describe("<FilterBarDateRangePicker />", () => {
|
|
|
127
126
|
})
|
|
128
127
|
|
|
129
128
|
it("updates the selected value in the trigger button", async () => {
|
|
130
|
-
const { getByRole, getByText } =
|
|
129
|
+
const { getByRole, getByText } = render(
|
|
131
130
|
<FilterBarDateRangePickerWrapper
|
|
132
131
|
defaultValues={{
|
|
133
132
|
range: {
|
|
@@ -159,8 +158,8 @@ describe("<FilterBarDateRangePicker />", () => {
|
|
|
159
158
|
}, 10000)
|
|
160
159
|
|
|
161
160
|
it("allows calling additional functions on value change", async () => {
|
|
162
|
-
const onChange =
|
|
163
|
-
const { getByRole, getByText } =
|
|
161
|
+
const onChange = vi.fn()
|
|
162
|
+
const { getByRole, getByText } = render(
|
|
164
163
|
<FilterBarDateRangePickerWrapper
|
|
165
164
|
defaultValues={{
|
|
166
165
|
range: {
|
package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.spec.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useEffect, useState } 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
|
-
import {
|
|
4
|
+
import { vi } from "vitest"
|
|
5
5
|
import {
|
|
6
6
|
FilterAttributes,
|
|
7
7
|
FilterBarProvider,
|
|
@@ -91,7 +91,7 @@ const FilterBarMultiSelectWrapper = <ValuesMap extends FiltersValues = Values>({
|
|
|
91
91
|
|
|
92
92
|
describe("<FilterBarMultiSelect />", () => {
|
|
93
93
|
it("shows the name in the trigger button", async () => {
|
|
94
|
-
const { getByRole } =
|
|
94
|
+
const { getByRole } = render(<FilterBarMultiSelectWrapper />)
|
|
95
95
|
await waitFor(() => {
|
|
96
96
|
const triggerButton = getByRole("button", { name: "Toppings" })
|
|
97
97
|
expect(triggerButton).toBeVisible()
|
|
@@ -100,7 +100,7 @@ describe("<FilterBarMultiSelect />", () => {
|
|
|
100
100
|
|
|
101
101
|
describe("Removable", () => {
|
|
102
102
|
it("does not show the remove button when isRemovable is false", async () => {
|
|
103
|
-
const { queryByRole } =
|
|
103
|
+
const { queryByRole } = render(<FilterBarMultiSelectWrapper />)
|
|
104
104
|
await waitFor(() => {
|
|
105
105
|
expect(screen.getByRole("button", { name: "Toppings" })).toBeVisible()
|
|
106
106
|
})
|
|
@@ -110,7 +110,7 @@ describe("<FilterBarMultiSelect />", () => {
|
|
|
110
110
|
})
|
|
111
111
|
|
|
112
112
|
it("shows the remove button when isRemovable is true", async () => {
|
|
113
|
-
const { getByRole } =
|
|
113
|
+
const { getByRole } = render(
|
|
114
114
|
<FilterBarMultiSelectWrapper
|
|
115
115
|
filterAttributes={{ isRemovable: true }}
|
|
116
116
|
defaultValues={{ toppings: ["pearls"] }}
|
|
@@ -124,7 +124,7 @@ describe("<FilterBarMultiSelect />", () => {
|
|
|
124
124
|
})
|
|
125
125
|
|
|
126
126
|
it("hides the filter when remove button is clicked", async () => {
|
|
127
|
-
const { getByRole } =
|
|
127
|
+
const { getByRole } = render(
|
|
128
128
|
<FilterBarMultiSelectWrapper
|
|
129
129
|
filterAttributes={{ isRemovable: true }}
|
|
130
130
|
defaultValues={{ toppings: ["pearls"] }}
|
|
@@ -149,9 +149,7 @@ describe("<FilterBarMultiSelect />", () => {
|
|
|
149
149
|
})
|
|
150
150
|
|
|
151
151
|
it("can toggle its open state", async () => {
|
|
152
|
-
const { getByRole, queryByRole } =
|
|
153
|
-
<FilterBarMultiSelectWrapper />
|
|
154
|
-
)
|
|
152
|
+
const { getByRole, queryByRole } = render(<FilterBarMultiSelectWrapper />)
|
|
155
153
|
const triggerButton = getByRole("button", { name: "Toppings" })
|
|
156
154
|
|
|
157
155
|
await user.click(triggerButton)
|
|
@@ -168,7 +166,7 @@ describe("<FilterBarMultiSelect />", () => {
|
|
|
168
166
|
})
|
|
169
167
|
|
|
170
168
|
it("shows a selected value when provided", async () => {
|
|
171
|
-
const { getByRole } =
|
|
169
|
+
const { getByRole } = render(
|
|
172
170
|
<FilterBarMultiSelectWrapper
|
|
173
171
|
defaultValues={{ toppings: ["pearls", "fruit-jelly"] }}
|
|
174
172
|
/>
|
|
@@ -182,7 +180,7 @@ describe("<FilterBarMultiSelect />", () => {
|
|
|
182
180
|
})
|
|
183
181
|
|
|
184
182
|
it("updates the selected value in the trigger button", async () => {
|
|
185
|
-
const { getByRole } =
|
|
183
|
+
const { getByRole } = render(
|
|
186
184
|
<FilterBarMultiSelectWrapper defaultValues={{ toppings: ["pearls"] }} />
|
|
187
185
|
)
|
|
188
186
|
const triggerButton = getByRole("button", {
|
|
@@ -204,8 +202,8 @@ describe("<FilterBarMultiSelect />", () => {
|
|
|
204
202
|
})
|
|
205
203
|
|
|
206
204
|
it("allows calling additional functions on selection change", async () => {
|
|
207
|
-
const onChange =
|
|
208
|
-
const { getByRole } =
|
|
205
|
+
const onChange = vi.fn()
|
|
206
|
+
const { getByRole } = render(
|
|
209
207
|
<FilterBarMultiSelectWrapper onSelectionChange={onChange} />
|
|
210
208
|
)
|
|
211
209
|
const triggerButton = getByRole("button", { name: "Toppings" })
|
|
@@ -257,7 +255,7 @@ describe("<FilterBarMultiSelect />", () => {
|
|
|
257
255
|
)
|
|
258
256
|
}
|
|
259
257
|
|
|
260
|
-
const { getByRole, getAllByRole, getByTestId } =
|
|
258
|
+
const { getByRole, getAllByRole, getByTestId } = render(
|
|
261
259
|
<FilterBarMultiSelectWrapper<ValuesDependent>
|
|
262
260
|
additionalFilters={[
|
|
263
261
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useEffect, useState } from "react"
|
|
2
|
-
import { waitFor, screen } from "@testing-library/react"
|
|
2
|
+
import { waitFor, screen, render } from "@testing-library/react"
|
|
3
3
|
import userEvent from "@testing-library/user-event"
|
|
4
|
-
import {
|
|
4
|
+
import { vi } from "vitest"
|
|
5
5
|
import {
|
|
6
6
|
FilterAttributes,
|
|
7
7
|
FilterBarProvider,
|
|
@@ -67,7 +67,7 @@ const FilterBarSelectWrapper = <ValuesMap extends FiltersValues = Values>({
|
|
|
67
67
|
|
|
68
68
|
describe("<FilterBarSelect />", () => {
|
|
69
69
|
it("shows the name in the trigger button", async () => {
|
|
70
|
-
|
|
70
|
+
render(<FilterBarSelectWrapper />)
|
|
71
71
|
await waitFor(() => {
|
|
72
72
|
const triggerButton = screen.getByRole("button", { name: "Flavour" })
|
|
73
73
|
expect(triggerButton).toBeInTheDocument()
|
|
@@ -76,7 +76,7 @@ describe("<FilterBarSelect />", () => {
|
|
|
76
76
|
|
|
77
77
|
describe("Removable", () => {
|
|
78
78
|
it("does not show the remove button when isRemovable is false", async () => {
|
|
79
|
-
|
|
79
|
+
render(<FilterBarSelectWrapper />)
|
|
80
80
|
await waitFor(() => {
|
|
81
81
|
expect(
|
|
82
82
|
screen.getByRole("button", { name: "Flavour" })
|
|
@@ -88,7 +88,7 @@ describe("<FilterBarSelect />", () => {
|
|
|
88
88
|
})
|
|
89
89
|
|
|
90
90
|
it("shows the remove button when isRemovable is true", async () => {
|
|
91
|
-
|
|
91
|
+
render(
|
|
92
92
|
<FilterBarSelectWrapper
|
|
93
93
|
filterAttributes={{ isRemovable: true }}
|
|
94
94
|
defaultValues={{ flavour: "jasmine-milk-tea" }}
|
|
@@ -103,9 +103,7 @@ describe("<FilterBarSelect />", () => {
|
|
|
103
103
|
})
|
|
104
104
|
|
|
105
105
|
it("can toggle its open state", async () => {
|
|
106
|
-
const { getByRole, queryByRole } =
|
|
107
|
-
<FilterBarSelectWrapper />
|
|
108
|
-
)
|
|
106
|
+
const { getByRole, queryByRole } = render(<FilterBarSelectWrapper />)
|
|
109
107
|
const triggerButton = getByRole("button", { name: "Flavour" })
|
|
110
108
|
|
|
111
109
|
await user.click(triggerButton)
|
|
@@ -122,7 +120,7 @@ describe("<FilterBarSelect />", () => {
|
|
|
122
120
|
})
|
|
123
121
|
|
|
124
122
|
it("shows a selected value when provided", async () => {
|
|
125
|
-
const { getByRole } =
|
|
123
|
+
const { getByRole } = render(
|
|
126
124
|
<FilterBarSelectWrapper defaultValues={{ flavour: "jasmine-milk-tea" }} />
|
|
127
125
|
)
|
|
128
126
|
await waitFor(() => {
|
|
@@ -134,7 +132,7 @@ describe("<FilterBarSelect />", () => {
|
|
|
134
132
|
})
|
|
135
133
|
|
|
136
134
|
it("updates the selected value in the trigger button", async () => {
|
|
137
|
-
const { getByRole } =
|
|
135
|
+
const { getByRole } = render(
|
|
138
136
|
<FilterBarSelectWrapper defaultValues={{ flavour: "jasmine-milk-tea" }} />
|
|
139
137
|
)
|
|
140
138
|
const triggerButton = getByRole("button", {
|
|
@@ -156,8 +154,8 @@ describe("<FilterBarSelect />", () => {
|
|
|
156
154
|
})
|
|
157
155
|
|
|
158
156
|
it("allows calling additional functions on selection change", async () => {
|
|
159
|
-
const onChange =
|
|
160
|
-
const { getByRole } =
|
|
157
|
+
const onChange = vi.fn()
|
|
158
|
+
const { getByRole } = render(
|
|
161
159
|
<FilterBarSelectWrapper onSelectionChange={onChange} />
|
|
162
160
|
)
|
|
163
161
|
const triggerButton = getByRole("button", { name: "Flavour" })
|
|
@@ -208,7 +206,7 @@ describe("<FilterBarSelect />", () => {
|
|
|
208
206
|
return <FilterBarSelect id="topping" items={items} />
|
|
209
207
|
}
|
|
210
208
|
|
|
211
|
-
const { getByRole, getAllByRole, getByTestId } =
|
|
209
|
+
const { getByRole, getAllByRole, getByTestId } = render(
|
|
212
210
|
<FilterBarSelectWrapper<ValuesDependent>
|
|
213
211
|
additionalFilters={[
|
|
214
212
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
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
|
-
import {
|
|
4
|
+
import { vi } from "vitest"
|
|
5
5
|
import {
|
|
6
6
|
FilterButtonRemovable,
|
|
7
7
|
FilterButtonRemovableProps,
|
|
@@ -29,7 +29,7 @@ const FilterButtonRemovableWrapper = ({
|
|
|
29
29
|
|
|
30
30
|
describe("<FilterButtonRemovable />", () => {
|
|
31
31
|
it("should use fallback label for remove button if not specified", async () => {
|
|
32
|
-
|
|
32
|
+
render(<FilterButtonRemovableWrapper />)
|
|
33
33
|
await waitFor(() => {
|
|
34
34
|
expect(
|
|
35
35
|
screen.getByRole("button", { name: "Remove filter - Desserts" })
|
|
@@ -39,7 +39,7 @@ describe("<FilterButtonRemovable />", () => {
|
|
|
39
39
|
|
|
40
40
|
describe("Refs", () => {
|
|
41
41
|
it("correctly passes through both button refs", async () => {
|
|
42
|
-
const onClick =
|
|
42
|
+
const onClick = vi.fn()
|
|
43
43
|
|
|
44
44
|
const Wrapper = (): JSX.Element => {
|
|
45
45
|
const triggerRef = useRef<HTMLButtonElement>(null)
|
|
@@ -72,7 +72,7 @@ describe("<FilterButtonRemovable />", () => {
|
|
|
72
72
|
)
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
render(<Wrapper />)
|
|
76
76
|
|
|
77
77
|
await user.click(screen.getByText("Click me"))
|
|
78
78
|
expect(onClick).toHaveBeenCalledWith(
|