@griddo/ax 12.3.0 → 12.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/{jest/componentsMock.js → tests/componentsMock.cjs} +4 -1
- package/config/tests/reactEasyCropMock.js +15 -0
- package/config/tests/reactTimezoneMock.js +14 -0
- package/config/tests/setup.ts +41 -0
- package/package.json +15 -29
- package/public/img/icons/markdown.svg +6 -0
- package/src/__tests__/components/ActionMenu/ActionMenu.test.tsx +12 -12
- package/src/__tests__/components/Breadcrumb/Breadcrumb.test.tsx +2 -2
- package/src/__tests__/components/Browser/Browser.test.tsx +17 -25
- package/src/__tests__/components/BulkSelectionOptions/BulkSelectionOptions.test.tsx +3 -3
- package/src/__tests__/components/CategoryCell/CategoryCell.test.tsx +3 -2
- package/src/__tests__/components/ConfigPanel/ConfigPanel.test.tsx +4 -4
- package/src/__tests__/components/ConfigPanel/Form/ConnectedField/ConnectedField.test.tsx +2 -2
- package/src/__tests__/components/ConfigPanel/Form/ConnectedField/NavConnectedField/NavConnectedField.test.tsx +2 -2
- package/src/__tests__/components/ConfigPanel/Form/ConnectedField/PageConnectedField/Field/Field.test.tsx +3 -3
- package/src/__tests__/components/ConfigPanel/Form/ConnectedField/PageConnectedField/PageConnectedField.test.tsx +17 -14
- package/src/__tests__/components/ConfigPanel/Form/ConnectedField/PageConnectedField/TemplateManager/TemplateManager.test.tsx +4 -4
- package/src/__tests__/components/ConfigPanel/Form/Form.test.tsx +7 -6
- package/src/__tests__/components/ConfigPanel/GlobalPageForm/GlobalPageForm.test.tsx +11 -11
- package/src/__tests__/components/ConfigPanel/Header/Header.test.tsx +11 -10
- package/src/__tests__/components/ConfigPanel/NavigationForm/Field/Field.test.tsx +2 -2
- package/src/__tests__/components/ConfigPanel/NavigationForm/NavigationForm.test.tsx +2 -2
- package/src/__tests__/components/ConfigPanel/PreviewForm/PreviewForm.test.tsx +4 -3
- package/src/__tests__/components/ContextMenu/ContextMenu.test.tsx +24 -24
- package/src/__tests__/components/DragAndDrop/DragAndDrop.test.tsx +6 -5
- package/src/__tests__/components/ElementsTooltip/ElementsTooltip.test.tsx +1 -1
- package/src/__tests__/components/EmptyState/EmptyState.test.tsx +2 -2
- package/src/__tests__/components/ErrorCenter/ErrorCenter.test.tsx +11 -11
- package/src/__tests__/components/FieldContainer/FieldContainer.test.tsx +4 -4
- package/src/__tests__/components/Fields/AnalyticsField/AnalyticsField.test.tsx +3 -3
- package/src/__tests__/components/Fields/AnalyticsField/PageAnalytics/PageAnalytics.test.tsx +4 -4
- package/src/__tests__/components/Fields/AnalyticsField/StructuredDataAnalytics/StructuredDataAnalytics.test.tsx +3 -3
- package/src/__tests__/components/Fields/ArrayFieldGroup/ArrayFieldGroup.test.tsx +6 -5
- package/src/__tests__/components/Fields/AsyncCheckGroup/AsyncCheckGroup.test.tsx +19 -18
- package/src/__tests__/components/Fields/AsyncSelect/AsyncSelect.test.tsx +4 -3
- package/src/__tests__/components/Fields/Button/Button.test.tsx +4 -3
- package/src/__tests__/components/Fields/CheckField/CheckField.test.tsx +5 -5
- package/src/__tests__/components/Fields/CheckGroup/CheckGroup.test.tsx +10 -10
- package/src/__tests__/components/Fields/ColorPicker/ColorPicker.test.tsx +7 -6
- package/src/__tests__/components/Fields/ComponentArray/ComponentArray.test.tsx +3 -3
- package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/MixableComponentArray.test.tsx +45 -45
- package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/PasteModuleButton/PasteModuleButton.test.tsx +7 -6
- package/src/__tests__/components/Fields/ComponentArray/SameComponentArray/SameComponentArray.test.tsx +7 -7
- package/src/__tests__/components/Fields/ComponentContainer/ComponentContainer.test.tsx +55 -55
- package/src/__tests__/components/Fields/ConditionalField/ConditionalField.test.tsx +1 -1
- package/src/__tests__/components/Fields/DateField/DateField.test.tsx +6 -5
- package/src/__tests__/components/Fields/FieldGroup/FieldGroup.test.tsx +2 -2
- package/src/__tests__/components/Fields/FileField/FileField.test.tsx +4 -4
- package/src/__tests__/components/Fields/HeadingField/HeadingField.test.tsx +2 -2
- package/src/__tests__/components/Fields/HiddenField/HiddenField.test.tsx +3 -3
- package/src/__tests__/components/Fields/ImageField/ImageField.test.tsx +8 -7
- package/src/__tests__/components/Fields/IntegrationsField/IntegrationsField.test.tsx +9 -8
- package/src/__tests__/components/Fields/MultiCheckSelect/MultiCheckSelect.test.tsx +1 -1
- package/src/__tests__/components/Fields/MultiCheckSelectGroup/MultiCheckSelectGroup.test.tsx +7 -6
- package/src/__tests__/components/Fields/NoteField/NoteField.test.tsx +1 -1
- package/src/__tests__/components/Fields/NumberField/NumberField.test.tsx +8 -8
- package/src/__tests__/components/Fields/RadioField/RadioField.test.tsx +2 -2
- package/src/__tests__/components/Fields/ReferenceField/ReferenceField.test.tsx +17 -16
- package/src/__tests__/components/Fields/RichText/RichText.test.tsx +1 -1
- package/src/__tests__/components/Fields/Select/Select.test.tsx +1 -1
- package/src/__tests__/components/Fields/SliderField/SliderField.test.tsx +5 -4
- package/src/__tests__/components/Fields/SummaryButton/SummaryButton.test.tsx +2 -2
- package/src/__tests__/components/Fields/TagField/TagField.test.tsx +9 -9
- package/src/__tests__/components/Fields/TextArea/TextArea.test.tsx +13 -9
- package/src/__tests__/components/Fields/TextField/TextField.test.tsx +8 -8
- package/src/__tests__/components/Fields/TimeField/HourInput/HourInput.test.tsx +7 -6
- package/src/__tests__/components/Fields/TimeField/TimeField.test.tsx +4 -3
- package/src/__tests__/components/Fields/ToggleField/ToggleField.test.tsx +2 -2
- package/src/__tests__/components/Fields/Tooltip/Tooltip.test.tsx +6 -6
- package/src/__tests__/components/Fields/TranslateButton/TranslateButton.test.tsx +13 -13
- package/src/__tests__/components/Fields/UniqueCheck/UniqueCheck.test.tsx +1 -1
- package/src/__tests__/components/Fields/UrlField/UrlField.test.tsx +20 -19
- package/src/__tests__/components/Fields/VisualUniqueSelection/ImageSelection/ImageSelection.test.tsx +3 -2
- package/src/__tests__/components/Fields/VisualUniqueSelection/ScrollableSelection/ScrollableSelection.test.tsx +4 -3
- package/src/__tests__/components/Fields/VisualUniqueSelection/VisualUniqueSelection.test.tsx +1 -1
- package/src/__tests__/components/Fields/Wysiwyg/Wysiwyg.atoms.test.tsx +11 -11
- package/src/__tests__/components/Fields/Wysiwyg/Wysiwyg.helpers.test.tsx +13 -14
- package/src/__tests__/components/Fields/Wysiwyg/Wysiwyg.test.tsx +28 -28
- package/src/__tests__/components/FieldsBehavior/FieldsBehavior.test.tsx +15 -14
- package/src/__tests__/components/FloatingMenu/FloatingMenu.test.tsx +36 -35
- package/src/__tests__/components/FloatingPanel/FloatingPanel.test.tsx +10 -10
- package/src/__tests__/components/GuardModal/GuardModal.test.tsx +1 -1
- package/src/__tests__/components/HeadingsPreviewModal/ErrorsBanner/ErrorItem/ErrorItem.test.tsx +11 -11
- package/src/__tests__/components/HeadingsPreviewModal/ErrorsBanner/ErrorsBanner.test.tsx +4 -4
- package/src/__tests__/components/HeadingsPreviewModal/HeadingsPreviewModal.test.tsx +15 -14
- package/src/__tests__/components/IconAction/IconAction.test.tsx +2 -2
- package/src/__tests__/components/ImageDragAndDrop/CropStep/CropStep.test.tsx +3 -3
- package/src/__tests__/components/ImageDragAndDrop/ImageDragAndDrop.test.tsx +7 -7
- package/src/__tests__/components/KeywordsPreviewModal/KeywordItem/KeywordItem.test.tsx +5 -5
- package/src/__tests__/components/KeywordsPreviewModal/KeywordsPreviewModal.test.tsx +14 -13
- package/src/__tests__/components/KeywordsPreviewModal/atoms.test.tsx +13 -13
- package/src/__tests__/components/LanguageMenu/LanguageMenu.test.tsx +6 -6
- package/src/__tests__/components/Lists/Lists.test.tsx +1 -1
- package/src/__tests__/components/Loader/Loader.test.tsx +1 -1
- package/src/__tests__/components/Login/Login.test.tsx +32 -32
- package/src/__tests__/components/Login/RecoveryModal/RecoveryModal.test.tsx +10 -9
- package/src/__tests__/components/MainWrapper/AppBar/AppBar.test.tsx +21 -21
- package/src/__tests__/components/MenuItem/MenuItem.test.tsx +5 -5
- package/src/__tests__/components/Modal/Modal.test.tsx +20 -20
- package/src/__tests__/components/Nav/Nav.test.tsx +2 -2
- package/src/__tests__/components/Notification/Notification.test.tsx +2 -2
- package/src/__tests__/components/Pagination/Pagination.test.tsx +13 -14
- package/src/__tests__/components/ProfileImage/ProfileImage.test.tsx +6 -7
- package/src/__tests__/components/ReorderArrows/ReorderArrows.test.tsx +4 -3
- package/src/__tests__/components/ResizePanel/ResizePanel.test.tsx +10 -11
- package/src/__tests__/components/RestrictionsModal/CurrentAccessList/CurrentAccessList.test.tsx +7 -6
- package/src/__tests__/components/RestrictionsModal/OptionsStep/OptionsStep.test.tsx +12 -11
- package/src/__tests__/components/RestrictionsModal/RestrictionsModal.test.tsx +11 -10
- package/src/__tests__/components/RestrictionsModal/RolesList/RolesList.test.tsx +8 -8
- package/src/__tests__/components/RestrictionsModal/UsersList/UsersList.test.tsx +16 -15
- package/src/__tests__/components/SearchField/SearchField.test.tsx +13 -13
- package/src/__tests__/components/SideModal/SideModal.test.tsx +25 -23
- package/src/__tests__/components/SubNav/SubNav.test.tsx +1 -1
- package/src/__tests__/components/TableFilters/CategoryFilter/CategoryFilter.test.tsx +9 -8
- package/src/__tests__/components/TableFilters/CustomizeFilters/CustomizeFilters.test.tsx +5 -5
- package/src/__tests__/components/TableFilters/DateFilter/DateFilter.test.tsx +8 -8
- package/src/__tests__/components/TableFilters/LiveFilter/LiveFilter.test.tsx +11 -10
- package/src/__tests__/components/TableFilters/NameFilter/NameFilter.test.tsx +10 -10
- package/src/__tests__/components/TableFilters/RoleFilter/RoleFilter.test.tsx +5 -5
- package/src/__tests__/components/TableFilters/SiteFilter/SiteFilter.test.tsx +10 -9
- package/src/__tests__/components/TableFilters/StatusFilter/StatusFilter.test.tsx +9 -9
- package/src/__tests__/components/TableFilters/TranslationsFilter/TranslationsFilter.test.tsx +8 -8
- package/src/__tests__/components/TableFilters/TypeFilter/TypeFilter.test.tsx +5 -5
- package/src/__tests__/components/TableFilters/UsersFilter/UsersFilter.test.tsx +8 -8
- package/src/__tests__/components/TableList/TableList.test.tsx +4 -4
- package/src/__tests__/components/Tabs/Tabs.test.tsx +8 -9
- package/src/__tests__/components/Tag/Tag.test.tsx +3 -3
- package/src/__tests__/components/Toast/Toast.test.tsx +6 -6
- package/src/__tests__/hooks/modals.test.tsx +4 -4
- package/src/__tests__/hooks/users.test.tsx +6 -5
- package/src/__tests__/modules/FileDrive/MarkdownFormat.test.tsx +58 -0
- package/src/__tests__/modules/FramePreview/FramePreview.test.tsx +40 -39
- package/src/__tests__/modules/FramePreview/HeadingsOverlay/HeadingsOverlay.test.tsx +11 -11
- package/src/__tests__/modules/Settings/Integrations/Integrations.test.tsx +2 -2
- package/src/__tests__/modules/Settings/Social/Social.test.tsx +4 -3
- package/src/__tests__/modules/Sites/Sites.test.tsx +5 -4
- package/src/__tests__/modules/Sites/SitesList/ListView/BulkHeader/BulkHeader.test.tsx +2 -2
- package/src/__tests__/modules/Sites/SitesList/SitesList.test.tsx +7 -6
- package/src/__tests__/modules/Sites/SitesList/WelcomeModal/DataStep/DataStep.test.tsx +6 -6
- package/src/__tests__/modules/Sites/SitesList/WelcomeModal/FinalStep/FinalStep.test.tsx +4 -4
- package/src/__tests__/modules/Sites/SitesList/WelcomeModal/ImageStep/CropView/CropView.test.tsx +3 -3
- package/src/__tests__/modules/Sites/SitesList/WelcomeModal/ImageStep/ImageStep.test.tsx +9 -5
- package/src/__tests__/modules/Sites/SitesList/WelcomeModal/ImageStep/UploadView/UploadView.test.tsx +8 -6
- package/src/__tests__/modules/Sites/SitesList/WelcomeModal/TimezoneStep/TimezoneStep.test.tsx +7 -7
- package/src/__tests__/modules/Sites/SitesList/WelcomeModal/WelcomeModal.test.tsx +1 -1
- package/src/__tests__/modules/Sites/SitesList/WelcomeModal/WelcomeStep/WelcomeStep.test.tsx +3 -3
- package/src/__tests__/modules/Users/Roles/BulkHeader/BulkHeader.test.tsx +3 -3
- package/src/__tests__/modules/Users/Roles/Roles.test.tsx +11 -10
- package/src/__tests__/modules/Users/UserCreate/SiteItem/RolesModal/RoleItem/RoleItem.test.tsx +3 -3
- package/src/__tests__/modules/Users/UserCreate/SiteItem/RolesModal/RolesModal.test.tsx +3 -3
- package/src/__tests__/modules/Users/UserCreate/SiteItem/SiteItem.test.tsx +3 -3
- package/src/__tests__/modules/Users/UserCreate/UserCreate.test.tsx +6 -5
- package/src/__tests__/modules/Users/UserList/UserItem/UserItem.test.tsx +9 -9
- package/src/__tests__/modules/Users/UserList/UserList.test.tsx +4 -4
- package/src/components/Flag/components/index.ts +30 -0
- package/src/components/Flag/index.tsx +3 -5
- package/src/components/Icon/components/index.ts +229 -0
- package/src/components/Icon/index.tsx +3 -7
- package/src/constants/index.ts +1 -1
- package/src/helpers/files.tsx +2 -0
- package/src/modules/FileDrive/FileFilters/Type/index.tsx +1 -0
- package/tsconfig.json +1 -1
- package/config/jest/cssTransform.js +0 -14
- package/config/jest/fileMock.js +0 -1
- package/config/jest/fileTransform.js +0 -40
- package/config/jest/reactEasyCropMock.js +0 -15
- package/config/jest/reactTimezoneMock.js +0 -13
- package/config/jest/setup.js +0 -31
- package/config/jest/styleMock.js +0 -1
- /package/config/{jest/test-utils.js → tests/test-utils.jsx} +0 -0
- /package/src/components/Flag/components/{Ca_ES.js → Ca_ES.jsx} +0 -0
- /package/src/components/Flag/components/{De_DE.js → De_DE.jsx} +0 -0
- /package/src/components/Flag/components/{En_GB.js → En_GB.jsx} +0 -0
- /package/src/components/Flag/components/{Es_ES.js → Es_ES.jsx} +0 -0
- /package/src/components/Flag/components/{Eu_ES.js → Eu_ES.jsx} +0 -0
- /package/src/components/Flag/components/{Fr_FR.js → Fr_FR.jsx} +0 -0
- /package/src/components/Flag/components/{It_IT.js → It_IT.jsx} +0 -0
- /package/src/components/Flag/components/{Pt_PT.js → Pt_PT.jsx} +0 -0
- /package/src/components/Icon/components/{Active.js → Active.jsx} +0 -0
- /package/src/components/Icon/components/{Add.js → Add.jsx} +0 -0
- /package/src/components/Icon/components/{AddCircle.js → AddCircle.jsx} +0 -0
- /package/src/components/Icon/components/{Alert.js → Alert.jsx} +0 -0
- /package/src/components/Icon/components/{AlignLeft.js → AlignLeft.jsx} +0 -0
- /package/src/components/Icon/components/{Back.js → Back.jsx} +0 -0
- /package/src/components/Icon/components/{BulletList.js → BulletList.jsx} +0 -0
- /package/src/components/Icon/components/{Button.js → Button.jsx} +0 -0
- /package/src/components/Icon/components/{Calendar.js → Calendar.jsx} +0 -0
- /package/src/components/Icon/components/{CancelEvent.js → CancelEvent.jsx} +0 -0
- /package/src/components/Icon/components/{Category.js → Category.jsx} +0 -0
- /package/src/components/Icon/components/{Change.js → Change.jsx} +0 -0
- /package/src/components/Icon/components/{Close.js → Close.jsx} +0 -0
- /package/src/components/Icon/components/{ClosePanel.js → ClosePanel.jsx} +0 -0
- /package/src/components/Icon/components/{CodeBody.js → CodeBody.jsx} +0 -0
- /package/src/components/Icon/components/{CodeHead.js → CodeHead.jsx} +0 -0
- /package/src/components/Icon/components/{CodeHeadBody.js → CodeHeadBody.jsx} +0 -0
- /package/src/components/Icon/components/{Collapsed.js → Collapsed.jsx} +0 -0
- /package/src/components/Icon/components/{ColorPicker.js → ColorPicker.jsx} +0 -0
- /package/src/components/Icon/components/{Compose.js → Compose.jsx} +0 -0
- /package/src/components/Icon/components/{Copy.js → Copy.jsx} +0 -0
- /package/src/components/Icon/components/{Copy2.js → Copy2.jsx} +0 -0
- /package/src/components/Icon/components/{Data.js → Data.jsx} +0 -0
- /package/src/components/Icon/components/{DataAdd.js → DataAdd.jsx} +0 -0
- /package/src/components/Icon/components/{Deactivate.js → Deactivate.jsx} +0 -0
- /package/src/components/Icon/components/{Delete.js → Delete.jsx} +0 -0
- /package/src/components/Icon/components/{Desktop.js → Desktop.jsx} +0 -0
- /package/src/components/Icon/components/{Disabled.js → Disabled.jsx} +0 -0
- /package/src/components/Icon/components/{Done.js → Done.jsx} +0 -0
- /package/src/components/Icon/components/{DownArrow.js → DownArrow.jsx} +0 -0
- /package/src/components/Icon/components/{Download.js → Download.jsx} +0 -0
- /package/src/components/Icon/components/{Drag.js → Drag.jsx} +0 -0
- /package/src/components/Icon/components/{Duplicate.js → Duplicate.jsx} +0 -0
- /package/src/components/Icon/components/{Edit.js → Edit.jsx} +0 -0
- /package/src/components/Icon/components/{Empty.js → Empty.jsx} +0 -0
- /package/src/components/Icon/components/{EmptyCheck.js → EmptyCheck.jsx} +0 -0
- /package/src/components/Icon/components/{Extend.js → Extend.jsx} +0 -0
- /package/src/components/Icon/components/{File.js → File.jsx} +0 -0
- /package/src/components/Icon/components/{Filter.js → Filter.jsx} +0 -0
- /package/src/components/Icon/components/{Form.js → Form.jsx} +0 -0
- /package/src/components/Icon/components/{FullArrowDown.js → FullArrowDown.jsx} +0 -0
- /package/src/components/Icon/components/{FullArrowLeft.js → FullArrowLeft.jsx} +0 -0
- /package/src/components/Icon/components/{FullArrowRight.js → FullArrowRight.jsx} +0 -0
- /package/src/components/Icon/components/{FullArrowUp.js → FullArrowUp.jsx} +0 -0
- /package/src/components/Icon/components/{Grid.js → Grid.jsx} +0 -0
- /package/src/components/Icon/components/{Grid2.js → Grid2.jsx} +0 -0
- /package/src/components/Icon/components/{GriddoLogo.js → GriddoLogo.jsx} +0 -0
- /package/src/components/Icon/components/{HeroCard.js → HeroCard.jsx} +0 -0
- /package/src/components/Icon/components/{Hide.js → Hide.jsx} +0 -0
- /package/src/components/Icon/components/{History.js → History.jsx} +0 -0
- /package/src/components/Icon/components/{Home.js → Home.jsx} +0 -0
- /package/src/components/Icon/components/{Ia.js → Ia.jsx} +0 -0
- /package/src/components/Icon/components/{Image.js → Image.jsx} +0 -0
- /package/src/components/Icon/components/{Info.js → Info.jsx} +0 -0
- /package/src/components/Icon/components/{Laptop.js → Laptop.jsx} +0 -0
- /package/src/components/Icon/components/{LeftArrow.js → LeftArrow.jsx} +0 -0
- /package/src/components/Icon/components/{Link.js → Link.jsx} +0 -0
- /package/src/components/Icon/components/{Lock.js → Lock.jsx} +0 -0
- /package/src/components/Icon/components/{Log.js → Log.jsx} +0 -0
- /package/src/components/Icon/components/{Map.js → Map.jsx} +0 -0
- /package/src/components/Icon/components/{Menu.js → Menu.jsx} +0 -0
- /package/src/components/Icon/components/{Microsoft.js → Microsoft.jsx} +0 -0
- /package/src/components/Icon/components/{Modified.js → Modified.jsx} +0 -0
- /package/src/components/Icon/components/{Modules.js → Modules.jsx} +0 -0
- /package/src/components/Icon/components/{More.js → More.jsx} +0 -0
- /package/src/components/Icon/components/{NewFolder.js → NewFolder.jsx} +0 -0
- /package/src/components/Icon/components/{Offline.js → Offline.jsx} +0 -0
- /package/src/components/Icon/components/{OfflinePending.js → OfflinePending.jsx} +0 -0
- /package/src/components/Icon/components/{OpenOutside.js → OpenOutside.jsx} +0 -0
- /package/src/components/Icon/components/{OpenPanel.js → OpenPanel.jsx} +0 -0
- /package/src/components/Icon/components/{OutOfSection.js → OutOfSection.jsx} +0 -0
- /package/src/components/Icon/components/{Page.js → Page.jsx} +0 -0
- /package/src/components/Icon/components/{Party.js → Party.jsx} +0 -0
- /package/src/components/Icon/components/{Paste.js → Paste.jsx} +0 -0
- /package/src/components/Icon/components/{Phone.js → Phone.jsx} +0 -0
- /package/src/components/Icon/components/{PhotoLibrary.js → PhotoLibrary.jsx} +0 -0
- /package/src/components/Icon/components/{Power.js → Power.jsx} +0 -0
- /package/src/components/Icon/components/{Preview.js → Preview.jsx} +0 -0
- /package/src/components/Icon/components/{Project.js → Project.jsx} +0 -0
- /package/src/components/Icon/components/{QrCode.js → QrCode.jsx} +0 -0
- /package/src/components/Icon/components/{Question.js → Question.jsx} +0 -0
- /package/src/components/Icon/components/{Refresh.js → Refresh.jsx} +0 -0
- /package/src/components/Icon/components/{Republish.js → Republish.jsx} +0 -0
- /package/src/components/Icon/components/{RightArrow.js → RightArrow.jsx} +0 -0
- /package/src/components/Icon/components/{Scheduled.js → Scheduled.jsx} +0 -0
- /package/src/components/Icon/components/{Search.js → Search.jsx} +0 -0
- /package/src/components/Icon/components/{SendEmail.js → SendEmail.jsx} +0 -0
- /package/src/components/Icon/components/{Settings.js → Settings.jsx} +0 -0
- /package/src/components/Icon/components/{Share.js → Share.jsx} +0 -0
- /package/src/components/Icon/components/{Subsection.js → Subsection.jsx} +0 -0
- /package/src/components/Icon/components/{Success.js → Success.jsx} +0 -0
- /package/src/components/Icon/components/{SuccessSolid.js → SuccessSolid.jsx} +0 -0
- /package/src/components/Icon/components/{Sync.js → Sync.jsx} +0 -0
- /package/src/components/Icon/components/{Tablet.js → Tablet.jsx} +0 -0
- /package/src/components/Icon/components/{Translate.js → Translate.jsx} +0 -0
- /package/src/components/Icon/components/{Unlink.js → Unlink.jsx} +0 -0
- /package/src/components/Icon/components/{UpArrow.js → UpArrow.jsx} +0 -0
- /package/src/components/Icon/components/{UploadFile.js → UploadFile.jsx} +0 -0
- /package/src/components/Icon/components/{UploadPending.js → UploadPending.jsx} +0 -0
- /package/src/components/Icon/components/{UrlLink.js → UrlLink.jsx} +0 -0
- /package/src/components/Icon/components/{User.js → User.jsx} +0 -0
- /package/src/components/Icon/components/{Users.js → Users.jsx} +0 -0
- /package/src/components/Icon/components/{Video.js → Video.jsx} +0 -0
- /package/src/components/Icon/components/{View.js → View.jsx} +0 -0
- /package/src/components/Icon/components/{Warning.js → Warning.jsx} +0 -0
- /package/src/components/Icon/components/{Web.js → Web.jsx} +0 -0
- /package/src/components/Icon/components/{Working.js → Working.jsx} +0 -0
- /package/src/components/Loader/components/{Circle.js → Circle.jsx} +0 -0
- /package/src/components/Loader/components/{Dots.js → Dots.jsx} +0 -0
- /package/src/components/Loader/components/{SmallCircle.js → SmallCircle.jsx} +0 -0
|
@@ -327,7 +327,7 @@ describe("useContextMenu hook", () => {
|
|
|
327
327
|
|
|
328
328
|
it("should prevent default when handleContextMenu is called", () => {
|
|
329
329
|
const { result } = renderHook(() => useContextMenu());
|
|
330
|
-
const preventDefaultSpy =
|
|
330
|
+
const preventDefaultSpy = vi.fn();
|
|
331
331
|
|
|
332
332
|
const mouseEvent = {
|
|
333
333
|
preventDefault: preventDefaultSpy,
|
|
@@ -347,7 +347,7 @@ describe("useContextMenu hook", () => {
|
|
|
347
347
|
|
|
348
348
|
act(() => {
|
|
349
349
|
result.current.handleContextMenu({
|
|
350
|
-
preventDefault:
|
|
350
|
+
preventDefault: vi.fn(),
|
|
351
351
|
clientX: 100,
|
|
352
352
|
clientY: 200,
|
|
353
353
|
} as any);
|
|
@@ -367,7 +367,7 @@ describe("useContextMenu hook", () => {
|
|
|
367
367
|
|
|
368
368
|
act(() => {
|
|
369
369
|
result.current.handleContextMenu({
|
|
370
|
-
preventDefault:
|
|
370
|
+
preventDefault: vi.fn(),
|
|
371
371
|
clientX: 100,
|
|
372
372
|
clientY: 200,
|
|
373
373
|
} as any);
|
|
@@ -377,7 +377,7 @@ describe("useContextMenu hook", () => {
|
|
|
377
377
|
|
|
378
378
|
act(() => {
|
|
379
379
|
result.current.handleContextMenu({
|
|
380
|
-
preventDefault:
|
|
380
|
+
preventDefault: vi.fn(),
|
|
381
381
|
clientX: 300,
|
|
382
382
|
clientY: 400,
|
|
383
383
|
} as any);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { MockedFunction } from "vitest";
|
|
1
2
|
import "@testing-library/jest-dom";
|
|
2
3
|
|
|
3
4
|
import * as reactRedux from "react-redux";
|
|
@@ -7,11 +8,11 @@ import type { PageAccessGrantsSummary } from "@ax/types";
|
|
|
7
8
|
|
|
8
9
|
import { renderHook } from "@testing-library/react";
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
const actual =
|
|
11
|
+
vi.mock("react-redux", async () => {
|
|
12
|
+
const actual = await vi.importActual("react-redux");
|
|
12
13
|
return {
|
|
13
14
|
...actual,
|
|
14
|
-
useSelector:
|
|
15
|
+
useSelector: vi.fn(),
|
|
15
16
|
};
|
|
16
17
|
});
|
|
17
18
|
|
|
@@ -40,14 +41,14 @@ describe("usePermissionsForPage hook", () => {
|
|
|
40
41
|
isSuperAdmin: true,
|
|
41
42
|
};
|
|
42
43
|
|
|
43
|
-
const mockUseSelector = useSelector as
|
|
44
|
+
const mockUseSelector = useSelector as MockedFunction<typeof useSelector>;
|
|
44
45
|
|
|
45
46
|
const setupMockState = (state: any) => {
|
|
46
47
|
mockUseSelector.mockImplementation((selector: any) => selector(state));
|
|
47
48
|
};
|
|
48
49
|
|
|
49
50
|
beforeEach(() => {
|
|
50
|
-
|
|
51
|
+
vi.clearAllMocks();
|
|
51
52
|
});
|
|
52
53
|
|
|
53
54
|
describe("1. User authentication", () => {
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import "@testing-library/jest-dom";
|
|
2
|
+
|
|
3
|
+
import { getFileIcon, parseTheme } from "@ax/helpers";
|
|
4
|
+
import globalTheme from "@ax/themes/theme.json";
|
|
5
|
+
|
|
6
|
+
import userEvent from "@testing-library/user-event";
|
|
7
|
+
import type { Middleware } from "redux";
|
|
8
|
+
import configureStore from "redux-mock-store";
|
|
9
|
+
import thunk from "redux-thunk";
|
|
10
|
+
import { ThemeProvider } from "styled-components";
|
|
11
|
+
|
|
12
|
+
import { cleanup, render, screen } from "./../../../../config/tests/test-utils";
|
|
13
|
+
import FileDragAndDrop from "./../../../modules/FileDrive/FileDragAndDrop";
|
|
14
|
+
import Type from "./../../../modules/FileDrive/FileFilters/Type";
|
|
15
|
+
|
|
16
|
+
const middlewares: Middleware[] = [thunk];
|
|
17
|
+
const mockStore = configureStore(middlewares);
|
|
18
|
+
|
|
19
|
+
const store = mockStore({
|
|
20
|
+
fileDrive: { isUploading: false, isSuccess: false, isError: false, errorMsg: "" },
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
const renderDragAndDrop = () =>
|
|
24
|
+
render(
|
|
25
|
+
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
26
|
+
<FileDragAndDrop siteID="global" handleUpload={vi.fn()} />
|
|
27
|
+
</ThemeProvider>,
|
|
28
|
+
{ store },
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
afterEach(cleanup);
|
|
32
|
+
|
|
33
|
+
describe("[UC-AX-manage-filedrive-files] Markdown entre los formatos del File Drive", () => {
|
|
34
|
+
it("AC7 · la zona de subida admite markdown y lo anuncia entre los formatos válidos", () => {
|
|
35
|
+
const { container } = renderDragAndDrop();
|
|
36
|
+
|
|
37
|
+
const fileInput = container.querySelector('input[type="file"]');
|
|
38
|
+
|
|
39
|
+
expect(fileInput?.getAttribute("accept")).toContain(".md");
|
|
40
|
+
expect(container.textContent).toContain("txt, md");
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it("AC8 · un markdown se representa con su icono propio y se puede filtrar por tipo", async () => {
|
|
44
|
+
expect(getFileIcon("md")).toBe("markdown.svg");
|
|
45
|
+
expect(getFileIcon("md")).not.toBe(getFileIcon("unknown-format"));
|
|
46
|
+
|
|
47
|
+
render(
|
|
48
|
+
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
49
|
+
<Type filterItems={vi.fn()} />
|
|
50
|
+
</ThemeProvider>,
|
|
51
|
+
{ store },
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
await userEvent.click(screen.getByTestId("type-wrapper"));
|
|
55
|
+
|
|
56
|
+
expect(screen.getByText("MD")).toBeInTheDocument();
|
|
57
|
+
});
|
|
58
|
+
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Mock } from "vitest";
|
|
1
2
|
import { parseTheme } from "@ax/helpers";
|
|
2
3
|
import * as hooks from "@ax/hooks";
|
|
3
4
|
import FramePreview from "@ax/modules/FramePreview";
|
|
@@ -9,24 +10,24 @@ import configureStore from "redux-mock-store";
|
|
|
9
10
|
import thunk from "redux-thunk";
|
|
10
11
|
import { ThemeProvider } from "styled-components";
|
|
11
12
|
|
|
12
|
-
import { act, cleanup, render, screen } from "../../../../config/
|
|
13
|
+
import { act, cleanup, render, screen } from "../../../../config/tests/test-utils";
|
|
13
14
|
|
|
14
15
|
// Capture BrowserContent props so individual callback functions can be tested
|
|
15
16
|
const capturedBrowserContentProps: { current: Record<string, any> | null } = { current: null };
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
...
|
|
19
|
-
useURLSearchParam:
|
|
20
|
-
useOnMessageReceivedFromOutside:
|
|
21
|
-
useToast:
|
|
18
|
+
vi.mock("@ax/hooks", async () => ({
|
|
19
|
+
...(await vi.importActual("@ax/hooks")),
|
|
20
|
+
useURLSearchParam: vi.fn().mockReturnValue(null),
|
|
21
|
+
useOnMessageReceivedFromOutside: vi.fn(),
|
|
22
|
+
useToast: vi.fn().mockReturnValue({
|
|
22
23
|
isVisible: false,
|
|
23
|
-
toggleToast:
|
|
24
|
-
setIsVisible:
|
|
24
|
+
toggleToast: vi.fn(),
|
|
25
|
+
setIsVisible: vi.fn(),
|
|
25
26
|
state: "",
|
|
26
27
|
}),
|
|
27
28
|
}));
|
|
28
29
|
|
|
29
|
-
|
|
30
|
+
vi.mock("@ax/components", async () => {
|
|
30
31
|
const React = require("react");
|
|
31
32
|
return {
|
|
32
33
|
BrowserContent: (props: any) => {
|
|
@@ -38,20 +39,20 @@ jest.mock("@ax/components", () => {
|
|
|
38
39
|
};
|
|
39
40
|
});
|
|
40
41
|
|
|
41
|
-
|
|
42
|
-
observeAndAddIdsToHeadings:
|
|
43
|
-
observeAndHighlightKeywords:
|
|
42
|
+
vi.mock("@ax/modules/FramePreview/utils", async () => ({
|
|
43
|
+
observeAndAddIdsToHeadings: vi.fn().mockReturnValue(vi.fn()),
|
|
44
|
+
observeAndHighlightKeywords: vi.fn().mockReturnValue(vi.fn()),
|
|
44
45
|
}));
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
findByEditorID:
|
|
47
|
+
vi.mock("@ax/forms", async () => ({
|
|
48
|
+
findByEditorID: vi.fn().mockReturnValue({
|
|
48
49
|
element: { component: "Page", editorID: 5 },
|
|
49
50
|
parent: { parentEditorID: 0 },
|
|
50
51
|
}),
|
|
51
52
|
}));
|
|
52
53
|
|
|
53
54
|
// Mock action creators as plain functions to avoid thunk side-effects
|
|
54
|
-
|
|
55
|
+
vi.mock("@ax/containers/PageEditor", async () => ({
|
|
55
56
|
pageEditorActions: {
|
|
56
57
|
setSelectedContent: (id: number) => ({ type: "SET_SELECTED_CONTENT", payload: id }),
|
|
57
58
|
setEditorContent: (content: any) => ({ type: "SET_EDITOR_CONTENT", payload: content }),
|
|
@@ -61,7 +62,7 @@ jest.mock("@ax/containers/PageEditor", () => ({
|
|
|
61
62
|
},
|
|
62
63
|
}));
|
|
63
64
|
|
|
64
|
-
|
|
65
|
+
vi.mock("@ax/containers/Forms", async () => ({
|
|
65
66
|
formsActions: {
|
|
66
67
|
setSelectedContent: (id: number) => ({ type: "SET_FORM_SELECTED_CONTENT", payload: id }),
|
|
67
68
|
setFormContent: (content: any) => ({ type: "SET_FORM_CONTENT", payload: content }),
|
|
@@ -99,7 +100,7 @@ const renderFramePreview = async (store = buildStore()) => {
|
|
|
99
100
|
afterEach(() => {
|
|
100
101
|
cleanup();
|
|
101
102
|
capturedBrowserContentProps.current = null;
|
|
102
|
-
|
|
103
|
+
vi.restoreAllMocks();
|
|
103
104
|
});
|
|
104
105
|
|
|
105
106
|
describe("FramePreview rendering", () => {
|
|
@@ -122,7 +123,7 @@ describe("FramePreview rendering", () => {
|
|
|
122
123
|
});
|
|
123
124
|
|
|
124
125
|
it("should render HeadingsOverlay when type is 'headings'", async () => {
|
|
125
|
-
(hooks.useURLSearchParam as
|
|
126
|
+
(hooks.useURLSearchParam as Mock).mockImplementation((param: string) => {
|
|
126
127
|
if (param === "type") return "headings";
|
|
127
128
|
return null;
|
|
128
129
|
});
|
|
@@ -135,7 +136,7 @@ describe("FramePreview rendering", () => {
|
|
|
135
136
|
|
|
136
137
|
describe("FramePreview effects", () => {
|
|
137
138
|
it("should post iframe-mousemove message to parent on window mousemove", async () => {
|
|
138
|
-
const postMessageSpy =
|
|
139
|
+
const postMessageSpy = vi.spyOn(window, "postMessage");
|
|
139
140
|
|
|
140
141
|
await renderFramePreview();
|
|
141
142
|
|
|
@@ -150,7 +151,7 @@ describe("FramePreview effects", () => {
|
|
|
150
151
|
});
|
|
151
152
|
|
|
152
153
|
it("should set selectedID to '0' in localStorage when disabled param is true", async () => {
|
|
153
|
-
(hooks.useURLSearchParam as
|
|
154
|
+
(hooks.useURLSearchParam as Mock).mockImplementation((param: string) => {
|
|
154
155
|
if (param === "disabled") return "true";
|
|
155
156
|
return null;
|
|
156
157
|
});
|
|
@@ -161,7 +162,7 @@ describe("FramePreview effects", () => {
|
|
|
161
162
|
});
|
|
162
163
|
|
|
163
164
|
it("should call observeAndAddIdsToHeadings when type is 'headings'", async () => {
|
|
164
|
-
(hooks.useURLSearchParam as
|
|
165
|
+
(hooks.useURLSearchParam as Mock).mockImplementation((param: string) => {
|
|
165
166
|
if (param === "type") return "headings";
|
|
166
167
|
return null;
|
|
167
168
|
});
|
|
@@ -172,7 +173,7 @@ describe("FramePreview effects", () => {
|
|
|
172
173
|
});
|
|
173
174
|
|
|
174
175
|
it("should call observeAndHighlightKeywords when type is 'keywords'", async () => {
|
|
175
|
-
(hooks.useURLSearchParam as
|
|
176
|
+
(hooks.useURLSearchParam as Mock).mockImplementation((param: string) => {
|
|
176
177
|
if (param === "type") return "keywords";
|
|
177
178
|
return null;
|
|
178
179
|
});
|
|
@@ -185,7 +186,7 @@ describe("FramePreview effects", () => {
|
|
|
185
186
|
|
|
186
187
|
describe("FramePreview module actions", () => {
|
|
187
188
|
it("should post module-delete and dispatch deleteModule when deleteModuleAction is called", async () => {
|
|
188
|
-
const postMessageSpy =
|
|
189
|
+
const postMessageSpy = vi.spyOn(window, "postMessage");
|
|
189
190
|
|
|
190
191
|
await renderFramePreview();
|
|
191
192
|
|
|
@@ -195,7 +196,7 @@ describe("FramePreview module actions", () => {
|
|
|
195
196
|
});
|
|
196
197
|
|
|
197
198
|
it("should post module-duplicate when duplicateModuleAction is called", async () => {
|
|
198
|
-
const postMessageSpy =
|
|
199
|
+
const postMessageSpy = vi.spyOn(window, "postMessage");
|
|
199
200
|
|
|
200
201
|
await renderFramePreview();
|
|
201
202
|
|
|
@@ -205,14 +206,14 @@ describe("FramePreview module actions", () => {
|
|
|
205
206
|
});
|
|
206
207
|
|
|
207
208
|
it("should post module-copy and call toggleToast when copyModuleAction is called", async () => {
|
|
208
|
-
const toggleToastMock =
|
|
209
|
-
(hooks.useToast as
|
|
209
|
+
const toggleToastMock = vi.fn();
|
|
210
|
+
(hooks.useToast as Mock).mockReturnValue({
|
|
210
211
|
isVisible: false,
|
|
211
212
|
toggleToast: toggleToastMock,
|
|
212
|
-
setIsVisible:
|
|
213
|
+
setIsVisible: vi.fn(),
|
|
213
214
|
state: "",
|
|
214
215
|
});
|
|
215
|
-
const postMessageSpy =
|
|
216
|
+
const postMessageSpy = vi.spyOn(window, "postMessage");
|
|
216
217
|
|
|
217
218
|
await renderFramePreview();
|
|
218
219
|
|
|
@@ -225,19 +226,19 @@ describe("FramePreview module actions", () => {
|
|
|
225
226
|
|
|
226
227
|
describe("FramePreview editor ID selection", () => {
|
|
227
228
|
it("should post module-click when selectEditorID is called", async () => {
|
|
228
|
-
const postMessageSpy =
|
|
229
|
+
const postMessageSpy = vi.spyOn(window, "postMessage");
|
|
229
230
|
|
|
230
231
|
await renderFramePreview();
|
|
231
232
|
|
|
232
233
|
const { selectEditorID } = capturedBrowserContentProps.current!;
|
|
233
|
-
const mockEvent = { stopPropagation:
|
|
234
|
+
const mockEvent = { stopPropagation: vi.fn() };
|
|
234
235
|
selectEditorID({ editorID: 1, component: "Page", type: "content", parentEditorID: 0 }, null, mockEvent);
|
|
235
236
|
|
|
236
237
|
expect(postMessageSpy).toHaveBeenCalledWith({ type: "module-click", message: 1 }, "*");
|
|
237
238
|
});
|
|
238
239
|
|
|
239
240
|
it("should post module-scroll when selectHoverEditorID is called and parent meets condition", async () => {
|
|
240
|
-
const postMessageSpy =
|
|
241
|
+
const postMessageSpy = vi.spyOn(window, "postMessage");
|
|
241
242
|
|
|
242
243
|
await renderFramePreview();
|
|
243
244
|
|
|
@@ -248,16 +249,16 @@ describe("FramePreview editor ID selection", () => {
|
|
|
248
249
|
});
|
|
249
250
|
|
|
250
251
|
it("should not post module-click when preview mode is active", async () => {
|
|
251
|
-
(hooks.useURLSearchParam as
|
|
252
|
+
(hooks.useURLSearchParam as Mock).mockImplementation((param: string) => {
|
|
252
253
|
if (param === "preview") return "true";
|
|
253
254
|
return null;
|
|
254
255
|
});
|
|
255
|
-
const postMessageSpy =
|
|
256
|
+
const postMessageSpy = vi.spyOn(window, "postMessage");
|
|
256
257
|
|
|
257
258
|
await renderFramePreview();
|
|
258
259
|
|
|
259
260
|
const { selectEditorID } = capturedBrowserContentProps.current!;
|
|
260
|
-
const mockEvent = { stopPropagation:
|
|
261
|
+
const mockEvent = { stopPropagation: vi.fn() };
|
|
261
262
|
selectEditorID({ editorID: 1, component: "Page", type: "content", parentEditorID: 0 }, null, mockEvent);
|
|
262
263
|
|
|
263
264
|
expect(postMessageSpy).not.toHaveBeenCalledWith(expect.objectContaining({ type: "module-click" }), "*");
|
|
@@ -266,10 +267,10 @@ describe("FramePreview editor ID selection", () => {
|
|
|
266
267
|
|
|
267
268
|
describe("FramePreview content modes", () => {
|
|
268
269
|
it("should render Toast when isVisible is true", async () => {
|
|
269
|
-
(hooks.useToast as
|
|
270
|
+
(hooks.useToast as Mock).mockReturnValueOnce({
|
|
270
271
|
isVisible: true,
|
|
271
|
-
toggleToast:
|
|
272
|
-
setIsVisible:
|
|
272
|
+
toggleToast: vi.fn(),
|
|
273
|
+
setIsVisible: vi.fn(),
|
|
273
274
|
state: "1 module copied to clipboard",
|
|
274
275
|
});
|
|
275
276
|
|
|
@@ -279,7 +280,7 @@ describe("FramePreview content modes", () => {
|
|
|
279
280
|
});
|
|
280
281
|
|
|
281
282
|
it("should use 'preview' renderer when preview param is true", async () => {
|
|
282
|
-
(hooks.useURLSearchParam as
|
|
283
|
+
(hooks.useURLSearchParam as Mock).mockImplementation((param: string) => {
|
|
283
284
|
if (param === "preview") return "true";
|
|
284
285
|
return null;
|
|
285
286
|
});
|
|
@@ -290,7 +291,7 @@ describe("FramePreview content modes", () => {
|
|
|
290
291
|
});
|
|
291
292
|
|
|
292
293
|
it("should pass filtered keywords to observeAndHighlightKeywords when keywordFilter param is set", async () => {
|
|
293
|
-
(hooks.useURLSearchParam as
|
|
294
|
+
(hooks.useURLSearchParam as Mock).mockImplementation((param: string) => {
|
|
294
295
|
if (param === "type") return "keywords";
|
|
295
296
|
if (param === "keywordFilter") return "seo";
|
|
296
297
|
return null;
|
|
@@ -13,7 +13,7 @@ beforeEach(() => {
|
|
|
13
13
|
let rafId = 0;
|
|
14
14
|
let processingRaf = false;
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
vi.spyOn(window, "requestAnimationFrame").mockImplementation((cb) => {
|
|
17
17
|
// Avoid infinite recursion by checking if we're already processing
|
|
18
18
|
if (!processingRaf) {
|
|
19
19
|
processingRaf = true;
|
|
@@ -26,13 +26,13 @@ beforeEach(() => {
|
|
|
26
26
|
return ++rafId;
|
|
27
27
|
});
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
vi.spyOn(window, "cancelAnimationFrame").mockImplementation(() => {});
|
|
30
30
|
});
|
|
31
31
|
|
|
32
32
|
afterEach(() => {
|
|
33
33
|
cleanup();
|
|
34
34
|
for (const el of document.querySelectorAll("h1, h2, h3, h4, h5, h6")) el.remove();
|
|
35
|
-
|
|
35
|
+
vi.restoreAllMocks();
|
|
36
36
|
});
|
|
37
37
|
|
|
38
38
|
describe("HeadingsOverlay rendering", () => {
|
|
@@ -47,7 +47,7 @@ describe("HeadingsOverlay rendering", () => {
|
|
|
47
47
|
const h1 = document.createElement("h1");
|
|
48
48
|
h1.dataset.griddoid = "heading-1";
|
|
49
49
|
document.body.appendChild(h1);
|
|
50
|
-
|
|
50
|
+
vi.spyOn(h1, "getBoundingClientRect").mockReturnValue({
|
|
51
51
|
top: 10,
|
|
52
52
|
left: 10,
|
|
53
53
|
width: 200,
|
|
@@ -70,7 +70,7 @@ describe("HeadingsOverlay rendering", () => {
|
|
|
70
70
|
const h2 = document.createElement("h2");
|
|
71
71
|
h2.dataset.griddoid = "heading-1";
|
|
72
72
|
document.body.appendChild(h2);
|
|
73
|
-
|
|
73
|
+
vi.spyOn(h2, "getBoundingClientRect").mockReturnValue({
|
|
74
74
|
top: 10,
|
|
75
75
|
left: 10,
|
|
76
76
|
width: 200,
|
|
@@ -103,7 +103,7 @@ describe("HeadingsOverlay rendering", () => {
|
|
|
103
103
|
const h1 = document.createElement("h1");
|
|
104
104
|
h1.dataset.griddoid = "heading-1";
|
|
105
105
|
document.body.appendChild(h1);
|
|
106
|
-
|
|
106
|
+
vi.spyOn(h1, "getBoundingClientRect").mockReturnValue({
|
|
107
107
|
top: 10,
|
|
108
108
|
left: 10,
|
|
109
109
|
width: 200,
|
|
@@ -116,7 +116,7 @@ describe("HeadingsOverlay rendering", () => {
|
|
|
116
116
|
} as DOMRect);
|
|
117
117
|
|
|
118
118
|
const originalGetComputedStyle = window.getComputedStyle.bind(window);
|
|
119
|
-
|
|
119
|
+
vi.spyOn(window, "getComputedStyle").mockImplementation((el) => {
|
|
120
120
|
if (el === h1) return { display: "none", visibility: "", opacity: "1" } as CSSStyleDeclaration;
|
|
121
121
|
return originalGetComputedStyle(el);
|
|
122
122
|
});
|
|
@@ -132,7 +132,7 @@ describe("HeadingsOverlay rendering", () => {
|
|
|
132
132
|
const h1 = document.createElement("h1");
|
|
133
133
|
h1.dataset.griddoid = "heading-1";
|
|
134
134
|
document.body.appendChild(h1);
|
|
135
|
-
|
|
135
|
+
vi.spyOn(h1, "getBoundingClientRect").mockReturnValue({
|
|
136
136
|
top: 10,
|
|
137
137
|
left: 10,
|
|
138
138
|
width: 200,
|
|
@@ -145,7 +145,7 @@ describe("HeadingsOverlay rendering", () => {
|
|
|
145
145
|
} as DOMRect);
|
|
146
146
|
|
|
147
147
|
const originalGetComputedStyle = window.getComputedStyle.bind(window);
|
|
148
|
-
|
|
148
|
+
vi.spyOn(window, "getComputedStyle").mockImplementation((el) => {
|
|
149
149
|
if (el === h1) return { display: "block", visibility: "visible", opacity: "0" } as CSSStyleDeclaration;
|
|
150
150
|
return originalGetComputedStyle(el);
|
|
151
151
|
});
|
|
@@ -161,7 +161,7 @@ describe("HeadingsOverlay rendering", () => {
|
|
|
161
161
|
const h1 = document.createElement("h1");
|
|
162
162
|
h1.dataset.griddoid = "heading-1";
|
|
163
163
|
document.body.appendChild(h1);
|
|
164
|
-
|
|
164
|
+
vi.spyOn(h1, "getBoundingClientRect").mockReturnValue({
|
|
165
165
|
top: 10,
|
|
166
166
|
left: 10,
|
|
167
167
|
width: 200,
|
|
@@ -176,7 +176,7 @@ describe("HeadingsOverlay rendering", () => {
|
|
|
176
176
|
const h2 = document.createElement("h2");
|
|
177
177
|
h2.dataset.griddoid = "heading-2";
|
|
178
178
|
document.body.appendChild(h2);
|
|
179
|
-
|
|
179
|
+
vi.spyOn(h2, "getBoundingClientRect").mockReturnValue({
|
|
180
180
|
top: 60,
|
|
181
181
|
left: 10,
|
|
182
182
|
width: 200,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ThemeProvider } from "styled-components";
|
|
3
3
|
import { parseTheme } from "@ax/helpers";
|
|
4
|
-
import { mock } from "
|
|
4
|
+
import { mock } from "vitest-mock-extended";
|
|
5
5
|
import configureStore from "redux-mock-store";
|
|
6
6
|
import thunk from "redux-thunk";
|
|
7
7
|
import { Router } from "react-router-dom";
|
|
@@ -9,7 +9,7 @@ import { Router } from "react-router-dom";
|
|
|
9
9
|
import history from "@ax/routes/history";
|
|
10
10
|
import globalTheme from "@ax/themes/theme.json";
|
|
11
11
|
import Integrations, { IIntegrationsProps } from "@ax/modules/Settings/Integrations";
|
|
12
|
-
import { render, cleanup, screen, act } from "../../../../../config/
|
|
12
|
+
import { render, cleanup, screen, act } from "../../../../../config/tests/test-utils";
|
|
13
13
|
|
|
14
14
|
afterEach(cleanup);
|
|
15
15
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { MockedFunction } from "vitest";
|
|
1
2
|
import axios from "axios";
|
|
2
3
|
import { Router } from "react-router-dom";
|
|
3
4
|
|
|
@@ -10,10 +11,10 @@ import Social from "@ax/modules/Settings/Social";
|
|
|
10
11
|
import history from "@ax/routes/history";
|
|
11
12
|
import globalTheme from "@ax/themes/theme.json";
|
|
12
13
|
|
|
13
|
-
import { act, cleanup, render, screen } from "../../../../../config/
|
|
14
|
+
import { act, cleanup, render, screen } from "../../../../../config/tests/test-utils";
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
const mockedAxios = axios as
|
|
16
|
+
vi.mock("axios");
|
|
17
|
+
const mockedAxios = axios as MockedFunction<typeof axios>;
|
|
17
18
|
|
|
18
19
|
beforeEach(() => {
|
|
19
20
|
mockedAxios.mockResolvedValue({ status: 200, data: {}, statusText: "OK", headers: {}, config: {} as any });
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { MockedFunction } from "vitest";
|
|
1
2
|
import { Router } from "react-router-dom";
|
|
2
3
|
|
|
3
4
|
import { parseTheme } from "@ax/helpers";
|
|
@@ -6,18 +7,18 @@ import { history } from "@ax/routes";
|
|
|
6
7
|
import globalTheme from "@ax/themes/theme.json";
|
|
7
8
|
|
|
8
9
|
import axios from "axios";
|
|
9
|
-
import { mock } from "
|
|
10
|
+
import { mock } from "vitest-mock-extended";
|
|
10
11
|
import configureStore from "redux-mock-store";
|
|
11
12
|
import thunk from "redux-thunk";
|
|
12
13
|
import { ThemeProvider } from "styled-components";
|
|
13
14
|
|
|
14
|
-
import { act, cleanup, render, screen } from "../../../../config/
|
|
15
|
+
import { act, cleanup, render, screen } from "../../../../config/tests/test-utils";
|
|
15
16
|
import { structuredDataResponse } from "./../../../__mocks__/axios/SitesList";
|
|
16
17
|
import { sitesDataMock, userDataMock } from "./../../../__mocks__/store/SitesList";
|
|
17
18
|
|
|
18
19
|
afterEach(cleanup);
|
|
19
|
-
|
|
20
|
-
const mockedAxios = axios as
|
|
20
|
+
vi.mock("axios");
|
|
21
|
+
const mockedAxios = axios as MockedFunction<typeof axios>;
|
|
21
22
|
|
|
22
23
|
const mockStore = configureStore([thunk]);
|
|
23
24
|
const defaultProps = mock<ISitesProps>();
|
|
@@ -6,12 +6,12 @@ import BulkHeader from "@ax/modules/Sites/SitesList/ListView/BulkHeader";
|
|
|
6
6
|
import globalTheme from "@ax/themes/theme.json";
|
|
7
7
|
|
|
8
8
|
import { act, cleanup, screen } from "@testing-library/react";
|
|
9
|
-
import { mock } from "
|
|
9
|
+
import { mock } from "vitest-mock-extended";
|
|
10
10
|
import configureStore from "redux-mock-store";
|
|
11
11
|
import thunk from "redux-thunk";
|
|
12
12
|
import { ThemeProvider } from "styled-components";
|
|
13
13
|
|
|
14
|
-
import { render } from "../../../../../../../config/
|
|
14
|
+
import { render } from "../../../../../../../config/tests/test-utils";
|
|
15
15
|
import { defaultStore } from "./../../../../../../__mocks__/store/GenericStore";
|
|
16
16
|
|
|
17
17
|
afterEach(cleanup);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { MockedFunction } from "vitest";
|
|
1
2
|
import { Router } from "react-router-dom";
|
|
2
3
|
|
|
3
4
|
import { parseTheme } from "@ax/helpers";
|
|
@@ -6,12 +7,12 @@ import { history } from "@ax/routes";
|
|
|
6
7
|
import globalTheme from "@ax/themes/theme.json";
|
|
7
8
|
|
|
8
9
|
import axios from "axios";
|
|
9
|
-
import { mock } from "
|
|
10
|
+
import { mock } from "vitest-mock-extended";
|
|
10
11
|
import configureStore from "redux-mock-store";
|
|
11
12
|
import thunk from "redux-thunk";
|
|
12
13
|
import { ThemeProvider } from "styled-components";
|
|
13
14
|
|
|
14
|
-
import { act, cleanup, fireEvent, render, screen, waitFor } from "./../../../../../config/
|
|
15
|
+
import { act, cleanup, fireEvent, render, screen, waitFor } from "./../../../../../config/tests/test-utils";
|
|
15
16
|
import { sitesResponse } from "./../../../../__mocks__/axios/SitesList";
|
|
16
17
|
import { sitesOptions } from "./../../../../__mocks__/axios/SitesListOptions";
|
|
17
18
|
import { sitesDataMock, sitesDataNoThumbnailMock, userDataMock } from "./../../../../__mocks__/store/SitesList";
|
|
@@ -19,8 +20,8 @@ import { sitesDataMock, sitesDataNoThumbnailMock, userDataMock } from "./../../.
|
|
|
19
20
|
afterEach(cleanup);
|
|
20
21
|
|
|
21
22
|
const defaultProps = mock<ISitesListProps>();
|
|
22
|
-
|
|
23
|
-
const mockedAxios = axios as
|
|
23
|
+
vi.mock("axios");
|
|
24
|
+
const mockedAxios = axios as MockedFunction<typeof axios>;
|
|
24
25
|
|
|
25
26
|
const mockStore = configureStore([thunk]);
|
|
26
27
|
|
|
@@ -197,7 +198,7 @@ describe("Sites module events", () => {
|
|
|
197
198
|
});
|
|
198
199
|
|
|
199
200
|
it("should go to site on click recent site item", async () => {
|
|
200
|
-
window.HTMLElement.prototype.scrollTo =
|
|
201
|
+
window.HTMLElement.prototype.scrollTo = vi.fn();
|
|
201
202
|
|
|
202
203
|
await renderSitesList();
|
|
203
204
|
|
|
@@ -223,7 +224,7 @@ describe("Sites module events", () => {
|
|
|
223
224
|
});
|
|
224
225
|
|
|
225
226
|
it("should go to site on click list site item", async () => {
|
|
226
|
-
window.HTMLElement.prototype.scrollTo =
|
|
227
|
+
window.HTMLElement.prototype.scrollTo = vi.fn();
|
|
227
228
|
|
|
228
229
|
await renderSitesList();
|
|
229
230
|
|
|
@@ -21,9 +21,9 @@ const renderDataStep = (props = {}) =>
|
|
|
21
21
|
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
22
22
|
<DataStep
|
|
23
23
|
form={defaultForm}
|
|
24
|
-
setForm={
|
|
25
|
-
onClickNext={
|
|
26
|
-
onClickBack={
|
|
24
|
+
setForm={vi.fn()}
|
|
25
|
+
onClickNext={vi.fn()}
|
|
26
|
+
onClickBack={vi.fn()}
|
|
27
27
|
croppedImageUrl={null}
|
|
28
28
|
{...props}
|
|
29
29
|
/>
|
|
@@ -66,21 +66,21 @@ describe("DataStep rendering", () => {
|
|
|
66
66
|
|
|
67
67
|
describe("DataStep events", () => {
|
|
68
68
|
it("should call onClickBack when Back button is clicked", () => {
|
|
69
|
-
const onClickBack =
|
|
69
|
+
const onClickBack = vi.fn();
|
|
70
70
|
renderDataStep({ onClickBack });
|
|
71
71
|
fireEvent.click(screen.getByText("Back"));
|
|
72
72
|
expect(onClickBack).toHaveBeenCalledTimes(1);
|
|
73
73
|
});
|
|
74
74
|
|
|
75
75
|
it("should call onClickNext when Next step button is clicked", () => {
|
|
76
|
-
const onClickNext =
|
|
76
|
+
const onClickNext = vi.fn();
|
|
77
77
|
renderDataStep({ onClickNext });
|
|
78
78
|
fireEvent.click(screen.getByText("Next step"));
|
|
79
79
|
expect(onClickNext).toHaveBeenCalledTimes(1);
|
|
80
80
|
});
|
|
81
81
|
|
|
82
82
|
it("should not call onClickNext when username is empty", () => {
|
|
83
|
-
const onClickNext =
|
|
83
|
+
const onClickNext = vi.fn();
|
|
84
84
|
renderDataStep({ onClickNext, form: { ...defaultForm, username: "" } });
|
|
85
85
|
const nextButton = screen.getByText("Next step").closest("button");
|
|
86
86
|
nextButton && fireEvent.click(nextButton);
|
|
@@ -68,8 +68,8 @@ const renderFinalStep = (props = {}) =>
|
|
|
68
68
|
userRoles={[]}
|
|
69
69
|
roles={mockRoles}
|
|
70
70
|
sites={mockSites}
|
|
71
|
-
onClose={
|
|
72
|
-
onViewProfile={
|
|
71
|
+
onClose={vi.fn()}
|
|
72
|
+
onViewProfile={vi.fn()}
|
|
73
73
|
{...props}
|
|
74
74
|
/>
|
|
75
75
|
</ThemeProvider>,
|
|
@@ -142,14 +142,14 @@ describe("FinalStep learn items", () => {
|
|
|
142
142
|
|
|
143
143
|
describe("FinalStep events", () => {
|
|
144
144
|
it("should call onClose when Start Using Griddo is clicked", () => {
|
|
145
|
-
const onClose =
|
|
145
|
+
const onClose = vi.fn();
|
|
146
146
|
renderFinalStep({ onClose });
|
|
147
147
|
fireEvent.click(screen.getByText("Start Using Griddo"));
|
|
148
148
|
expect(onClose).toHaveBeenCalledTimes(1);
|
|
149
149
|
});
|
|
150
150
|
|
|
151
151
|
it("should call onViewProfile when View profile is clicked", () => {
|
|
152
|
-
const onViewProfile =
|
|
152
|
+
const onViewProfile = vi.fn();
|
|
153
153
|
renderFinalStep({ onViewProfile });
|
|
154
154
|
fireEvent.click(screen.getByText("View profile"));
|
|
155
155
|
expect(onViewProfile).toHaveBeenCalledTimes(1);
|