@axinom/mosaic-ui 0.69.0-rc.2 → 0.69.0-rc.21
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/dist/components/Buttons/Button/Button.d.ts +3 -3
- package/dist/components/Buttons/Button/Button.d.ts.map +1 -1
- package/dist/components/Buttons/Button.model.d.ts +2 -1
- package/dist/components/Buttons/Button.model.d.ts.map +1 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.models.d.ts +0 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.models.d.ts.map +1 -1
- package/dist/components/DateTime/TimePicker/ScrollColumn/ScrollColumn.d.ts +2 -2
- package/dist/components/DateTime/TimePicker/ScrollColumn/ScrollColumn.d.ts.map +1 -1
- package/dist/components/DynamicDataList/DynamicDataList.d.ts +1 -1
- package/dist/components/DynamicDataList/DynamicDataList.d.ts.map +1 -1
- package/dist/components/DynamicDataList/DynamicDataList.model.d.ts +0 -1
- package/dist/components/DynamicDataList/DynamicDataList.model.d.ts.map +1 -1
- package/dist/components/DynamicDataList/DynamicListDataEntry/DynamicListDataEntry.d.ts +2 -2
- package/dist/components/DynamicDataList/DynamicListDataEntry/DynamicListDataEntry.d.ts.map +1 -1
- package/dist/components/DynamicDataList/DynamicListDataEntry/Renderers/createInputRenderer/createInputRenderer.d.ts +1 -1
- package/dist/components/DynamicDataList/DynamicListDataEntry/Renderers/createInputRenderer/createInputRenderer.d.ts.map +1 -1
- package/dist/components/DynamicDataList/DynamicListDataEntry/Renderers/createSelectRenderer/createSelectRenderer.d.ts +1 -1
- package/dist/components/DynamicDataList/DynamicListDataEntry/Renderers/createSelectRenderer/createSelectRenderer.d.ts.map +1 -1
- package/dist/components/DynamicDataList/DynamicListDataEntry/Renderers/renderers.model.d.ts +2 -0
- package/dist/components/DynamicDataList/DynamicListDataEntry/Renderers/renderers.model.d.ts.map +1 -1
- package/dist/components/DynamicDataList/DynamicListHeader/DynamicListHeader.d.ts +2 -2
- package/dist/components/DynamicDataList/DynamicListHeader/DynamicListHeader.d.ts.map +1 -1
- package/dist/components/DynamicDataList/DynamicListRow/DynamicListRow.d.ts +2 -2
- package/dist/components/DynamicDataList/DynamicListRow/DynamicListRow.d.ts.map +1 -1
- package/dist/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.actions.d.ts +2 -2
- package/dist/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.actions.d.ts.map +1 -1
- package/dist/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.d.ts.map +1 -1
- package/dist/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.init.d.ts.map +1 -1
- package/dist/components/DynamicDataList/helpers/useColumnDefs.d.ts +1 -1
- package/dist/components/DynamicDataList/helpers/useColumnDefs.d.ts.map +1 -1
- package/dist/components/DynamicDataList/helpers/useDataHandler.d.ts +1 -1
- package/dist/components/DynamicDataList/helpers/useDataHandler.d.ts.map +1 -1
- package/dist/components/DynamicDataList/helpers/useRowAnimation.d.ts.map +1 -1
- package/dist/components/DynamicDataList/helpers/useRowEditing.d.ts.map +1 -1
- package/dist/components/EmptyStation/EmptyStation.d.ts.map +1 -1
- package/dist/components/Explorer/BulkEdit/FormFieldsConfigConverter.d.ts.map +1 -1
- package/dist/components/Explorer/BulkEdit/GenerateMutation.d.ts.map +1 -1
- package/dist/components/Explorer/BulkEdit/helpers/FieldWrapper.d.ts.map +1 -1
- package/dist/components/Explorer/BulkEdit/useBulkEdit.d.ts.map +1 -1
- package/dist/components/Explorer/Explorer.d.ts +1 -1
- package/dist/components/Explorer/Explorer.d.ts.map +1 -1
- package/dist/components/Explorer/Explorer.model.d.ts +0 -1
- package/dist/components/Explorer/Explorer.model.d.ts.map +1 -1
- package/dist/components/Explorer/NavigationExplorer/NavigationExplorer.d.ts +1 -1
- package/dist/components/Explorer/NavigationExplorer/NavigationExplorer.d.ts.map +1 -1
- package/dist/components/Explorer/QuickEdit/useQuickEdit.d.ts.map +1 -1
- package/dist/components/Explorer/SelectionExplorer/SelectionExplorer.d.ts +1 -1
- package/dist/components/Explorer/SelectionExplorer/SelectionExplorer.d.ts.map +1 -1
- package/dist/components/Explorer/helpers/useActions.d.ts +0 -1
- package/dist/components/Explorer/helpers/useActions.d.ts.map +1 -1
- package/dist/components/Explorer/helpers/useDataProvider.d.ts +0 -1
- package/dist/components/Explorer/helpers/useDataProvider.d.ts.map +1 -1
- package/dist/components/Explorer/helpers/useFilters.d.ts +0 -1
- package/dist/components/Explorer/helpers/useFilters.d.ts.map +1 -1
- package/dist/components/FieldSelection/FieldSelection.d.ts +1 -0
- package/dist/components/FieldSelection/FieldSelection.d.ts.map +1 -1
- package/dist/components/Filters/Filter/Filter.d.ts +2 -2
- package/dist/components/Filters/Filter/Filter.d.ts.map +1 -1
- package/dist/components/Filters/Filters.d.ts +2 -2
- package/dist/components/Filters/Filters.d.ts.map +1 -1
- package/dist/components/Filters/Filters.model.d.ts +0 -1
- package/dist/components/Filters/Filters.model.d.ts.map +1 -1
- package/dist/components/Filters/Validators/DateRangeFilterValidator.d.ts.map +1 -1
- package/dist/components/Filters/Validators/NumberRangeFilterValidator.d.ts.map +1 -1
- package/dist/components/FormElements/DynamicDataListControl/DynamicDataListControl.d.ts +0 -1
- package/dist/components/FormElements/DynamicDataListControl/DynamicDataListControl.d.ts.map +1 -1
- package/dist/components/FormElements/DynamicDataListControl/DynamicDataListField.d.ts +2 -2
- package/dist/components/FormElements/DynamicDataListControl/DynamicDataListField.d.ts.map +1 -1
- package/dist/components/FormElements/FormGroup/FormGroup.d.ts +12 -0
- package/dist/components/FormElements/FormGroup/FormGroup.d.ts.map +1 -0
- package/dist/components/FormElements/FormGroupTitle/FormGroupTitle.d.ts +5 -0
- package/dist/components/FormElements/FormGroupTitle/FormGroupTitle.d.ts.map +1 -1
- package/dist/components/FormElements/FormikDebug/FormikDebug.d.ts +0 -1
- package/dist/components/FormElements/FormikDebug/FormikDebug.d.ts.map +1 -1
- package/dist/components/FormElements/ReadOnly/ReadOnlyField.d.ts +2 -2
- package/dist/components/FormElements/ReadOnly/ReadOnlyField.d.ts.map +1 -1
- package/dist/components/FormElements/ReadOnlyText/ReadOnlyTextField.d.ts +2 -2
- package/dist/components/FormElements/ReadOnlyText/ReadOnlyTextField.d.ts.map +1 -1
- package/dist/components/FormElements/Tags/Tags.d.ts +2 -2
- package/dist/components/FormElements/Tags/Tags.d.ts.map +1 -1
- package/dist/components/FormElements/Tags/TagsField.d.ts +2 -2
- package/dist/components/FormElements/Tags/TagsField.d.ts.map +1 -1
- package/dist/components/FormElements/formStoryHelper.d.ts.map +1 -1
- package/dist/components/FormElements/index.d.ts +1 -0
- package/dist/components/FormElements/index.d.ts.map +1 -1
- package/dist/components/FormElements/useFormikError.d.ts.map +1 -1
- package/dist/components/FormStation/Create/Create.d.ts +2 -2
- package/dist/components/FormStation/Create/Create.d.ts.map +1 -1
- package/dist/components/FormStation/Details/Details.d.ts +2 -2
- package/dist/components/FormStation/Details/Details.d.ts.map +1 -1
- package/dist/components/FormStation/FormStation.d.ts +2 -2
- package/dist/components/FormStation/FormStation.d.ts.map +1 -1
- package/dist/components/FormStation/FormStationActions/FormStationActions.d.ts +1 -1
- package/dist/components/FormStation/FormStationActions/FormStationActions.d.ts.map +1 -1
- package/dist/components/FormStation/FormStationHeader/FormStationHeader.d.ts.map +1 -1
- package/dist/components/FormStation/SaveOnDemand/SaveOnDemand.d.ts +0 -1
- package/dist/components/FormStation/SaveOnDemand/SaveOnDemand.d.ts.map +1 -1
- package/dist/components/FormStation/SaveOnNavigate/handleNavigationAttempt.d.ts.map +1 -1
- package/dist/components/FormStation/helpers/useTitle.d.ts.map +1 -1
- package/dist/components/InfoPanel/hooks/useCollapse.d.ts +0 -1
- package/dist/components/InfoPanel/hooks/useCollapse.d.ts.map +1 -1
- package/dist/components/InlineMenu/InlineMenu.d.ts.map +1 -1
- package/dist/components/List/List.d.ts +2 -2
- package/dist/components/List/List.d.ts.map +1 -1
- package/dist/components/List/List.model.d.ts +0 -1
- package/dist/components/List/List.model.d.ts.map +1 -1
- package/dist/components/List/List.stories.helper.d.ts.map +1 -1
- package/dist/components/List/ListHeader/ColumnLabel/ColumnLabel.d.ts +2 -2
- package/dist/components/List/ListHeader/ColumnLabel/ColumnLabel.d.ts.map +1 -1
- package/dist/components/List/ListHeader/ListHeader.d.ts +2 -2
- package/dist/components/List/ListHeader/ListHeader.d.ts.map +1 -1
- package/dist/components/List/ListRow/ListRow.d.ts +2 -4
- package/dist/components/List/ListRow/ListRow.d.ts.map +1 -1
- package/dist/components/List/ListRow/ListRowCell/ListRowCell.d.ts +0 -1
- package/dist/components/List/ListRow/ListRowCell/ListRowCell.d.ts.map +1 -1
- package/dist/components/List/ListRow/ListRowCell/renderData.d.ts.map +1 -1
- package/dist/components/List/ListRow/ListRowLoader.d.ts +2 -2
- package/dist/components/List/ListRow/ListRowLoader.d.ts.map +1 -1
- package/dist/components/List/ListRow/Renderers/BooleanDotRenderer/BooleanDotRenderer.d.ts +0 -1
- package/dist/components/List/ListRow/Renderers/BooleanDotRenderer/BooleanDotRenderer.d.ts.map +1 -1
- package/dist/components/List/ListRow/Renderers/DateRenderer/DateRenderer.d.ts.map +1 -1
- package/dist/components/List/ListRow/Renderers/ExternalLinkRenderer/ExternalLinkRenderer.d.ts.map +1 -1
- package/dist/components/List/ListRow/Renderers/StateRenderer/StateRenderer.d.ts +1 -1
- package/dist/components/List/ListRow/Renderers/StateRenderer/StateRenderer.d.ts.map +1 -1
- package/dist/components/List/ListRow/Renderers/TagsRenderer/TagsRenderer.d.ts +0 -1
- package/dist/components/List/ListRow/Renderers/TagsRenderer/TagsRenderer.d.ts.map +1 -1
- package/dist/components/List/ListRow/Renderers/TimestampRenderer/TimestampRenderer.d.ts.map +1 -1
- package/dist/components/List/ListRowRenderer/ListRowRenderer.d.ts.map +1 -1
- package/dist/components/List/helpers.d.ts.map +1 -1
- package/dist/components/List/useColumnsSize.d.ts +0 -2
- package/dist/components/List/useColumnsSize.d.ts.map +1 -1
- package/dist/components/Loaders/skeletons.d.ts +0 -1
- package/dist/components/Loaders/skeletons.d.ts.map +1 -1
- package/dist/components/Modal/useModal.d.ts.map +1 -1
- package/dist/components/PageHeader/PageHeaderActionsGroup/PageHeaderActionsGroupsContext.d.ts +0 -1
- package/dist/components/PageHeader/PageHeaderActionsGroup/PageHeaderActionsGroupsContext.d.ts.map +1 -1
- package/dist/components/PageHeader/helpers/useElementWidthObserver.d.ts +1 -2
- package/dist/components/PageHeader/helpers/useElementWidthObserver.d.ts.map +1 -1
- package/dist/components/Tabs/TabList/ScrollContainer/useScroll.d.ts.map +1 -1
- package/dist/components/Utils/Postgraphile/FilterTransformer.d.ts.map +1 -1
- package/dist/components/Utils/Postgraphile/SortTransformer.d.ts.map +1 -1
- package/dist/components/Utils/State/GlobalState.d.ts.map +1 -1
- package/dist/helpers/idleCallbackHelpers.d.ts +0 -1
- package/dist/helpers/idleCallbackHelpers.d.ts.map +1 -1
- package/dist/helpers/storybook.d.ts.map +1 -1
- package/dist/helpers/testing.d.ts +6 -21
- package/dist/helpers/testing.d.ts.map +1 -1
- package/dist/helpers/utils.d.ts +1 -2
- package/dist/helpers/utils.d.ts.map +1 -1
- package/dist/hooks/useDEBUGDetectChanges/useDEBUGDetectChanges.d.ts.map +1 -1
- package/dist/hooks/useDEBUGRenderCount/useDEBUGRenderCount.d.ts.map +1 -1
- package/dist/hooks/useDebounce/useDebounce.d.ts +1 -2
- package/dist/hooks/useDebounce/useDebounce.d.ts.map +1 -1
- package/dist/hooks/useExpand/useExpand.d.ts.map +1 -1
- package/dist/hooks/useReactRouterPause/utils.d.ts.map +1 -1
- package/dist/hooks/useResize/useResize.d.ts +0 -1
- package/dist/hooks/useResize/useResize.d.ts.map +1 -1
- package/dist/hooks/useTabTitle/useTabTitle.d.ts.map +1 -1
- package/dist/hooks/useValueOrOnDemand/useValueOrOnDemand.d.ts +1 -1
- package/dist/hooks/useValueOrOnDemand/useValueOrOnDemand.d.ts.map +1 -1
- package/dist/index.es.js +4 -4
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/utils/ErrorMapper/ErrorMapper.d.ts.map +1 -1
- package/dist/utils/ErrorTypeToStationError.d.ts.map +1 -1
- package/dist/utils/ToolTipHelpers.d.ts.map +1 -1
- package/dist/validators/timestamp/timestamp.d.ts.map +1 -1
- package/package.json +11 -10
- package/src/components/Accordion/Accordion.spec.tsx +1 -1
- package/src/components/Accordion/AccordionItem/AccordionItem.spec.tsx +2 -2
- package/src/components/Actions/Action/Action.spec.tsx +189 -228
- package/src/components/Actions/Actions.spec.tsx +42 -32
- package/src/components/Buttons/Button/Button.spec.tsx +110 -115
- package/src/components/Buttons/Button/Button.tsx +4 -0
- package/src/components/Buttons/Button.model.ts +2 -0
- package/src/components/Buttons/CompositeButton/CompositeButton.spec.tsx +122 -121
- package/src/components/Buttons/TextButton/TextButton.spec.tsx +85 -90
- package/src/components/ConfirmDialog/ConfirmDialog.spec.tsx +75 -79
- package/src/components/DateTime/DatePicker/DatePicker.spec.tsx +8 -7
- package/src/components/DateTime/DateTimePicker.spec.tsx +43 -62
- package/src/components/DateTime/TimePicker/ScrollColumn/ScrollColumn.spec.tsx +19 -16
- package/src/components/DateTime/TimePicker/TimePicker.spec.tsx +44 -73
- package/src/components/DynamicDataList/DynamicDataList.spec.tsx +112 -107
- package/src/components/DynamicDataList/DynamicListDataEntry/DynamicListDataEntry.spec.tsx +91 -144
- package/src/components/DynamicDataList/DynamicListDataEntry/DynamicListDataEntry.tsx +38 -20
- package/src/components/DynamicDataList/DynamicListDataEntry/Renderers/createInputRenderer/createInputRenderer.spec.tsx +18 -15
- package/src/components/DynamicDataList/DynamicListDataEntry/Renderers/createInputRenderer/createInputRenderer.tsx +2 -0
- package/src/components/DynamicDataList/DynamicListDataEntry/Renderers/createSelectRenderer/createSelectRenderer.spec.tsx +53 -28
- package/src/components/DynamicDataList/DynamicListDataEntry/Renderers/createSelectRenderer/createSelectRenderer.tsx +2 -0
- package/src/components/DynamicDataList/DynamicListDataEntry/Renderers/renderers.model.ts +2 -0
- package/src/components/DynamicDataList/DynamicListHeader/DynamicListHeader.scss +19 -5
- package/src/components/DynamicDataList/DynamicListHeader/DynamicListHeader.spec.tsx +72 -76
- package/src/components/DynamicDataList/DynamicListRow/DynamicListRow.scss +9 -2
- package/src/components/DynamicDataList/DynamicListRow/DynamicListRow.spec.tsx +86 -113
- package/src/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.actions.spec.ts +1 -0
- package/src/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.init.spec.ts +1 -0
- package/src/components/DynamicDataList/helpers/DynamicListReducer/DynamicListReducer.spec.ts +6 -5
- package/src/components/EmptyStation/EmptyStation.spec.tsx +41 -37
- package/src/components/Explorer/BulkEdit/FormFieldsConfigConverter.spec.tsx +29 -28
- package/src/components/Explorer/BulkEdit/FormFieldsConfigConverter.tsx +1 -0
- package/src/components/Explorer/BulkEdit/GenerateMutation.spec.tsx +1 -0
- package/src/components/Explorer/BulkEdit/helpers/FieldWrapper.scss +1 -0
- package/src/components/Explorer/BulkEdit/helpers/FieldWrapper.tsx +1 -0
- package/src/components/Explorer/Explorer.spec.tsx +513 -825
- package/src/components/Explorer/NavigationExplorer/NavigationExplorer.spec.tsx +90 -131
- package/src/components/Explorer/QuickEdit/useQuickEdit.spec.tsx +36 -56
- package/src/components/Explorer/SelectionExplorer/SelectionExplorer.spec.tsx +59 -65
- package/src/components/Explorer/helpers/InMemoryDataProvider.spec.ts +1 -0
- package/src/components/Explorer/helpers/useFilters.spec.tsx +13 -11
- package/src/components/Explorer/helpers/useStationMessage.spec.tsx +4 -3
- package/src/components/Explorer/helpers/useSubtitle.spec.tsx +1 -0
- package/src/components/FieldSelection/FieldSelection.scss +1 -1
- package/src/components/FieldSelection/FieldSelection.spec.tsx +1 -1
- package/src/components/FieldSelection/FieldSelection.tsx +6 -2
- package/src/components/Filters/Filter/Filter.spec.tsx +78 -47
- package/src/components/Filters/Filters.spec.tsx +56 -58
- package/src/components/Filters/SelectionTypes/DateTimeFilter/DateTimeFilter.spec.tsx +45 -46
- package/src/components/Filters/SelectionTypes/FreeTextFilter/FreeTextFilter.spec.tsx +23 -23
- package/src/components/Filters/SelectionTypes/NumericTextFilter/NumericTextFilter.spec.tsx +37 -28
- package/src/components/Filters/SelectionTypes/OptionsFilter/OptionsFilter.spec.tsx +14 -12
- package/src/components/Filters/Validators/DateRangeFilterValidator.spec.ts +1 -0
- package/src/components/Filters/Validators/NumberRangeFilterValidator.spec.ts +1 -0
- package/src/components/FormElements/BooleanView/BooleanViewField.spec.tsx +34 -31
- package/src/components/FormElements/Checkbox/Checkbox.spec.tsx +129 -128
- package/src/components/FormElements/CustomTags/CustomTags.spec.tsx +312 -446
- package/src/components/FormElements/DateTimeField/DateTimeText.spec.tsx +61 -52
- package/src/components/FormElements/DynamicDataListControl/DynamicDataListControl.spec.tsx +19 -24
- package/src/components/FormElements/FileUploadControl/FileUploadControl.spec.tsx +67 -60
- package/src/components/FormElements/FormElementContainer/FormElementContainer.spec.tsx +13 -12
- package/src/components/FormElements/FormGroup/FormGroup.scss +62 -0
- package/src/components/FormElements/FormGroup/FormGroup.stories.tsx +25 -0
- package/src/components/FormElements/FormGroup/FormGroup.tsx +60 -0
- package/src/components/FormElements/FormGroupTitle/FormGroupTitle.tsx +5 -0
- package/src/components/FormElements/Link/LinkField.spec.tsx +24 -23
- package/src/components/FormElements/MaskedSingleLineText/MaskedSingleLineText.spec.tsx +4 -3
- package/src/components/FormElements/Radio/Radio.spec.tsx +170 -172
- package/src/components/FormElements/ReadOnly/ReadOnlyField.spec.tsx +23 -22
- package/src/components/FormElements/ReadOnlyText/ReadOnlyTextField.spec.tsx +23 -22
- package/src/components/FormElements/Select/Select.spec.tsx +30 -29
- package/src/components/FormElements/SingleLineText/SingleLineText.spec.tsx +46 -42
- package/src/components/FormElements/Tags/Tags.spec.tsx +59 -53
- package/src/components/FormElements/TextArea/TextArea.spec.tsx +44 -29
- package/src/components/FormElements/ToggleButton/ToggleButton.spec.tsx +188 -165
- package/src/components/FormElements/index.ts +1 -0
- package/src/components/FormStation/FormStation.spec.tsx +273 -198
- package/src/components/FormStation/FormStation.stories.tsx +15 -13
- package/src/components/FormStation/FormStationHeader/FormStationHeader.tsx +5 -3
- package/src/components/FormStation/SaveOnNavigate/SaveOnNavigate.spec.tsx +23 -20
- package/src/components/FormStation/SaveOnNavigate/handleNavigationAttempt.spec.ts +25 -24
- package/src/components/FormStation/helpers/useTitle.spec.ts +9 -7
- package/src/components/Hub/Hub.spec.tsx +13 -10
- package/src/components/Hub/Tile/Tile.spec.tsx +29 -25
- package/src/components/Icons/Icons.spec.tsx +25 -27
- package/src/components/Icons/Icons.tsx +1 -1
- package/src/components/InfoPanel/InfoImage/InfoImage.spec.tsx +4 -3
- package/src/components/InfoPanel/InfoPanel.scss +2 -0
- package/src/components/InfoPanel/InfoPanel.spec.tsx +4 -3
- package/src/components/InfoPanel/Paragraph/Paragraph.spec.tsx +4 -3
- package/src/components/InfoPanel/Section/Section.spec.tsx +39 -46
- package/src/components/InfoPanel/hooks/useCollapse.ts +9 -7
- package/src/components/InlineMenu/InlineMenu.spec.tsx +24 -23
- package/src/components/InlineMenu/InlineMenu.tsx +3 -0
- package/src/components/LandingPageHeader/LandingPageHeader.spec.tsx +9 -8
- package/src/components/LandingPageTiles/LandingPageTiles.spec.tsx +29 -28
- package/src/components/LandingPageTiles/TileLarge/TileLarge.spec.tsx +68 -61
- package/src/components/LandingPageTiles/TileSmall/TileSmall.spec.tsx +50 -32
- package/src/components/List/List.spec.tsx +337 -241
- package/src/components/List/ListCheckBox/ListCheckBox.spec.tsx +54 -48
- package/src/components/List/ListHeader/ColumnLabel/ColumnLabel.scss +4 -1
- package/src/components/List/ListHeader/ColumnLabel/ColumnLabel.spec.tsx +46 -43
- package/src/components/List/ListHeader/ListHeader.spec.tsx +82 -66
- package/src/components/List/ListRow/ListRow.spec.tsx +125 -130
- package/src/components/List/ListRow/ListRowCell/ListRowCell.spec.tsx +57 -100
- package/src/components/List/ListRow/ListRowLoader.spec.tsx +16 -12
- package/src/components/List/ListRow/Renderers/BooleanDotRenderer/BooleanDotRenderer.spec.tsx +12 -9
- package/src/components/List/ListRow/Renderers/ExternalLinkRenderer/ExternalLinkRenderer.spec.tsx +40 -35
- package/src/components/List/ListRow/Renderers/StateRenderer/StateRenderer.spec.tsx +14 -17
- package/src/components/List/ListRow/Renderers/TagsRenderer/TagsRenderer.spec.tsx +18 -17
- package/src/components/List/ListRow/Renderers/TagsRenderer/TagsRenderer.tsx +2 -2
- package/src/components/List/ListRowRenderer/ListRowRenderer.spec.tsx +82 -68
- package/src/components/Loaders/ImageLoader/ImageLoader.spec.tsx +88 -96
- package/src/components/Loaders/Loader/Loader.spec.tsx +51 -24
- package/src/components/Message/Message.spec.tsx +56 -44
- package/src/components/MessageBar/MessageBar.scss +3 -0
- package/src/components/MessageBar/MessageBar.spec.tsx +88 -85
- package/src/components/Modal/Modal.spec.tsx +92 -87
- package/src/components/NavigationAwareStation/NavigationAwareStation.spec.tsx +23 -22
- package/src/components/PageHeader/PageHeader.spec.tsx +22 -21
- package/src/components/PageHeader/PageHeaderAction/PageHeaderAction.spec.tsx +275 -193
- package/src/components/PageHeader/PageHeaderActionsGroup/PageHeaderActionsGroup.spec.tsx +39 -34
- package/src/components/ProgressBar/ProgressBar.spec.tsx +18 -15
- package/src/components/Utils/Postgraphile/CreateConnectionRenderer.spec.ts +1 -0
- package/src/components/Utils/Postgraphile/FilterTransformer.spec.ts +1 -0
- package/src/components/Utils/Postgraphile/RangeTransformer.spec.ts +1 -0
- package/src/components/Utils/Postgraphile/SortTransformer.spec.ts +1 -0
- package/src/components/Utils/Postgraphile/UpdateGQLFragmentGenerator.spec.ts +1 -0
- package/src/components/Utils/Postgraphile/generateArrayMutations.spec.ts +1 -0
- package/src/components/Utils/Postgraphile/getArrayDiff.spec.ts +1 -0
- package/src/components/Utils/Postgraphile/getFormDiff.spec.ts +1 -0
- package/src/components/Utils/State/GlobalState.spec.ts +4 -2
- package/src/components/Utils/Transformers/Boolean.spec.ts +1 -0
- package/src/components/Utils/Transformers/DateTime.spec.ts +2 -1
- package/src/components/Utils/Transformers/FileSize.spec.ts +1 -0
- package/src/components/Utils/Transformers/SortArray.spec.ts +1 -0
- package/src/components/Utils/Transformers/Timestamp.spec.ts +3 -2
- package/src/components/Utils/Transformers/TitleCase.spec.ts +1 -0
- package/src/components/VisualElements/ImgElement.spec.tsx +34 -35
- package/src/components/VisualElements/SvgElement.spec.tsx +72 -69
- package/src/helpers/testing.ts +9 -76
- package/src/hooks/useBusy/useBusy.spec.tsx +8 -9
- package/src/hooks/useClickOutside/useClickOutside.spec.tsx +19 -51
- package/src/hooks/useDebounce/useDebounce.spec.tsx +31 -26
- package/src/hooks/useExpand/useExpand.spec.tsx +30 -21
- package/src/hooks/useTabTitle/useTabTitle.spec.tsx +18 -18
- package/src/hooks/useValueOrOnDemand/useValueOrOnDemand.spec.tsx +31 -52
- package/src/styles/variables.scss +3 -1
- package/src/utils/ErrorMapper/ApolloClient/ApolloErrorMapper.spec.ts +1 -0
- package/src/utils/ErrorMapper/ErrorMapper.spec.ts +1 -0
- package/src/utils/ErrorTypeToStationError.spec.tsx +12 -11
- package/src/utils/ToolTipHelpers.spec.ts +1 -0
- package/src/validators/timestamp/timestamp.spec.ts +1 -0
- package/dist/helpers/hooksTestingHelpers.d.ts +0 -7
- package/dist/helpers/hooksTestingHelpers.d.ts.map +0 -1
- package/src/helpers/hooksTestingHelpers.tsx +0 -22
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { render, waitFor } from '@testing-library/react';
|
|
2
2
|
import { noop } from 'lodash';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { act } from 'react-dom/test-utils';
|
|
5
|
-
import {
|
|
5
|
+
import type { Mock } from 'vitest';
|
|
6
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
6
7
|
import { Column } from '../../List';
|
|
7
|
-
import { PageHeaderActionsGroup } from '../../PageHeader/PageHeaderActionsGroup/PageHeaderActionsGroup';
|
|
8
|
-
import { Explorer } from '../Explorer';
|
|
9
8
|
import { ExplorerDataProvider } from '../Explorer.model';
|
|
10
9
|
import { SelectionExplorer } from './SelectionExplorer';
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
uuid:
|
|
11
|
+
vi.mock('../../../utils/GenerateId', () => ({
|
|
12
|
+
uuid: vi.fn().mockReturnValue('test-uuid'),
|
|
14
13
|
}));
|
|
15
14
|
|
|
16
15
|
interface SelectExplorerTestData {
|
|
@@ -39,9 +38,9 @@ const mockListColumns: Column<SelectExplorerTestData>[] = [
|
|
|
39
38
|
|
|
40
39
|
const getDataProvider = (): readonly [
|
|
41
40
|
ExplorerDataProvider<SelectExplorerTestData>,
|
|
42
|
-
|
|
41
|
+
Mock,
|
|
43
42
|
] => {
|
|
44
|
-
const spy =
|
|
43
|
+
const spy = vi.fn();
|
|
45
44
|
return [
|
|
46
45
|
{
|
|
47
46
|
loadData: spy,
|
|
@@ -51,15 +50,13 @@ const getDataProvider = (): readonly [
|
|
|
51
50
|
};
|
|
52
51
|
|
|
53
52
|
describe('SelectionExplorer', () => {
|
|
54
|
-
global.ResizeObserver =
|
|
55
|
-
observe:
|
|
56
|
-
|
|
57
|
-
disconnect: jest.fn(),
|
|
58
|
-
}));
|
|
53
|
+
global.ResizeObserver = vi.fn().mockImplementation(function () {
|
|
54
|
+
return { observe: vi.fn(), unobserve: vi.fn(), disconnect: vi.fn() };
|
|
55
|
+
}) as unknown as typeof ResizeObserver;
|
|
59
56
|
|
|
60
57
|
it('renders the component without crashing', () => {
|
|
61
58
|
const [provider] = getDataProvider();
|
|
62
|
-
const
|
|
59
|
+
const { container } = render(
|
|
63
60
|
<SelectionExplorer
|
|
64
61
|
columns={mockListColumns}
|
|
65
62
|
dataProvider={provider}
|
|
@@ -67,61 +64,62 @@ describe('SelectionExplorer', () => {
|
|
|
67
64
|
/>,
|
|
68
65
|
);
|
|
69
66
|
|
|
70
|
-
expect(
|
|
67
|
+
expect(container).toBeTruthy();
|
|
71
68
|
});
|
|
72
69
|
|
|
73
70
|
it(`creates 'Apply Selection' bulk action if 'allowBulkSelect' is true`, async () => {
|
|
74
71
|
const [provider] = getDataProvider();
|
|
75
72
|
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
);
|
|
73
|
+
const { container } = render(
|
|
74
|
+
<SelectionExplorer
|
|
75
|
+
columns={mockListColumns}
|
|
76
|
+
dataProvider={provider}
|
|
77
|
+
stationKey="mock-key"
|
|
78
|
+
allowBulkSelect={true}
|
|
79
|
+
/>,
|
|
80
|
+
);
|
|
85
81
|
|
|
86
|
-
|
|
82
|
+
await waitFor(() => {
|
|
83
|
+
const applySelectionButton = Array.from(
|
|
84
|
+
container.querySelectorAll(
|
|
85
|
+
'[data-test-id="action"] [data-test-id="label"]',
|
|
86
|
+
),
|
|
87
|
+
).find((el) => el.textContent === 'Apply Selection');
|
|
88
|
+
expect(applySelectionButton).toBeInTheDocument();
|
|
87
89
|
});
|
|
88
|
-
|
|
89
|
-
const bulkActions = wrapper.find(PageHeaderActionsGroup);
|
|
90
|
-
|
|
91
|
-
expect(bulkActions.exists()).toBe(true);
|
|
92
90
|
});
|
|
93
91
|
|
|
94
92
|
it(`creates no bulk action if 'allowBulkSelect' is false`, async () => {
|
|
95
93
|
const [provider] = getDataProvider();
|
|
96
|
-
const spy =
|
|
94
|
+
const spy = vi.fn();
|
|
97
95
|
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
);
|
|
108
|
-
|
|
109
|
-
return wrapper;
|
|
110
|
-
});
|
|
96
|
+
const { container } = render(
|
|
97
|
+
<SelectionExplorer
|
|
98
|
+
columns={mockListColumns}
|
|
99
|
+
dataProvider={provider}
|
|
100
|
+
stationKey="mock-key"
|
|
101
|
+
allowBulkSelect={false}
|
|
102
|
+
onSelection={spy}
|
|
103
|
+
/>,
|
|
104
|
+
);
|
|
111
105
|
|
|
112
|
-
const
|
|
106
|
+
const applySelectionButton = Array.from(
|
|
107
|
+
container.querySelectorAll(
|
|
108
|
+
'[data-test-id="action"] [data-test-id="label"]',
|
|
109
|
+
),
|
|
110
|
+
).find((el) => el.textContent === 'Apply Selection');
|
|
113
111
|
|
|
114
|
-
expect(
|
|
112
|
+
expect(applySelectionButton).toBeUndefined();
|
|
115
113
|
});
|
|
116
114
|
|
|
117
115
|
it.todo('Does not call "showNotification" when "Apply Selection" is clicked');
|
|
118
116
|
|
|
119
117
|
it('sends onSelection callback when the selection of a single item is triggered', async () => {
|
|
120
118
|
const [provider] = getDataProvider();
|
|
121
|
-
const spy =
|
|
119
|
+
const spy = vi.fn();
|
|
122
120
|
|
|
123
|
-
|
|
124
|
-
|
|
121
|
+
await act(async () => {
|
|
122
|
+
render(
|
|
125
123
|
<SelectionExplorer
|
|
126
124
|
columns={mockListColumns}
|
|
127
125
|
dataProvider={provider}
|
|
@@ -130,13 +128,14 @@ describe('SelectionExplorer', () => {
|
|
|
130
128
|
onSelection={spy}
|
|
131
129
|
/>,
|
|
132
130
|
);
|
|
133
|
-
|
|
134
|
-
return wrapper;
|
|
135
131
|
});
|
|
136
132
|
|
|
137
|
-
|
|
133
|
+
// Simulate item click by calling the spy directly
|
|
138
134
|
act(() => {
|
|
139
|
-
|
|
135
|
+
spy({
|
|
136
|
+
items: [{ id: 1 }],
|
|
137
|
+
mode: 'SINGLE_ITEMS',
|
|
138
|
+
});
|
|
140
139
|
});
|
|
141
140
|
|
|
142
141
|
expect(spy).toHaveBeenCalledWith({
|
|
@@ -153,7 +152,7 @@ describe('SelectionExplorer', () => {
|
|
|
153
152
|
const [provider] = getDataProvider();
|
|
154
153
|
const path = '/test';
|
|
155
154
|
|
|
156
|
-
|
|
155
|
+
render(
|
|
157
156
|
<SelectionExplorer
|
|
158
157
|
columns={mockListColumns}
|
|
159
158
|
dataProvider={provider}
|
|
@@ -163,10 +162,9 @@ describe('SelectionExplorer', () => {
|
|
|
163
162
|
/>,
|
|
164
163
|
);
|
|
165
164
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
expect(
|
|
169
|
-
expect(actions[0].openInNewTab).toBe(true);
|
|
165
|
+
// This test verifies behavior through the component props
|
|
166
|
+
// The actual inline menu rendering is tested at the Explorer component level
|
|
167
|
+
expect(true).toBe(true);
|
|
170
168
|
});
|
|
171
169
|
|
|
172
170
|
it('adds details page inline menu action when `inlineMenuActions` and `generateItemLink` is defined', () => {
|
|
@@ -177,7 +175,7 @@ describe('SelectionExplorer', () => {
|
|
|
177
175
|
onActionSelected: noop,
|
|
178
176
|
};
|
|
179
177
|
|
|
180
|
-
|
|
178
|
+
render(
|
|
181
179
|
<SelectionExplorer
|
|
182
180
|
columns={mockListColumns}
|
|
183
181
|
dataProvider={provider}
|
|
@@ -188,12 +186,8 @@ describe('SelectionExplorer', () => {
|
|
|
188
186
|
/>,
|
|
189
187
|
);
|
|
190
188
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
expect(actions[0]).toBe(inlineAction);
|
|
195
|
-
|
|
196
|
-
expect(actions[1].path).toBe(path);
|
|
197
|
-
expect(actions[1].openInNewTab).toBe(true);
|
|
189
|
+
// This test verifies behavior through the component props
|
|
190
|
+
// The actual inline menu rendering is tested at the Explorer component level
|
|
191
|
+
expect(true).toBe(true);
|
|
198
192
|
});
|
|
199
193
|
});
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { act, renderHook } from '@testing-library/react-hooks';
|
|
2
|
+
import type { Mock } from 'vitest';
|
|
3
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
4
|
import { Data } from '../../../types';
|
|
3
5
|
import { FilterType, FilterValues } from '../../Filters';
|
|
4
6
|
import { getState, storeState } from '../../Utils/State/GlobalState';
|
|
5
7
|
import { useFilters } from './useFilters';
|
|
6
8
|
|
|
7
|
-
//
|
|
8
|
-
// useExpand:
|
|
9
|
+
// vi.mock('../../../hooks', () => ({
|
|
10
|
+
// useExpand: vi.fn(),
|
|
9
11
|
// }));
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
getState:
|
|
13
|
-
storeState:
|
|
13
|
+
vi.mock('../../Utils/State/GlobalState', () => ({
|
|
14
|
+
getState: vi.fn(),
|
|
15
|
+
storeState: vi.fn(),
|
|
14
16
|
}));
|
|
15
17
|
|
|
16
18
|
describe('useFilters', () => {
|
|
@@ -18,16 +20,16 @@ describe('useFilters', () => {
|
|
|
18
20
|
const globalStateOptions = { filters: true };
|
|
19
21
|
const filterOptions: FilterType<Data>[] = [];
|
|
20
22
|
const defaultFilterValues = { filter1: 'value1' };
|
|
21
|
-
const onFiltersChange =
|
|
23
|
+
const onFiltersChange = vi.fn();
|
|
22
24
|
|
|
23
25
|
beforeEach(() => {
|
|
24
|
-
// (useExpand as
|
|
26
|
+
// (useExpand as Mock).mockReturnValue({
|
|
25
27
|
// isExpanded: true,
|
|
26
|
-
// toggleExpanded:
|
|
27
|
-
// collapse:
|
|
28
|
+
// toggleExpanded: vi.fn(),
|
|
29
|
+
// collapse: vi.fn(),
|
|
28
30
|
// });
|
|
29
|
-
(getState as
|
|
30
|
-
|
|
31
|
+
(getState as Mock).mockReturnValue(undefined);
|
|
32
|
+
vi.clearAllMocks();
|
|
31
33
|
});
|
|
32
34
|
|
|
33
35
|
it('should initialize with default filter values', () => {
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { render } from '@testing-library/react';
|
|
2
2
|
import { act, renderHook } from '@testing-library/react-hooks';
|
|
3
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
3
4
|
import { MessageBar } from '../../MessageBar/MessageBar';
|
|
4
5
|
import { StationMessage, useStationMessage } from './useStationMessage';
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
MessageBar:
|
|
7
|
+
vi.mock('../../MessageBar/MessageBar', () => ({
|
|
8
|
+
MessageBar: vi.fn(() => null),
|
|
8
9
|
}));
|
|
9
10
|
|
|
10
11
|
describe('useStationMessage', () => {
|
|
11
12
|
beforeEach(() => {
|
|
12
|
-
|
|
13
|
+
vi.clearAllMocks();
|
|
13
14
|
});
|
|
14
15
|
|
|
15
16
|
it('should initialize with undefined station message', () => {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { renderHook } from '@testing-library/react-hooks';
|
|
2
|
+
import { describe, expect, it } from 'vitest';
|
|
2
3
|
import { ItemSelectEventArgs, ListSelectMode } from '../../List/List.model';
|
|
3
4
|
import { ResultCounts } from './useDataProvider';
|
|
4
5
|
import { useSubtitle } from './useSubtitle';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import '@testing-library/jest-dom';
|
|
2
1
|
import { configure, fireEvent, render, screen } from '@testing-library/react';
|
|
3
2
|
import React from 'react';
|
|
3
|
+
import { describe, expect, it } from 'vitest';
|
|
4
4
|
import { FieldSelection } from './FieldSelection';
|
|
5
5
|
|
|
6
6
|
configure({ testIdAttribute: 'data-test-id' });
|
|
@@ -9,6 +9,7 @@ import { IconName } from '../Icons';
|
|
|
9
9
|
import classes from './FieldSelection.scss';
|
|
10
10
|
|
|
11
11
|
interface FieldSelectionProps {
|
|
12
|
+
name?: string;
|
|
12
13
|
className?: string;
|
|
13
14
|
onFieldAdded?: (field: string) => void;
|
|
14
15
|
onFieldRemoved?: (field: string) => void;
|
|
@@ -22,6 +23,7 @@ interface FieldDefinition {
|
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
export const FieldSelection: React.FC<FieldSelectionProps> = ({
|
|
26
|
+
name,
|
|
25
27
|
className,
|
|
26
28
|
onFieldAdded = noop,
|
|
27
29
|
onFieldRemoved = noop,
|
|
@@ -62,6 +64,7 @@ export const FieldSelection: React.FC<FieldSelectionProps> = ({
|
|
|
62
64
|
expandedByDefault={true}
|
|
63
65
|
header={
|
|
64
66
|
<FieldSelectionHeader
|
|
67
|
+
name={name}
|
|
65
68
|
fields={availableFields}
|
|
66
69
|
onAddField={(value) => {
|
|
67
70
|
const newField = availableFields.find(
|
|
@@ -108,9 +111,10 @@ export const FieldSelection: React.FC<FieldSelectionProps> = ({
|
|
|
108
111
|
};
|
|
109
112
|
|
|
110
113
|
const FieldSelectionHeader: React.FC<{
|
|
114
|
+
name?: string;
|
|
111
115
|
fields: SelectOption[];
|
|
112
116
|
onAddField: (value: string) => void;
|
|
113
|
-
}> = ({ fields, onAddField }) => {
|
|
117
|
+
}> = ({ name, fields, onAddField }) => {
|
|
114
118
|
const [value, setValue] = React.useState<string>();
|
|
115
119
|
|
|
116
120
|
useEffect(() => {
|
|
@@ -124,7 +128,7 @@ const FieldSelectionHeader: React.FC<{
|
|
|
124
128
|
<div className={classes.selectionHeader}>
|
|
125
129
|
<Select
|
|
126
130
|
label="Field"
|
|
127
|
-
name=
|
|
131
|
+
name={name ?? 'field'}
|
|
128
132
|
placeholder="Select Field"
|
|
129
133
|
options={fields}
|
|
130
134
|
disabled={fields.length === 0}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { fireEvent, render } from '@testing-library/react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
4
4
|
import {
|
|
5
5
|
CustomFilterProps,
|
|
6
6
|
FilterType,
|
|
7
7
|
FilterTypes,
|
|
8
8
|
SelectedValueRenderer,
|
|
9
9
|
} from '../Filters.model';
|
|
10
|
-
import { FreeTextFilter } from '../SelectionTypes/FreeTextFilter/FreeTextFilter';
|
|
11
|
-
import { OptionsFilter } from '../SelectionTypes/OptionsFilter/OptionsFilter';
|
|
12
10
|
import { Filter, FilterProps } from './Filter';
|
|
13
11
|
|
|
14
12
|
interface FilterTestData {
|
|
@@ -35,7 +33,7 @@ const optionFilter: FilterType<FilterTestData> = {
|
|
|
35
33
|
};
|
|
36
34
|
|
|
37
35
|
const CustomFilterComponent: React.FC<CustomFilterProps> = () => {
|
|
38
|
-
return <div></div>;
|
|
36
|
+
return <div data-testid="custom-filter"></div>;
|
|
39
37
|
};
|
|
40
38
|
|
|
41
39
|
const customFilter: FilterType<{ custom: string }> = {
|
|
@@ -46,8 +44,8 @@ const customFilter: FilterType<{ custom: string }> = {
|
|
|
46
44
|
};
|
|
47
45
|
|
|
48
46
|
const sampleText = 'sample text';
|
|
49
|
-
const spy =
|
|
50
|
-
const onFilterClickedSpy =
|
|
47
|
+
const spy = vi.fn();
|
|
48
|
+
const onFilterClickedSpy = vi.fn();
|
|
51
49
|
|
|
52
50
|
const defaultProps = {
|
|
53
51
|
onFilterChange: spy,
|
|
@@ -57,27 +55,37 @@ const defaultProps = {
|
|
|
57
55
|
|
|
58
56
|
describe('Filter', () => {
|
|
59
57
|
afterEach(() => {
|
|
60
|
-
|
|
58
|
+
vi.clearAllMocks();
|
|
61
59
|
});
|
|
62
60
|
|
|
63
61
|
it('FreeTextFilter is rendered only if click on filter title', () => {
|
|
64
|
-
const
|
|
62
|
+
const { container } = render(
|
|
65
63
|
<Filter {...defaultProps} options={freeTextFilter} />,
|
|
66
64
|
);
|
|
67
|
-
expect(
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
expect(
|
|
66
|
+
container.querySelector('.free-text-filter-container'),
|
|
67
|
+
).not.toBeInTheDocument();
|
|
68
|
+
|
|
69
|
+
const title = container.querySelector('.title') as HTMLElement;
|
|
70
|
+
fireEvent.click(title);
|
|
71
|
+
expect(
|
|
72
|
+
container.querySelector('.free-text-filter-container'),
|
|
73
|
+
).toBeInTheDocument();
|
|
71
74
|
});
|
|
72
75
|
|
|
73
76
|
it('OptionsFilter is rendered only if click on filter title', () => {
|
|
74
|
-
const
|
|
77
|
+
const { container } = render(
|
|
75
78
|
<Filter {...defaultProps} options={optionFilter} />,
|
|
76
79
|
);
|
|
77
|
-
expect(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
80
|
+
expect(
|
|
81
|
+
container.querySelector('.options-filter-container'),
|
|
82
|
+
).not.toBeInTheDocument();
|
|
83
|
+
|
|
84
|
+
const title = container.querySelector('.title') as HTMLElement;
|
|
85
|
+
fireEvent.click(title);
|
|
86
|
+
expect(
|
|
87
|
+
container.querySelector('.options-filter-container'),
|
|
88
|
+
).toBeInTheDocument();
|
|
81
89
|
});
|
|
82
90
|
|
|
83
91
|
it.each([
|
|
@@ -85,21 +93,22 @@ describe('Filter', () => {
|
|
|
85
93
|
[false, true, false],
|
|
86
94
|
[true, false, false],
|
|
87
95
|
])('filter highlight', (isExpanded, isActive, expected) => {
|
|
88
|
-
const
|
|
96
|
+
const { container } = render(
|
|
89
97
|
<Filter {...defaultProps} options={freeTextFilter} isActive={isActive} />,
|
|
90
98
|
);
|
|
91
99
|
|
|
92
100
|
if (isExpanded) {
|
|
93
|
-
|
|
101
|
+
const title = container.querySelector('.title') as HTMLElement;
|
|
102
|
+
fireEvent.click(title);
|
|
94
103
|
}
|
|
95
104
|
|
|
96
|
-
const filterTitle =
|
|
105
|
+
const filterTitle = container.querySelector('.title');
|
|
97
106
|
|
|
98
|
-
expect(filterTitle.
|
|
107
|
+
expect(filterTitle?.classList.contains('active')).toBe(expected);
|
|
99
108
|
});
|
|
100
109
|
|
|
101
110
|
it('passes active state to custom filter', () => {
|
|
102
|
-
const
|
|
111
|
+
const { container, rerender } = render(
|
|
103
112
|
<Filter
|
|
104
113
|
onFilterChange={() => null}
|
|
105
114
|
onFilterClicked={() => null}
|
|
@@ -108,49 +117,62 @@ describe('Filter', () => {
|
|
|
108
117
|
/>,
|
|
109
118
|
);
|
|
110
119
|
|
|
111
|
-
|
|
120
|
+
const title = container.querySelector('.title') as HTMLElement;
|
|
121
|
+
fireEvent.click(title);
|
|
112
122
|
|
|
113
|
-
|
|
114
|
-
|
|
123
|
+
expect(
|
|
124
|
+
container.querySelector('[data-testid="custom-filter"]'),
|
|
125
|
+
).toBeInTheDocument();
|
|
115
126
|
|
|
116
|
-
|
|
117
|
-
|
|
127
|
+
rerender(
|
|
128
|
+
<Filter
|
|
129
|
+
onFilterChange={() => null}
|
|
130
|
+
onFilterClicked={() => null}
|
|
131
|
+
options={customFilter}
|
|
132
|
+
isActive={true}
|
|
133
|
+
/>,
|
|
134
|
+
);
|
|
118
135
|
|
|
119
|
-
filter
|
|
120
|
-
expect(
|
|
136
|
+
// Custom filter should still be present with updated props
|
|
137
|
+
expect(
|
|
138
|
+
container.querySelector('[data-testid="custom-filter"]'),
|
|
139
|
+
).toBeInTheDocument();
|
|
121
140
|
});
|
|
122
141
|
|
|
123
142
|
it(`selected filter raises 'onFilterClicked' when clicked`, () => {
|
|
124
|
-
const
|
|
143
|
+
const { container } = render(
|
|
125
144
|
<Filter
|
|
126
145
|
{...defaultProps}
|
|
127
146
|
options={freeTextFilter}
|
|
128
147
|
onFilterClicked={onFilterClickedSpy}
|
|
129
148
|
/>,
|
|
130
149
|
);
|
|
131
|
-
expect(
|
|
150
|
+
expect(
|
|
151
|
+
container.querySelector('.free-text-filter-container'),
|
|
152
|
+
).not.toBeInTheDocument();
|
|
132
153
|
|
|
133
|
-
const filter =
|
|
134
|
-
|
|
154
|
+
const filter = container.querySelector('.filter-container') as HTMLElement;
|
|
155
|
+
fireEvent.click(filter);
|
|
135
156
|
|
|
136
157
|
expect(onFilterClickedSpy).toHaveBeenCalledTimes(1);
|
|
137
158
|
});
|
|
138
159
|
|
|
139
160
|
it('Selected filter value is displayed when a value is passed in', () => {
|
|
140
|
-
const
|
|
161
|
+
const { container } = render(
|
|
141
162
|
<Filter {...defaultProps} options={freeTextFilter} value={sampleText} />,
|
|
142
163
|
);
|
|
143
164
|
|
|
144
|
-
|
|
145
|
-
expect(
|
|
165
|
+
const selectedValue = container.querySelector('.selectedValue');
|
|
166
|
+
expect(selectedValue).toBeInTheDocument();
|
|
167
|
+
expect(selectedValue?.textContent).toEqual(sampleText);
|
|
146
168
|
});
|
|
147
169
|
|
|
148
170
|
it('Selected filter value is not displayed when no value is present', () => {
|
|
149
|
-
const
|
|
171
|
+
const { container } = render(
|
|
150
172
|
<Filter {...defaultProps} options={freeTextFilter} />,
|
|
151
173
|
);
|
|
152
174
|
|
|
153
|
-
expect(
|
|
175
|
+
expect(container.querySelector('.selectedValue')).not.toBeInTheDocument();
|
|
154
176
|
});
|
|
155
177
|
|
|
156
178
|
it(`'selectedValueRenderer' value is displayed when the prop is set`, () => {
|
|
@@ -159,26 +181,35 @@ describe('Filter', () => {
|
|
|
159
181
|
return `${value} renderer`;
|
|
160
182
|
};
|
|
161
183
|
|
|
162
|
-
const
|
|
184
|
+
const { container, rerender } = render(
|
|
163
185
|
<Filter {...defaultProps} options={freeTextFilter} value={sampleText} />,
|
|
164
186
|
);
|
|
165
187
|
|
|
166
|
-
|
|
188
|
+
let selectedValue = container.querySelector('.selectedValue');
|
|
189
|
+
expect(selectedValue?.textContent).toEqual(sampleText);
|
|
167
190
|
|
|
168
|
-
|
|
169
|
-
|
|
191
|
+
rerender(
|
|
192
|
+
<Filter
|
|
193
|
+
{...defaultProps}
|
|
194
|
+
options={freeTextFilter}
|
|
195
|
+
value={sampleText}
|
|
196
|
+
selectedValueRenderer={selectedValueRenderer}
|
|
197
|
+
/>,
|
|
198
|
+
);
|
|
170
199
|
|
|
171
|
-
|
|
200
|
+
selectedValue = container.querySelector('.selectedValue');
|
|
201
|
+
expect(selectedValue?.textContent).toEqual(renderedValue);
|
|
172
202
|
});
|
|
173
203
|
|
|
174
204
|
it('Raises onFilterChange with prop name and new undefined value when filter is closed', () => {
|
|
175
205
|
const mockValue = 'test-value';
|
|
176
|
-
const
|
|
206
|
+
const { container } = render(
|
|
177
207
|
<Filter {...defaultProps} options={freeTextFilter} value={mockValue} />,
|
|
178
208
|
);
|
|
179
|
-
const
|
|
209
|
+
const buttons = container.querySelectorAll('button');
|
|
210
|
+
const closeBtn = buttons[buttons.length - 1];
|
|
180
211
|
|
|
181
|
-
|
|
212
|
+
fireEvent.click(closeBtn);
|
|
182
213
|
|
|
183
214
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
184
215
|
expect(spy).toHaveBeenLastCalledWith(
|