@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,41 +1,43 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { fireEvent, render } from '@testing-library/react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { BrowserRouter as Router } from 'react-router-dom';
|
|
4
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
4
5
|
import { ButtonContext } from '../Button.model';
|
|
5
6
|
import { TextButton } from './TextButton';
|
|
6
7
|
|
|
7
8
|
describe('TextButton', () => {
|
|
8
9
|
describe('TextContextButton', () => {
|
|
9
10
|
it('renders the component without crashing', () => {
|
|
10
|
-
const
|
|
11
|
+
const { container } = render(<TextButton />);
|
|
11
12
|
|
|
12
|
-
expect(
|
|
13
|
+
expect(container.querySelector('button')).toBeInTheDocument();
|
|
13
14
|
});
|
|
14
15
|
|
|
15
16
|
it('raises the onButtonClicked event', () => {
|
|
16
|
-
const spy =
|
|
17
|
-
const
|
|
17
|
+
const spy = vi.fn();
|
|
18
|
+
const { container } = render(<TextButton onButtonClicked={spy} />);
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
const button = container.querySelector('button')!;
|
|
21
|
+
fireEvent.click(button);
|
|
20
22
|
|
|
21
23
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
22
24
|
});
|
|
23
25
|
|
|
24
26
|
it('creates a class based off of the className prop', () => {
|
|
25
27
|
const mockClassName = 'test-class';
|
|
26
|
-
const
|
|
28
|
+
const { container } = render(<TextButton className={mockClassName} />);
|
|
27
29
|
|
|
28
|
-
const button =
|
|
30
|
+
const button = container.querySelector('button')!;
|
|
29
31
|
|
|
30
|
-
expect(button.
|
|
32
|
+
expect(button.classList.contains(mockClassName)).toBe(true);
|
|
31
33
|
});
|
|
32
34
|
|
|
33
35
|
it(`button 'type' must be 'button' by default`, () => {
|
|
34
|
-
const
|
|
36
|
+
const { container } = render(<TextButton />);
|
|
35
37
|
|
|
36
|
-
const
|
|
38
|
+
const button = container.querySelector('button')!;
|
|
37
39
|
|
|
38
|
-
expect(
|
|
40
|
+
expect(button.type).toBe('button');
|
|
39
41
|
});
|
|
40
42
|
|
|
41
43
|
it('accepts type html attribute and width/height styles', () => {
|
|
@@ -43,204 +45,197 @@ describe('TextButton', () => {
|
|
|
43
45
|
const mockHeight = '75px';
|
|
44
46
|
const mockWidth = '80px';
|
|
45
47
|
|
|
46
|
-
const
|
|
48
|
+
const { container, rerender } = render(<TextButton />);
|
|
47
49
|
|
|
48
|
-
let
|
|
49
|
-
let buttonStyles = wrapper
|
|
50
|
-
.find('button')
|
|
51
|
-
.prop('style') as React.CSSProperties;
|
|
50
|
+
let button = container.querySelector('button')!;
|
|
52
51
|
|
|
53
|
-
expect(
|
|
54
|
-
expect(
|
|
55
|
-
expect(
|
|
52
|
+
expect(button.type).toBe('button');
|
|
53
|
+
expect(button.style.height).toBe('');
|
|
54
|
+
expect(button.style.width).toBe('');
|
|
56
55
|
|
|
57
|
-
|
|
58
|
-
type
|
|
59
|
-
|
|
60
|
-
width: mockWidth,
|
|
61
|
-
});
|
|
62
|
-
wrapper.update();
|
|
56
|
+
rerender(
|
|
57
|
+
<TextButton type={mockType} height={mockHeight} width={mockWidth} />,
|
|
58
|
+
);
|
|
63
59
|
|
|
64
|
-
|
|
65
|
-
buttonStyles = wrapper
|
|
66
|
-
.find('button')
|
|
67
|
-
.prop('style') as React.CSSProperties;
|
|
60
|
+
button = container.querySelector('button')!;
|
|
68
61
|
|
|
69
|
-
expect(
|
|
70
|
-
expect(
|
|
71
|
-
expect(
|
|
62
|
+
expect(button.type).toBe(mockType);
|
|
63
|
+
expect(button.style.height).toBe(mockHeight);
|
|
64
|
+
expect(button.style.width).toBe(mockWidth);
|
|
72
65
|
});
|
|
73
66
|
|
|
74
67
|
it('allows the button to be enabled by default', () => {
|
|
75
|
-
const spy =
|
|
76
|
-
const
|
|
68
|
+
const spy = vi.fn();
|
|
69
|
+
const { container } = render(<TextButton onButtonClicked={spy} />);
|
|
77
70
|
|
|
78
|
-
const button =
|
|
71
|
+
const button = container.querySelector('button')!;
|
|
79
72
|
|
|
80
|
-
|
|
73
|
+
fireEvent.click(button);
|
|
81
74
|
|
|
82
|
-
expect(button.
|
|
75
|
+
expect(button.disabled).toBe(false);
|
|
83
76
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
84
77
|
});
|
|
85
78
|
|
|
86
79
|
it('allows button to be disabled', () => {
|
|
87
|
-
const spy =
|
|
88
|
-
const
|
|
80
|
+
const spy = vi.fn();
|
|
81
|
+
const { container } = render(
|
|
89
82
|
<TextButton disabled={true} onButtonClicked={spy} />,
|
|
90
83
|
);
|
|
91
84
|
|
|
92
|
-
const button =
|
|
85
|
+
const button = container.querySelector('button')!;
|
|
93
86
|
|
|
94
|
-
|
|
87
|
+
fireEvent.click(button);
|
|
95
88
|
|
|
96
|
-
expect(button.
|
|
89
|
+
expect(button.disabled).toBe(true);
|
|
97
90
|
expect(spy).not.toHaveBeenCalled();
|
|
98
91
|
});
|
|
99
92
|
|
|
100
93
|
it('default should have a context class', () => {
|
|
101
|
-
const
|
|
94
|
+
const { container } = render(<TextButton />);
|
|
102
95
|
|
|
103
|
-
const button =
|
|
96
|
+
const button = container.querySelector('button')!;
|
|
104
97
|
|
|
105
|
-
expect(button.
|
|
98
|
+
expect(button.classList.contains('context')).toBe(true);
|
|
106
99
|
});
|
|
107
100
|
|
|
108
101
|
it('context button type should have a context class', () => {
|
|
109
|
-
const
|
|
102
|
+
const { container } = render(
|
|
110
103
|
<TextButton buttonContext={ButtonContext.Context} />,
|
|
111
104
|
);
|
|
112
105
|
|
|
113
|
-
const button =
|
|
106
|
+
const button = container.querySelector('button')!;
|
|
114
107
|
|
|
115
|
-
expect(button.
|
|
108
|
+
expect(button.classList.contains('context')).toBe(true);
|
|
116
109
|
});
|
|
117
110
|
|
|
118
111
|
it('active button type should have a active class', () => {
|
|
119
|
-
const
|
|
112
|
+
const { container } = render(
|
|
120
113
|
<TextButton buttonContext={ButtonContext.Active} />,
|
|
121
114
|
);
|
|
122
115
|
|
|
123
|
-
const button =
|
|
116
|
+
const button = container.querySelector('button')!;
|
|
124
117
|
|
|
125
|
-
expect(button.
|
|
118
|
+
expect(button.classList.contains('active')).toBe(true);
|
|
126
119
|
});
|
|
127
120
|
|
|
128
121
|
it(`renders value from 'text' prop`, () => {
|
|
129
122
|
const mockText = 'mock-text';
|
|
130
123
|
|
|
131
|
-
const
|
|
124
|
+
const { container } = render(<TextButton text={mockText} />);
|
|
132
125
|
|
|
133
|
-
const button =
|
|
126
|
+
const button = container.querySelector('button')!;
|
|
134
127
|
|
|
135
|
-
expect(button.
|
|
128
|
+
expect(button.textContent).toBe(mockText);
|
|
136
129
|
});
|
|
137
130
|
|
|
138
131
|
it(`defaults to an empty string is 'text' prop is not set`, () => {
|
|
139
|
-
const
|
|
132
|
+
const { container } = render(<TextButton />);
|
|
140
133
|
|
|
141
|
-
const button =
|
|
134
|
+
const button = container.querySelector('button')!;
|
|
142
135
|
|
|
143
|
-
expect(button.
|
|
136
|
+
expect(button.textContent).toBe('');
|
|
144
137
|
});
|
|
145
138
|
});
|
|
146
139
|
|
|
147
140
|
describe('TextNavigationButton', () => {
|
|
148
141
|
it('renders the component without crashing', () => {
|
|
149
|
-
const
|
|
150
|
-
|
|
142
|
+
const { container } = render(
|
|
143
|
+
<Router>
|
|
144
|
+
<TextButton path={'/'} />
|
|
145
|
+
</Router>,
|
|
146
|
+
);
|
|
147
|
+
expect(container.querySelector('a')).toBeInTheDocument();
|
|
151
148
|
});
|
|
152
149
|
|
|
153
150
|
it('renders as a navigation button when path prop is defined', () => {
|
|
154
151
|
const mockPath = '/home';
|
|
155
|
-
const
|
|
152
|
+
const { container } = render(
|
|
156
153
|
<Router>
|
|
157
154
|
<TextButton path={mockPath} />
|
|
158
155
|
</Router>,
|
|
159
156
|
);
|
|
160
|
-
const link =
|
|
161
|
-
expect(link).
|
|
162
|
-
expect(link.
|
|
157
|
+
const link = container.querySelector('a')!;
|
|
158
|
+
expect(link).toBeInTheDocument();
|
|
159
|
+
expect(link.getAttribute('href')).toBe(mockPath);
|
|
163
160
|
});
|
|
164
161
|
|
|
165
162
|
it('does not open link in new tab by default', () => {
|
|
166
163
|
const mockPath = '/home';
|
|
167
|
-
const
|
|
164
|
+
const { container } = render(
|
|
168
165
|
<Router>
|
|
169
166
|
<TextButton path={mockPath} />
|
|
170
167
|
</Router>,
|
|
171
168
|
);
|
|
172
|
-
const link =
|
|
173
|
-
expect(link.
|
|
169
|
+
const link = container.querySelector('a')!;
|
|
170
|
+
expect(link.getAttribute('target')).toBeNull();
|
|
174
171
|
});
|
|
175
172
|
|
|
176
173
|
it('opens link in new tab when openInNewTab prop set to true', () => {
|
|
177
174
|
const mockPath = '/home';
|
|
178
|
-
const
|
|
175
|
+
const { container } = render(
|
|
179
176
|
<Router>
|
|
180
177
|
<TextButton path={mockPath} openInNewTab={true} />
|
|
181
178
|
</Router>,
|
|
182
179
|
);
|
|
183
|
-
const link =
|
|
184
|
-
expect(link.
|
|
180
|
+
const link = container.querySelector('a')!;
|
|
181
|
+
expect(link.getAttribute('target')).toBe('_blank');
|
|
185
182
|
});
|
|
186
183
|
|
|
187
184
|
it('creates a class based on the className prop', () => {
|
|
188
185
|
const mockClassName = 'test-class';
|
|
189
|
-
const
|
|
186
|
+
const { container } = render(
|
|
190
187
|
<Router>
|
|
191
|
-
<TextButton path={'/test'} className={mockClassName}
|
|
188
|
+
<TextButton path={'/test'} className={mockClassName} />
|
|
192
189
|
</Router>,
|
|
193
190
|
);
|
|
194
|
-
const link =
|
|
195
|
-
expect(link.
|
|
191
|
+
const link = container.querySelector('a')!;
|
|
192
|
+
expect(link.classList.contains(mockClassName)).toBe(true);
|
|
196
193
|
});
|
|
197
194
|
|
|
198
195
|
it('accepts width and height styles', () => {
|
|
199
196
|
const mockHeight = '75px';
|
|
200
197
|
const mockWidth = '80px';
|
|
201
|
-
const
|
|
198
|
+
const { container } = render(
|
|
202
199
|
<Router>
|
|
203
200
|
<TextButton path={'/test'} width={mockWidth} height={mockHeight} />
|
|
204
201
|
</Router>,
|
|
205
202
|
);
|
|
206
|
-
const
|
|
207
|
-
.find('Link')
|
|
208
|
-
.prop('style') as React.CSSProperties;
|
|
203
|
+
const link = container.querySelector('a')!;
|
|
209
204
|
|
|
210
|
-
expect(
|
|
211
|
-
expect(
|
|
205
|
+
expect(link.style.height).toBe(mockHeight);
|
|
206
|
+
expect(link.style.width).toBe(mockWidth);
|
|
212
207
|
});
|
|
213
208
|
|
|
214
209
|
it('allows the link to be enabled by default', () => {
|
|
215
|
-
const
|
|
210
|
+
const { container } = render(
|
|
216
211
|
<Router>
|
|
217
212
|
<TextButton path={'/test'} />
|
|
218
213
|
</Router>,
|
|
219
214
|
);
|
|
220
215
|
|
|
221
|
-
const link =
|
|
216
|
+
const link = container.querySelector('a')!;
|
|
222
217
|
|
|
223
|
-
expect(link.
|
|
218
|
+
expect(link.classList.contains('disabled')).toBe(false);
|
|
224
219
|
});
|
|
225
220
|
|
|
226
221
|
it('allows the button to be disabled', () => {
|
|
227
|
-
const
|
|
222
|
+
const { container } = render(
|
|
228
223
|
<Router>
|
|
229
224
|
<TextButton path={'/test'} disabled={true} />
|
|
230
225
|
</Router>,
|
|
231
226
|
);
|
|
232
|
-
const link =
|
|
233
|
-
expect(link.
|
|
227
|
+
const link = container.querySelector('a')!;
|
|
228
|
+
expect(link.classList.contains('disabled')).toBe(true);
|
|
234
229
|
});
|
|
235
230
|
|
|
236
231
|
it('adds `navigation` class for link buttons', () => {
|
|
237
|
-
const
|
|
232
|
+
const { container } = render(
|
|
238
233
|
<Router>
|
|
239
234
|
<TextButton path={'/test'} />
|
|
240
235
|
</Router>,
|
|
241
236
|
);
|
|
242
|
-
const link =
|
|
243
|
-
expect(link.
|
|
237
|
+
const link = container.querySelector('a')!;
|
|
238
|
+
expect(link.classList.contains('navigation')).toBe(true);
|
|
244
239
|
});
|
|
245
240
|
});
|
|
246
241
|
});
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import { mount, shallow } from 'enzyme';
|
|
1
|
+
import { fireEvent, render, screen } from '@testing-library/react';
|
|
3
2
|
import React, { useState } from 'react';
|
|
4
|
-
import {
|
|
5
|
-
import { TextButton } from '../Buttons';
|
|
6
|
-
import { Message } from '../Message';
|
|
3
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
7
4
|
import { ConfirmDialog } from './ConfirmDialog';
|
|
8
5
|
import { ConfirmationConfig } from './ConfirmDialog.models';
|
|
9
6
|
|
|
@@ -14,8 +11,11 @@ const TestWrapper: React.FC<{
|
|
|
14
11
|
|
|
15
12
|
return (
|
|
16
13
|
<div>
|
|
17
|
-
<button id="test-mount" onClick={() => setState(true)}></button>
|
|
18
|
-
<button
|
|
14
|
+
<button data-test-id="test-mount" onClick={() => setState(true)}></button>
|
|
15
|
+
<button
|
|
16
|
+
data-test-id="test-unmount"
|
|
17
|
+
onClick={() => setState(false)}
|
|
18
|
+
></button>
|
|
19
19
|
{state && <ConfirmDialog onConfirmOpen={onConfirmOpen} />}
|
|
20
20
|
</div>
|
|
21
21
|
);
|
|
@@ -23,77 +23,82 @@ const TestWrapper: React.FC<{
|
|
|
23
23
|
|
|
24
24
|
describe('ConfirmDialog', () => {
|
|
25
25
|
it('renders the component without crashing', () => {
|
|
26
|
-
const
|
|
26
|
+
const { container } = render(<ConfirmDialog />);
|
|
27
27
|
|
|
28
|
-
expect(
|
|
28
|
+
expect(container).toBeTruthy();
|
|
29
29
|
});
|
|
30
30
|
|
|
31
31
|
it('allows an optional class to be passed in', () => {
|
|
32
32
|
const mockClass = 'test-class';
|
|
33
|
-
const
|
|
33
|
+
const { container } = render(<ConfirmDialog className={mockClass} />);
|
|
34
34
|
|
|
35
|
-
const
|
|
35
|
+
const dialogContainer = container.querySelector(
|
|
36
|
+
'.confirm-dialog-container',
|
|
37
|
+
);
|
|
36
38
|
|
|
37
|
-
expect(
|
|
39
|
+
expect(dialogContainer?.classList.contains(mockClass)).toBe(true);
|
|
38
40
|
});
|
|
39
41
|
|
|
40
42
|
it(`'accepts placement prop`, () => {
|
|
41
|
-
const
|
|
43
|
+
const { container } = render(<ConfirmDialog placement="top" />);
|
|
42
44
|
|
|
43
|
-
expect(
|
|
45
|
+
expect(container).toBeTruthy();
|
|
44
46
|
});
|
|
45
47
|
|
|
46
48
|
it('disables container click event propagation', () => {
|
|
47
|
-
const
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
49
|
+
const parentClickSpy = vi.fn();
|
|
50
|
+
const { container } = render(
|
|
51
|
+
<div onClick={parentClickSpy}>
|
|
52
|
+
<ConfirmDialog />
|
|
53
|
+
</div>,
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
const dialogContainer = container.querySelector(
|
|
57
|
+
'.confirm-dialog-container',
|
|
58
|
+
)!;
|
|
59
|
+
fireEvent.click(dialogContainer);
|
|
60
|
+
|
|
61
|
+
expect(parentClickSpy).not.toHaveBeenCalled();
|
|
56
62
|
});
|
|
57
63
|
|
|
58
64
|
describe('title and body', () => {
|
|
59
65
|
it(`renders a default title and body and allows both props to be passed in`, () => {
|
|
60
66
|
const mockTitle = 'test-title';
|
|
61
67
|
const mockBody = 'test-body';
|
|
62
|
-
const
|
|
68
|
+
const { container, rerender } = render(<ConfirmDialog />);
|
|
63
69
|
|
|
64
|
-
let message =
|
|
65
|
-
let body =
|
|
70
|
+
let message = screen.getByTestId('message-title');
|
|
71
|
+
let body = container.querySelector('.confirmBodyText');
|
|
66
72
|
|
|
67
|
-
expect(message.
|
|
68
|
-
expect(body
|
|
73
|
+
expect(message.textContent).toBe('Confirmation needed');
|
|
74
|
+
expect(body?.textContent).toBe(
|
|
69
75
|
'The action is irreversible. Please confirm to proceed.',
|
|
70
76
|
);
|
|
71
77
|
|
|
72
|
-
|
|
73
|
-
wrapper.update();
|
|
78
|
+
rerender(<ConfirmDialog title={mockTitle}>{mockBody}</ConfirmDialog>);
|
|
74
79
|
|
|
75
|
-
message =
|
|
76
|
-
body =
|
|
80
|
+
message = screen.getByTestId('message-title');
|
|
81
|
+
body = container.querySelector('.confirmBodyText');
|
|
77
82
|
|
|
78
|
-
expect(message.
|
|
79
|
-
expect(body
|
|
83
|
+
expect(message.textContent).toBe(mockTitle);
|
|
84
|
+
expect(body?.textContent).toBe(mockBody);
|
|
80
85
|
});
|
|
81
86
|
|
|
82
87
|
it(`accepts an element`, () => {
|
|
83
88
|
const mockBody: JSX.Element = <span>test-body</span>;
|
|
84
|
-
const
|
|
89
|
+
const { container } = render(<ConfirmDialog>{mockBody}</ConfirmDialog>);
|
|
85
90
|
|
|
86
|
-
const body =
|
|
91
|
+
const body = container.querySelector('.confirmBodyText');
|
|
87
92
|
|
|
88
|
-
expect(body
|
|
93
|
+
expect(body?.querySelector('span')?.textContent).toBe('test-body');
|
|
89
94
|
});
|
|
90
95
|
|
|
91
96
|
it(`disables 'isBodyPositionAbsolute' in the Message component`, () => {
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
const message = wrapper.find(Message);
|
|
97
|
+
const { container } = render(<ConfirmDialog />);
|
|
95
98
|
|
|
96
|
-
|
|
99
|
+
// Check that the body element doesn't have the absolute class
|
|
100
|
+
const body = container.querySelector('.body');
|
|
101
|
+
expect(body?.classList.contains('absolute')).toBe(false);
|
|
97
102
|
});
|
|
98
103
|
});
|
|
99
104
|
|
|
@@ -101,47 +106,39 @@ describe('ConfirmDialog', () => {
|
|
|
101
106
|
it(`renders 'Cancel' and 'Confirm' button by default allows both button texts to be passed in`, () => {
|
|
102
107
|
const mockCancelButton = 'test-cancel-button-text';
|
|
103
108
|
const mockConfirmButton = 'test-confirm-button-text';
|
|
104
|
-
const
|
|
109
|
+
const { rerender } = render(<ConfirmDialog />);
|
|
105
110
|
|
|
106
|
-
let cancelButton =
|
|
107
|
-
let confirmButton =
|
|
111
|
+
let cancelButton = screen.getByTestId('cancel');
|
|
112
|
+
let confirmButton = screen.getByTestId('confirm');
|
|
108
113
|
|
|
109
|
-
expect(cancelButton.
|
|
110
|
-
expect(confirmButton.
|
|
114
|
+
expect(cancelButton.textContent).toBe('Cancel');
|
|
115
|
+
expect(confirmButton.textContent).toBe('Confirm');
|
|
111
116
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
+
rerender(
|
|
118
|
+
<ConfirmDialog
|
|
119
|
+
cancelButtonText={mockCancelButton}
|
|
120
|
+
confirmButtonText={mockConfirmButton}
|
|
121
|
+
/>,
|
|
122
|
+
);
|
|
117
123
|
|
|
118
|
-
cancelButton =
|
|
119
|
-
confirmButton =
|
|
124
|
+
cancelButton = screen.getByTestId('cancel');
|
|
125
|
+
confirmButton = screen.getByTestId('confirm');
|
|
120
126
|
|
|
121
|
-
expect(cancelButton.
|
|
122
|
-
expect(confirmButton.
|
|
127
|
+
expect(cancelButton.textContent).toBe(mockCancelButton);
|
|
128
|
+
expect(confirmButton.textContent).toBe(mockConfirmButton);
|
|
123
129
|
});
|
|
124
130
|
|
|
125
131
|
it(`raises both 'onCancel' and 'onConfirm'`, () => {
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const confirmSpy = jest.fn();
|
|
131
|
-
|
|
132
|
-
const wrapper = shallow(
|
|
133
|
-
<ConfirmDialog onCancel={cancelSpy} onConfirm={confirmSpy} />,
|
|
134
|
-
);
|
|
132
|
+
const cancelSpy = vi.fn();
|
|
133
|
+
const confirmSpy = vi.fn();
|
|
134
|
+
|
|
135
|
+
render(<ConfirmDialog onCancel={cancelSpy} onConfirm={confirmSpy} />);
|
|
135
136
|
|
|
136
|
-
const cancelButton =
|
|
137
|
-
const confirmButton =
|
|
137
|
+
const cancelButton = screen.getByTestId('cancel');
|
|
138
|
+
const confirmButton = screen.getByTestId('confirm');
|
|
138
139
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
cancelButton.prop('onButtonClicked')?.(mockEvent);
|
|
142
|
-
// @ts-ignore
|
|
143
|
-
confirmButton.prop('onButtonClicked')?.(mockEvent);
|
|
144
|
-
});
|
|
140
|
+
fireEvent.click(cancelButton);
|
|
141
|
+
fireEvent.click(confirmButton);
|
|
145
142
|
|
|
146
143
|
expect(cancelSpy).toHaveBeenCalledTimes(1);
|
|
147
144
|
expect(confirmSpy).toHaveBeenCalledTimes(1);
|
|
@@ -149,18 +146,17 @@ describe('ConfirmDialog', () => {
|
|
|
149
146
|
});
|
|
150
147
|
|
|
151
148
|
it(`raises 'onConfirmOpen' if set`, () => {
|
|
152
|
-
const spy =
|
|
153
|
-
|
|
149
|
+
const spy = vi.fn();
|
|
150
|
+
render(<TestWrapper onConfirmOpen={spy} />);
|
|
154
151
|
|
|
155
|
-
const mountButton =
|
|
156
|
-
const unmountButton =
|
|
152
|
+
const mountButton = screen.getByTestId('test-mount');
|
|
153
|
+
const unmountButton = screen.getByTestId('test-unmount');
|
|
157
154
|
|
|
158
|
-
|
|
159
|
-
wrapper.update();
|
|
155
|
+
fireEvent.click(mountButton);
|
|
160
156
|
|
|
161
157
|
expect(spy).toHaveBeenCalledWith(true);
|
|
162
158
|
|
|
163
|
-
|
|
159
|
+
fireEvent.click(unmountButton);
|
|
164
160
|
|
|
165
161
|
expect(spy).toHaveBeenCalledWith(false);
|
|
166
162
|
expect(spy).toHaveBeenCalledTimes(2);
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { render } from '@testing-library/react';
|
|
2
2
|
import { DateTime, Settings } from 'luxon';
|
|
3
3
|
import React from 'react';
|
|
4
|
+
import { describe, expect, it } from 'vitest';
|
|
4
5
|
import { DatePicker } from './DatePicker';
|
|
5
6
|
|
|
6
7
|
describe('DatePicker', () => {
|
|
7
8
|
Settings.defaultLocale = navigator.language;
|
|
8
9
|
|
|
9
10
|
it('renders the component without crashing', () => {
|
|
10
|
-
const
|
|
11
|
+
const { container } = render(<DatePicker value={DateTime.local()} />);
|
|
11
12
|
|
|
12
|
-
expect(
|
|
13
|
+
expect(container).toBeTruthy();
|
|
13
14
|
});
|
|
14
15
|
|
|
15
16
|
it('accepts the value from prop', () => {
|
|
16
17
|
const now = DateTime.local();
|
|
17
|
-
const
|
|
18
|
+
const { container } = render(<DatePicker value={now} />);
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
);
|
|
20
|
+
// Calendar component from react-calendar should render
|
|
21
|
+
const calendar = container.querySelector('.react-calendar');
|
|
22
|
+
expect(calendar).toBeInTheDocument();
|
|
22
23
|
});
|
|
23
24
|
});
|