@griddo/ax 12.3.0 → 12.5.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.
Files changed (294) hide show
  1. package/config/{jest/componentsMock.js → tests/componentsMock.cjs} +4 -1
  2. package/config/tests/reactEasyCropMock.js +15 -0
  3. package/config/tests/reactTimezoneMock.js +14 -0
  4. package/config/tests/setup.ts +41 -0
  5. package/config/webpack.config.js +5 -0
  6. package/package.json +15 -29
  7. package/public/img/icons/markdown.svg +6 -0
  8. package/src/__tests__/components/ActionMenu/ActionMenu.test.tsx +12 -12
  9. package/src/__tests__/components/Breadcrumb/Breadcrumb.test.tsx +2 -2
  10. package/src/__tests__/components/Browser/Browser.test.tsx +17 -25
  11. package/src/__tests__/components/BulkSelectionOptions/BulkSelectionOptions.test.tsx +3 -3
  12. package/src/__tests__/components/CategoryCell/CategoryCell.test.tsx +3 -2
  13. package/src/__tests__/components/ConfigPanel/ConfigPanel.test.tsx +4 -4
  14. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/ConnectedField.test.tsx +2 -2
  15. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/NavConnectedField/NavConnectedField.test.tsx +2 -2
  16. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/PageConnectedField/Field/Field.test.tsx +3 -3
  17. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/PageConnectedField/PageConnectedField.test.tsx +17 -14
  18. package/src/__tests__/components/ConfigPanel/Form/ConnectedField/PageConnectedField/TemplateManager/TemplateManager.test.tsx +4 -4
  19. package/src/__tests__/components/ConfigPanel/Form/Form.test.tsx +49 -58
  20. package/src/__tests__/components/ConfigPanel/GlobalPageForm/GlobalPageForm.test.tsx +11 -11
  21. package/src/__tests__/components/ConfigPanel/Header/Header.test.tsx +51 -46
  22. package/src/__tests__/components/ConfigPanel/NavigationForm/Field/Field.test.tsx +2 -2
  23. package/src/__tests__/components/ConfigPanel/NavigationForm/NavigationForm.test.tsx +2 -2
  24. package/src/__tests__/components/ConfigPanel/PreviewForm/PreviewForm.test.tsx +4 -3
  25. package/src/__tests__/components/ContextMenu/ContextMenu.test.tsx +24 -24
  26. package/src/__tests__/components/DragAndDrop/DragAndDrop.test.tsx +6 -5
  27. package/src/__tests__/components/ElementsTooltip/ElementsTooltip.test.tsx +7 -18
  28. package/src/__tests__/components/EmptyState/EmptyState.test.tsx +11 -11
  29. package/src/__tests__/components/ErrorCenter/ErrorCenter.test.tsx +11 -11
  30. package/src/__tests__/components/FieldContainer/FieldContainer.test.tsx +4 -4
  31. package/src/__tests__/components/Fields/AnalyticsField/AnalyticsField.test.tsx +3 -3
  32. package/src/__tests__/components/Fields/AnalyticsField/PageAnalytics/PageAnalytics.test.tsx +4 -4
  33. package/src/__tests__/components/Fields/AnalyticsField/StructuredDataAnalytics/StructuredDataAnalytics.test.tsx +3 -3
  34. package/src/__tests__/components/Fields/ArrayFieldGroup/ArrayFieldGroup.test.tsx +6 -5
  35. package/src/__tests__/components/Fields/AsyncCheckGroup/AsyncCheckGroup.test.tsx +19 -18
  36. package/src/__tests__/components/Fields/AsyncSelect/AsyncSelect.test.tsx +64 -53
  37. package/src/__tests__/components/Fields/Button/Button.test.tsx +4 -3
  38. package/src/__tests__/components/Fields/CheckField/CheckField.test.tsx +5 -5
  39. package/src/__tests__/components/Fields/CheckGroup/CheckGroup.test.tsx +10 -10
  40. package/src/__tests__/components/Fields/ColorPicker/ColorPicker.test.tsx +67 -58
  41. package/src/__tests__/components/Fields/ComponentArray/ComponentArray.test.tsx +3 -3
  42. package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/MixableComponentArray.test.tsx +45 -45
  43. package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/PasteModuleButton/PasteModuleButton.test.tsx +7 -6
  44. package/src/__tests__/components/Fields/ComponentArray/SameComponentArray/SameComponentArray.test.tsx +7 -7
  45. package/src/__tests__/components/Fields/ComponentContainer/ComponentContainer.test.tsx +223 -426
  46. package/src/__tests__/components/Fields/ConditionalField/ConditionalField.test.tsx +1 -1
  47. package/src/__tests__/components/Fields/DateField/DateField.test.tsx +6 -5
  48. package/src/__tests__/components/Fields/FieldGroup/FieldGroup.test.tsx +2 -2
  49. package/src/__tests__/components/Fields/FileField/FileField.test.tsx +17 -18
  50. package/src/__tests__/components/Fields/HeadingField/HeadingField.test.tsx +2 -2
  51. package/src/__tests__/components/Fields/HiddenField/HiddenField.test.tsx +3 -3
  52. package/src/__tests__/components/Fields/ImageField/ImageField.test.tsx +280 -263
  53. package/src/__tests__/components/Fields/IntegrationsField/IntegrationsField.test.tsx +60 -57
  54. package/src/__tests__/components/Fields/MultiCheckSelect/MultiCheckSelect.test.tsx +1 -1
  55. package/src/__tests__/components/Fields/MultiCheckSelectGroup/MultiCheckSelectGroup.test.tsx +7 -6
  56. package/src/__tests__/components/Fields/NoteField/NoteField.test.tsx +10 -9
  57. package/src/__tests__/components/Fields/NumberField/NumberField.test.tsx +16 -20
  58. package/src/__tests__/components/Fields/RadioField/RadioField.test.tsx +2 -2
  59. package/src/__tests__/components/Fields/ReferenceField/ReferenceField.test.tsx +17 -16
  60. package/src/__tests__/components/Fields/RichText/RichText.test.tsx +1 -1
  61. package/src/__tests__/components/Fields/Select/Select.test.tsx +1 -1
  62. package/src/__tests__/components/Fields/SliderField/SliderField.test.tsx +5 -4
  63. package/src/__tests__/components/Fields/SummaryButton/SummaryButton.test.tsx +2 -2
  64. package/src/__tests__/components/Fields/TagField/TagField.test.tsx +9 -9
  65. package/src/__tests__/components/Fields/TextArea/TextArea.test.tsx +17 -9
  66. package/src/__tests__/components/Fields/TextField/TextField.test.tsx +8 -8
  67. package/src/__tests__/components/Fields/TimeField/HourInput/HourInput.test.tsx +7 -6
  68. package/src/__tests__/components/Fields/TimeField/TimeField.test.tsx +4 -3
  69. package/src/__tests__/components/Fields/ToggleField/ToggleField.test.tsx +16 -24
  70. package/src/__tests__/components/Fields/Tooltip/Tooltip.test.tsx +12 -6
  71. package/src/__tests__/components/Fields/TranslateButton/TranslateButton.test.tsx +13 -13
  72. package/src/__tests__/components/Fields/UniqueCheck/UniqueCheck.test.tsx +1 -1
  73. package/src/__tests__/components/Fields/UrlField/UrlField.test.tsx +20 -19
  74. package/src/__tests__/components/Fields/VisualUniqueSelection/ImageSelection/ImageSelection.test.tsx +3 -2
  75. package/src/__tests__/components/Fields/VisualUniqueSelection/ScrollableSelection/ScrollableSelection.test.tsx +4 -3
  76. package/src/__tests__/components/Fields/VisualUniqueSelection/VisualUniqueSelection.test.tsx +30 -22
  77. package/src/__tests__/components/Fields/Wysiwyg/Wysiwyg.atoms.test.tsx +11 -11
  78. package/src/__tests__/components/Fields/Wysiwyg/Wysiwyg.config.test.tsx +103 -0
  79. package/src/__tests__/components/Fields/Wysiwyg/Wysiwyg.helpers.test.tsx +13 -14
  80. package/src/__tests__/components/Fields/Wysiwyg/Wysiwyg.test.tsx +28 -28
  81. package/src/__tests__/components/FieldsBehavior/FieldsBehavior.test.tsx +22 -16
  82. package/src/__tests__/components/FloatingMenu/FloatingMenu.test.tsx +36 -35
  83. package/src/__tests__/components/FloatingPanel/FloatingPanel.test.tsx +10 -10
  84. package/src/__tests__/components/GuardModal/GuardModal.test.tsx +1 -1
  85. package/src/__tests__/components/HeadingsPreviewModal/ErrorsBanner/ErrorItem/ErrorItem.test.tsx +11 -11
  86. package/src/__tests__/components/HeadingsPreviewModal/ErrorsBanner/ErrorsBanner.test.tsx +4 -4
  87. package/src/__tests__/components/HeadingsPreviewModal/HeadingsPreviewModal.test.tsx +15 -14
  88. package/src/__tests__/components/IconAction/IconAction.test.tsx +2 -2
  89. package/src/__tests__/components/ImageDragAndDrop/CropStep/CropStep.test.tsx +3 -3
  90. package/src/__tests__/components/ImageDragAndDrop/ImageDragAndDrop.test.tsx +7 -7
  91. package/src/__tests__/components/KeywordsPreviewModal/KeywordItem/KeywordItem.test.tsx +5 -5
  92. package/src/__tests__/components/KeywordsPreviewModal/KeywordsPreviewModal.test.tsx +14 -13
  93. package/src/__tests__/components/KeywordsPreviewModal/atoms.test.tsx +13 -13
  94. package/src/__tests__/components/LanguageMenu/LanguageMenu.test.tsx +6 -6
  95. package/src/__tests__/components/Lists/Lists.test.tsx +1 -1
  96. package/src/__tests__/components/Loader/Loader.test.tsx +1 -1
  97. package/src/__tests__/components/Login/Login.test.tsx +32 -32
  98. package/src/__tests__/components/Login/RecoveryModal/RecoveryModal.test.tsx +10 -9
  99. package/src/__tests__/components/MainWrapper/AppBar/AppBar.test.tsx +21 -21
  100. package/src/__tests__/components/MenuItem/MenuItem.test.tsx +5 -5
  101. package/src/__tests__/components/Modal/Modal.test.tsx +20 -20
  102. package/src/__tests__/components/Nav/Nav.test.tsx +2 -2
  103. package/src/__tests__/components/Notification/Notification.test.tsx +2 -2
  104. package/src/__tests__/components/Pagination/Pagination.test.tsx +13 -14
  105. package/src/__tests__/components/ProfileImage/ProfileImage.test.tsx +6 -7
  106. package/src/__tests__/components/ReorderArrows/ReorderArrows.test.tsx +4 -3
  107. package/src/__tests__/components/ResizePanel/ResizePanel.test.tsx +18 -17
  108. package/src/__tests__/components/RestrictionsModal/CurrentAccessList/CurrentAccessList.test.tsx +7 -6
  109. package/src/__tests__/components/RestrictionsModal/OptionsStep/OptionsStep.test.tsx +12 -11
  110. package/src/__tests__/components/RestrictionsModal/RestrictionsModal.test.tsx +11 -10
  111. package/src/__tests__/components/RestrictionsModal/RolesList/RolesList.test.tsx +8 -8
  112. package/src/__tests__/components/RestrictionsModal/UsersList/UsersList.test.tsx +16 -15
  113. package/src/__tests__/components/SearchField/SearchField.test.tsx +13 -13
  114. package/src/__tests__/components/SideModal/SideModal.test.tsx +175 -127
  115. package/src/__tests__/components/SubNav/SubNav.test.tsx +1 -1
  116. package/src/__tests__/components/TableFilters/CategoryFilter/CategoryFilter.test.tsx +9 -8
  117. package/src/__tests__/components/TableFilters/CustomizeFilters/CustomizeFilters.test.tsx +5 -5
  118. package/src/__tests__/components/TableFilters/DateFilter/DateFilter.test.tsx +8 -8
  119. package/src/__tests__/components/TableFilters/LiveFilter/LiveFilter.test.tsx +26 -39
  120. package/src/__tests__/components/TableFilters/NameFilter/NameFilter.test.tsx +10 -10
  121. package/src/__tests__/components/TableFilters/RoleFilter/RoleFilter.test.tsx +5 -5
  122. package/src/__tests__/components/TableFilters/SiteFilter/SiteFilter.test.tsx +10 -9
  123. package/src/__tests__/components/TableFilters/StatusFilter/StatusFilter.test.tsx +70 -45
  124. package/src/__tests__/components/TableFilters/TranslationsFilter/TranslationsFilter.test.tsx +8 -8
  125. package/src/__tests__/components/TableFilters/TypeFilter/TypeFilter.test.tsx +5 -5
  126. package/src/__tests__/components/TableFilters/UsersFilter/UsersFilter.test.tsx +8 -8
  127. package/src/__tests__/components/TableList/TableList.test.tsx +4 -4
  128. package/src/__tests__/components/Tabs/Tabs.test.tsx +73 -70
  129. package/src/__tests__/components/Tag/Tag.test.tsx +3 -3
  130. package/src/__tests__/components/Toast/Toast.test.tsx +24 -26
  131. package/src/__tests__/hooks/modals.test.tsx +4 -4
  132. package/src/__tests__/hooks/users.test.tsx +6 -5
  133. package/src/__tests__/modules/FileDrive/MarkdownFormat.test.tsx +58 -0
  134. package/src/__tests__/modules/FramePreview/FramePreview.test.tsx +56 -39
  135. package/src/__tests__/modules/FramePreview/HeadingsOverlay/HeadingsOverlay.test.tsx +11 -11
  136. package/src/__tests__/modules/Settings/Integrations/Integrations.test.tsx +2 -2
  137. package/src/__tests__/modules/Settings/Social/Social.test.tsx +4 -3
  138. package/src/__tests__/modules/Sites/Sites.test.tsx +5 -4
  139. package/src/__tests__/modules/Sites/SitesList/ListView/BulkHeader/BulkHeader.test.tsx +26 -21
  140. package/src/__tests__/modules/Sites/SitesList/SitesList.test.tsx +19 -9
  141. package/src/__tests__/modules/Sites/SitesList/WelcomeModal/DataStep/DataStep.test.tsx +6 -6
  142. package/src/__tests__/modules/Sites/SitesList/WelcomeModal/FinalStep/FinalStep.test.tsx +4 -4
  143. package/src/__tests__/modules/Sites/SitesList/WelcomeModal/ImageStep/CropView/CropView.test.tsx +3 -3
  144. package/src/__tests__/modules/Sites/SitesList/WelcomeModal/ImageStep/ImageStep.test.tsx +9 -5
  145. package/src/__tests__/modules/Sites/SitesList/WelcomeModal/ImageStep/UploadView/UploadView.test.tsx +8 -6
  146. package/src/__tests__/modules/Sites/SitesList/WelcomeModal/TimezoneStep/TimezoneStep.test.tsx +7 -7
  147. package/src/__tests__/modules/Sites/SitesList/WelcomeModal/WelcomeModal.test.tsx +1 -1
  148. package/src/__tests__/modules/Sites/SitesList/WelcomeModal/WelcomeStep/WelcomeStep.test.tsx +3 -3
  149. package/src/__tests__/modules/Users/Roles/BulkHeader/BulkHeader.test.tsx +72 -67
  150. package/src/__tests__/modules/Users/Roles/Roles.test.tsx +14 -10
  151. package/src/__tests__/modules/Users/UserCreate/SiteItem/RolesModal/RoleItem/RoleItem.test.tsx +3 -3
  152. package/src/__tests__/modules/Users/UserCreate/SiteItem/RolesModal/RolesModal.test.tsx +3 -3
  153. package/src/__tests__/modules/Users/UserCreate/SiteItem/SiteItem.test.tsx +3 -3
  154. package/src/__tests__/modules/Users/UserCreate/UserCreate.test.tsx +6 -5
  155. package/src/__tests__/modules/Users/UserList/UserItem/UserItem.test.tsx +9 -9
  156. package/src/__tests__/modules/Users/UserList/UserList.test.tsx +4 -4
  157. package/src/components/Fields/Wysiwyg/config.tsx +68 -17
  158. package/src/components/Fields/Wysiwyg/helpers.tsx +2 -0
  159. package/src/components/Fields/Wysiwyg/index.tsx +41 -10
  160. package/src/components/Flag/components/index.ts +30 -0
  161. package/src/components/Flag/index.tsx +3 -5
  162. package/src/components/Icon/components/index.ts +229 -0
  163. package/src/components/Icon/index.tsx +3 -7
  164. package/src/components/ResizePanel/index.tsx +7 -2
  165. package/src/constants/index.ts +1 -1
  166. package/src/helpers/files.tsx +2 -0
  167. package/src/modules/FileDrive/FileFilters/Type/index.tsx +1 -0
  168. package/tsconfig.json +1 -1
  169. package/config/jest/cssTransform.js +0 -14
  170. package/config/jest/fileMock.js +0 -1
  171. package/config/jest/fileTransform.js +0 -40
  172. package/config/jest/reactEasyCropMock.js +0 -15
  173. package/config/jest/reactTimezoneMock.js +0 -13
  174. package/config/jest/setup.js +0 -31
  175. package/config/jest/styleMock.js +0 -1
  176. /package/config/{jest/test-utils.js → tests/test-utils.jsx} +0 -0
  177. /package/src/components/Flag/components/{Ca_ES.js → Ca_ES.jsx} +0 -0
  178. /package/src/components/Flag/components/{De_DE.js → De_DE.jsx} +0 -0
  179. /package/src/components/Flag/components/{En_GB.js → En_GB.jsx} +0 -0
  180. /package/src/components/Flag/components/{Es_ES.js → Es_ES.jsx} +0 -0
  181. /package/src/components/Flag/components/{Eu_ES.js → Eu_ES.jsx} +0 -0
  182. /package/src/components/Flag/components/{Fr_FR.js → Fr_FR.jsx} +0 -0
  183. /package/src/components/Flag/components/{It_IT.js → It_IT.jsx} +0 -0
  184. /package/src/components/Flag/components/{Pt_PT.js → Pt_PT.jsx} +0 -0
  185. /package/src/components/Icon/components/{Active.js → Active.jsx} +0 -0
  186. /package/src/components/Icon/components/{Add.js → Add.jsx} +0 -0
  187. /package/src/components/Icon/components/{AddCircle.js → AddCircle.jsx} +0 -0
  188. /package/src/components/Icon/components/{Alert.js → Alert.jsx} +0 -0
  189. /package/src/components/Icon/components/{AlignLeft.js → AlignLeft.jsx} +0 -0
  190. /package/src/components/Icon/components/{Back.js → Back.jsx} +0 -0
  191. /package/src/components/Icon/components/{BulletList.js → BulletList.jsx} +0 -0
  192. /package/src/components/Icon/components/{Button.js → Button.jsx} +0 -0
  193. /package/src/components/Icon/components/{Calendar.js → Calendar.jsx} +0 -0
  194. /package/src/components/Icon/components/{CancelEvent.js → CancelEvent.jsx} +0 -0
  195. /package/src/components/Icon/components/{Category.js → Category.jsx} +0 -0
  196. /package/src/components/Icon/components/{Change.js → Change.jsx} +0 -0
  197. /package/src/components/Icon/components/{Close.js → Close.jsx} +0 -0
  198. /package/src/components/Icon/components/{ClosePanel.js → ClosePanel.jsx} +0 -0
  199. /package/src/components/Icon/components/{CodeBody.js → CodeBody.jsx} +0 -0
  200. /package/src/components/Icon/components/{CodeHead.js → CodeHead.jsx} +0 -0
  201. /package/src/components/Icon/components/{CodeHeadBody.js → CodeHeadBody.jsx} +0 -0
  202. /package/src/components/Icon/components/{Collapsed.js → Collapsed.jsx} +0 -0
  203. /package/src/components/Icon/components/{ColorPicker.js → ColorPicker.jsx} +0 -0
  204. /package/src/components/Icon/components/{Compose.js → Compose.jsx} +0 -0
  205. /package/src/components/Icon/components/{Copy.js → Copy.jsx} +0 -0
  206. /package/src/components/Icon/components/{Copy2.js → Copy2.jsx} +0 -0
  207. /package/src/components/Icon/components/{Data.js → Data.jsx} +0 -0
  208. /package/src/components/Icon/components/{DataAdd.js → DataAdd.jsx} +0 -0
  209. /package/src/components/Icon/components/{Deactivate.js → Deactivate.jsx} +0 -0
  210. /package/src/components/Icon/components/{Delete.js → Delete.jsx} +0 -0
  211. /package/src/components/Icon/components/{Desktop.js → Desktop.jsx} +0 -0
  212. /package/src/components/Icon/components/{Disabled.js → Disabled.jsx} +0 -0
  213. /package/src/components/Icon/components/{Done.js → Done.jsx} +0 -0
  214. /package/src/components/Icon/components/{DownArrow.js → DownArrow.jsx} +0 -0
  215. /package/src/components/Icon/components/{Download.js → Download.jsx} +0 -0
  216. /package/src/components/Icon/components/{Drag.js → Drag.jsx} +0 -0
  217. /package/src/components/Icon/components/{Duplicate.js → Duplicate.jsx} +0 -0
  218. /package/src/components/Icon/components/{Edit.js → Edit.jsx} +0 -0
  219. /package/src/components/Icon/components/{Empty.js → Empty.jsx} +0 -0
  220. /package/src/components/Icon/components/{EmptyCheck.js → EmptyCheck.jsx} +0 -0
  221. /package/src/components/Icon/components/{Extend.js → Extend.jsx} +0 -0
  222. /package/src/components/Icon/components/{File.js → File.jsx} +0 -0
  223. /package/src/components/Icon/components/{Filter.js → Filter.jsx} +0 -0
  224. /package/src/components/Icon/components/{Form.js → Form.jsx} +0 -0
  225. /package/src/components/Icon/components/{FullArrowDown.js → FullArrowDown.jsx} +0 -0
  226. /package/src/components/Icon/components/{FullArrowLeft.js → FullArrowLeft.jsx} +0 -0
  227. /package/src/components/Icon/components/{FullArrowRight.js → FullArrowRight.jsx} +0 -0
  228. /package/src/components/Icon/components/{FullArrowUp.js → FullArrowUp.jsx} +0 -0
  229. /package/src/components/Icon/components/{Grid.js → Grid.jsx} +0 -0
  230. /package/src/components/Icon/components/{Grid2.js → Grid2.jsx} +0 -0
  231. /package/src/components/Icon/components/{GriddoLogo.js → GriddoLogo.jsx} +0 -0
  232. /package/src/components/Icon/components/{HeroCard.js → HeroCard.jsx} +0 -0
  233. /package/src/components/Icon/components/{Hide.js → Hide.jsx} +0 -0
  234. /package/src/components/Icon/components/{History.js → History.jsx} +0 -0
  235. /package/src/components/Icon/components/{Home.js → Home.jsx} +0 -0
  236. /package/src/components/Icon/components/{Ia.js → Ia.jsx} +0 -0
  237. /package/src/components/Icon/components/{Image.js → Image.jsx} +0 -0
  238. /package/src/components/Icon/components/{Info.js → Info.jsx} +0 -0
  239. /package/src/components/Icon/components/{Laptop.js → Laptop.jsx} +0 -0
  240. /package/src/components/Icon/components/{LeftArrow.js → LeftArrow.jsx} +0 -0
  241. /package/src/components/Icon/components/{Link.js → Link.jsx} +0 -0
  242. /package/src/components/Icon/components/{Lock.js → Lock.jsx} +0 -0
  243. /package/src/components/Icon/components/{Log.js → Log.jsx} +0 -0
  244. /package/src/components/Icon/components/{Map.js → Map.jsx} +0 -0
  245. /package/src/components/Icon/components/{Menu.js → Menu.jsx} +0 -0
  246. /package/src/components/Icon/components/{Microsoft.js → Microsoft.jsx} +0 -0
  247. /package/src/components/Icon/components/{Modified.js → Modified.jsx} +0 -0
  248. /package/src/components/Icon/components/{Modules.js → Modules.jsx} +0 -0
  249. /package/src/components/Icon/components/{More.js → More.jsx} +0 -0
  250. /package/src/components/Icon/components/{NewFolder.js → NewFolder.jsx} +0 -0
  251. /package/src/components/Icon/components/{Offline.js → Offline.jsx} +0 -0
  252. /package/src/components/Icon/components/{OfflinePending.js → OfflinePending.jsx} +0 -0
  253. /package/src/components/Icon/components/{OpenOutside.js → OpenOutside.jsx} +0 -0
  254. /package/src/components/Icon/components/{OpenPanel.js → OpenPanel.jsx} +0 -0
  255. /package/src/components/Icon/components/{OutOfSection.js → OutOfSection.jsx} +0 -0
  256. /package/src/components/Icon/components/{Page.js → Page.jsx} +0 -0
  257. /package/src/components/Icon/components/{Party.js → Party.jsx} +0 -0
  258. /package/src/components/Icon/components/{Paste.js → Paste.jsx} +0 -0
  259. /package/src/components/Icon/components/{Phone.js → Phone.jsx} +0 -0
  260. /package/src/components/Icon/components/{PhotoLibrary.js → PhotoLibrary.jsx} +0 -0
  261. /package/src/components/Icon/components/{Power.js → Power.jsx} +0 -0
  262. /package/src/components/Icon/components/{Preview.js → Preview.jsx} +0 -0
  263. /package/src/components/Icon/components/{Project.js → Project.jsx} +0 -0
  264. /package/src/components/Icon/components/{QrCode.js → QrCode.jsx} +0 -0
  265. /package/src/components/Icon/components/{Question.js → Question.jsx} +0 -0
  266. /package/src/components/Icon/components/{Refresh.js → Refresh.jsx} +0 -0
  267. /package/src/components/Icon/components/{Republish.js → Republish.jsx} +0 -0
  268. /package/src/components/Icon/components/{RightArrow.js → RightArrow.jsx} +0 -0
  269. /package/src/components/Icon/components/{Scheduled.js → Scheduled.jsx} +0 -0
  270. /package/src/components/Icon/components/{Search.js → Search.jsx} +0 -0
  271. /package/src/components/Icon/components/{SendEmail.js → SendEmail.jsx} +0 -0
  272. /package/src/components/Icon/components/{Settings.js → Settings.jsx} +0 -0
  273. /package/src/components/Icon/components/{Share.js → Share.jsx} +0 -0
  274. /package/src/components/Icon/components/{Subsection.js → Subsection.jsx} +0 -0
  275. /package/src/components/Icon/components/{Success.js → Success.jsx} +0 -0
  276. /package/src/components/Icon/components/{SuccessSolid.js → SuccessSolid.jsx} +0 -0
  277. /package/src/components/Icon/components/{Sync.js → Sync.jsx} +0 -0
  278. /package/src/components/Icon/components/{Tablet.js → Tablet.jsx} +0 -0
  279. /package/src/components/Icon/components/{Translate.js → Translate.jsx} +0 -0
  280. /package/src/components/Icon/components/{Unlink.js → Unlink.jsx} +0 -0
  281. /package/src/components/Icon/components/{UpArrow.js → UpArrow.jsx} +0 -0
  282. /package/src/components/Icon/components/{UploadFile.js → UploadFile.jsx} +0 -0
  283. /package/src/components/Icon/components/{UploadPending.js → UploadPending.jsx} +0 -0
  284. /package/src/components/Icon/components/{UrlLink.js → UrlLink.jsx} +0 -0
  285. /package/src/components/Icon/components/{User.js → User.jsx} +0 -0
  286. /package/src/components/Icon/components/{Users.js → Users.jsx} +0 -0
  287. /package/src/components/Icon/components/{Video.js → Video.jsx} +0 -0
  288. /package/src/components/Icon/components/{View.js → View.jsx} +0 -0
  289. /package/src/components/Icon/components/{Warning.js → Warning.jsx} +0 -0
  290. /package/src/components/Icon/components/{Web.js → Web.jsx} +0 -0
  291. /package/src/components/Icon/components/{Working.js → Working.jsx} +0 -0
  292. /package/src/components/Loader/components/{Circle.js → Circle.jsx} +0 -0
  293. /package/src/components/Loader/components/{Dots.js → Dots.jsx} +0 -0
  294. /package/src/components/Loader/components/{SmallCircle.js → SmallCircle.jsx} +0 -0
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
 
3
3
  import { ThemeProvider } from "styled-components";
4
- import { CalledWithMock, mock } from "jest-mock-extended";
4
+ import { CalledWithMock, mock } from "vitest-mock-extended";
5
5
  import { render, screen, cleanup, fireEvent } from "@testing-library/react";
6
6
 
7
7
  import TypeFilter, { ITypeFilterProps } from "@ax/components/TableFilters/TypeFilter";
@@ -32,7 +32,7 @@ describe("TypeFilter component rendering", () => {
32
32
  },
33
33
  ];
34
34
  defaultProps.pointer = "type";
35
- defaultProps.filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
35
+ defaultProps.filterItems = vi.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
36
36
 
37
37
  render(
38
38
  <ThemeProvider theme={parseTheme(globalTheme)}>
@@ -66,7 +66,7 @@ describe("TypeFilter events", () => {
66
66
  },
67
67
  ];
68
68
  defaultProps.pointer = "type";
69
- defaultProps.filterItems = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
69
+ defaultProps.filterItems = vi.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
70
70
 
71
71
  render(
72
72
  <ThemeProvider theme={parseTheme(globalTheme)}>
@@ -104,7 +104,7 @@ describe("TypeFilter events", () => {
104
104
  },
105
105
  ];
106
106
  defaultProps.pointer = "type";
107
- const onChangeMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
107
+ const onChangeMock = vi.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
108
108
  defaultProps.filterItems = onChangeMock;
109
109
 
110
110
  render(
@@ -145,7 +145,7 @@ describe("TypeFilter events", () => {
145
145
  },
146
146
  ];
147
147
  defaultProps.pointer = "type";
148
- const onChangeMock = jest.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
148
+ const onChangeMock = vi.fn() as CalledWithMock<void, [pointer: string, filter: IQueryValue[]]>;
149
149
  defaultProps.filterItems = onChangeMock;
150
150
 
151
151
  render(
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
 
3
3
  import { ThemeProvider } from "styled-components";
4
- import { CalledWithMock, mock } from "jest-mock-extended";
4
+ import { CalledWithMock, mock } from "vitest-mock-extended";
5
5
 
6
6
  import { render, screen, cleanup, fireEvent } from "@testing-library/react";
7
7
 
@@ -14,7 +14,7 @@ afterEach(cleanup);
14
14
  const defaultProps = mock<IUsersFilterProps>();
15
15
  describe("UsersFilter component rendering", () => {
16
16
  it("should render users filter", () => {
17
- const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
17
+ const onClickMock = vi.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
18
18
  ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
19
19
  defaultProps.sortedState = { isAscending: true, sortedByTitle: false, sortedByUsers: true };
20
20
 
@@ -32,7 +32,7 @@ describe("UsersFilter component rendering", () => {
32
32
  });
33
33
 
34
34
  it("should render interactive arrow if not filter selected", () => {
35
- const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
35
+ const onClickMock = vi.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
36
36
  ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
37
37
  defaultProps.sortedState = { isAscending: true, sortedByTitle: false, sortedByUsers: false };
38
38
  defaultProps.sortItems = onClickMock;
@@ -48,7 +48,7 @@ describe("UsersFilter component rendering", () => {
48
48
  });
49
49
 
50
50
  it("should not render interactive arrow if filter selected", () => {
51
- const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
51
+ const onClickMock = vi.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
52
52
  ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
53
53
  defaultProps.sortedState = { isAscending: false, sortedByTitle: false, sortedByUsers: true };
54
54
  defaultProps.sortItems = onClickMock;
@@ -64,7 +64,7 @@ describe("UsersFilter component rendering", () => {
64
64
  });
65
65
 
66
66
  it("should render FullArrowUp icon if is filtered by ascending users", () => {
67
- const onClickMock = jest.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
67
+ const onClickMock = vi.fn() as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
68
68
  ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
69
69
  defaultProps.sortedState = { isAscending: true, sortedByTitle: false, sortedByUsers: true };
70
70
  defaultProps.sortItems = onClickMock;
@@ -82,7 +82,7 @@ describe("UsersFilter component rendering", () => {
82
82
 
83
83
  describe("UsersFilter events", () => {
84
84
  it("should render check group on click", () => {
85
- const onClickMock = jest.fn();
85
+ const onClickMock = vi.fn();
86
86
  defaultProps.sortedState = { isAscending: true, sortedByTitle: false, sortedByUsers: true };
87
87
  defaultProps.sortItems = onClickMock as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
88
88
  ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
@@ -105,7 +105,7 @@ describe("UsersFilter events", () => {
105
105
  });
106
106
 
107
107
  it("should call filterItems with isAscending on click 'Ascendent' option", async () => {
108
- const onClickMock = jest.fn();
108
+ const onClickMock = vi.fn();
109
109
  defaultProps.sortedState = { isAscending: true, sortedByTitle: false, sortedByUsers: true };
110
110
  defaultProps.sortItems = onClickMock as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
111
111
  ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
@@ -129,7 +129,7 @@ describe("UsersFilter events", () => {
129
129
  });
130
130
 
131
131
  it("should call filterItems with isAscending false on click 'Descendent' option", async () => {
132
- const onClickMock = jest.fn();
132
+ const onClickMock = vi.fn();
133
133
  defaultProps.sortedState = { isAscending: true, sortedByTitle: false, sortedByUsers: true };
134
134
  defaultProps.sortItems = onClickMock as CalledWithMock<any, [orderPointer: IQueryValue[], isAscendent: boolean]> &
135
135
  ((orderPointer: IQueryValue[], isAscendent: boolean) => any);
@@ -1,16 +1,16 @@
1
1
  import * as React from "react";
2
2
  import { ThemeProvider } from "styled-components";
3
3
  import { parseTheme } from "@ax/helpers";
4
- import { mock } from "jest-mock-extended";
4
+ import { mock } from "vitest-mock-extended";
5
5
  import configureStore from "redux-mock-store";
6
6
 
7
7
  import globalTheme from "@ax/themes/theme.json";
8
8
  import TableList, { ITableListProps } from "@ax/components/TableList";
9
- import { render, cleanup, screen } from "../../../../config/jest/test-utils";
9
+ import { render, cleanup, screen } from "../../../../config/tests/test-utils";
10
10
 
11
11
  afterEach(() => {
12
12
  cleanup();
13
- jest.resetAllMocks();
13
+ vi.resetAllMocks();
14
14
  });
15
15
 
16
16
  const initialStore = {
@@ -21,7 +21,7 @@ const initialStore = {
21
21
 
22
22
  const mockStore = configureStore();
23
23
  const defaultProps = mock<ITableListProps>();
24
- const setPage = jest.fn();
24
+ const setPage = vi.fn();
25
25
 
26
26
  const pagination = { currPage: 1, itemsPerPage: 50, setPage: setPage, totalItems: 3 };
27
27
 
@@ -1,8 +1,7 @@
1
1
  import * as React from "react";
2
2
 
3
- import "jest-styled-components";
4
3
  import { ThemeProvider } from "styled-components";
5
- import { mock } from "jest-mock-extended";
4
+ import { mock } from "vitest-mock-extended";
6
5
 
7
6
  import { render, screen, cleanup, fireEvent } from "@testing-library/react";
8
7
 
@@ -12,18 +11,15 @@ import Tabs, { ITabsProps } from "@ax/components/Tabs";
12
11
 
13
12
  afterEach(cleanup);
14
13
 
15
- const defaultProps = mock<ITabsProps>();
14
+ const makeProps = (overrides: Partial<ITabsProps> = {}): ITabsProps => Object.assign(mock<ITabsProps>(), overrides);
16
15
 
17
16
  describe("Tabs component rendering", () => {
18
17
  it("should render tabs", () => {
19
- defaultProps.tabs = ["tab1", "tab2"];
20
- defaultProps.active = "tab1";
21
- const setSelectedTabAction = jest.fn();
22
- defaultProps.setSelectedTab = setSelectedTabAction;
18
+ const setSelectedTabAction = vi.fn();
23
19
 
24
20
  render(
25
21
  <ThemeProvider theme={parseTheme(globalTheme)}>
26
- <Tabs {...defaultProps} />
22
+ <Tabs {...makeProps({ tabs: ["tab1", "tab2"], active: "tab1", setSelectedTab: setSelectedTabAction })} />
27
23
  </ThemeProvider>,
28
24
  );
29
25
 
@@ -35,15 +31,13 @@ describe("Tabs component rendering", () => {
35
31
  });
36
32
 
37
33
  it("should render an empty tabs row when no tabs or icons", () => {
38
- defaultProps.tabs = undefined;
39
- defaultProps.icons = undefined;
40
- defaultProps.active = "tab1";
41
- const setSelectedTabAction = jest.fn();
42
- defaultProps.setSelectedTab = setSelectedTabAction;
34
+ const setSelectedTabAction = vi.fn();
43
35
 
44
36
  render(
45
37
  <ThemeProvider theme={parseTheme(globalTheme)}>
46
- <Tabs {...defaultProps} />
38
+ <Tabs
39
+ {...makeProps({ tabs: undefined, icons: undefined, active: "tab1", setSelectedTab: setSelectedTabAction })}
40
+ />
47
41
  </ThemeProvider>,
48
42
  );
49
43
 
@@ -53,14 +47,11 @@ describe("Tabs component rendering", () => {
53
47
  });
54
48
 
55
49
  it("should call set selected tab action on click", async () => {
56
- defaultProps.tabs = ["tab1", "tab2"];
57
- defaultProps.active = "tab1";
58
- const setSelectedTabAction = jest.fn();
59
- defaultProps.setSelectedTab = setSelectedTabAction;
50
+ const setSelectedTabAction = vi.fn();
60
51
 
61
52
  render(
62
53
  <ThemeProvider theme={parseTheme(globalTheme)}>
63
- <Tabs {...defaultProps} />
54
+ <Tabs {...makeProps({ tabs: ["tab1", "tab2"], active: "tab1", setSelectedTab: setSelectedTabAction })} />
64
55
  </ThemeProvider>,
65
56
  );
66
57
  const tabs = screen.getAllByTestId("tab");
@@ -69,15 +60,17 @@ describe("Tabs component rendering", () => {
69
60
  });
70
61
 
71
62
  it("should render tabs row with icons if icons available", async () => {
72
- defaultProps.tabs = undefined;
73
- defaultProps.icons = [
74
- { name: "edit", text: "Edit mode" },
75
- { name: "view", text: "Preview mode" },
76
- ];
77
-
78
63
  render(
79
64
  <ThemeProvider theme={parseTheme(globalTheme)}>
80
- <Tabs {...defaultProps} />
65
+ <Tabs
66
+ {...makeProps({
67
+ tabs: undefined,
68
+ icons: [
69
+ { name: "edit", text: "Edit mode" },
70
+ { name: "view", text: "Preview mode" },
71
+ ],
72
+ })}
73
+ />
81
74
  </ThemeProvider>,
82
75
  );
83
76
 
@@ -86,15 +79,17 @@ describe("Tabs component rendering", () => {
86
79
  });
87
80
 
88
81
  it("should render tabs row with icons if icons available", async () => {
89
- defaultProps.tabs = undefined;
90
- defaultProps.icons = [
91
- { name: "edit", text: "Edit mode" },
92
- { name: "view", text: "Preview mode" },
93
- ];
94
-
95
82
  render(
96
83
  <ThemeProvider theme={parseTheme(globalTheme)}>
97
- <Tabs {...defaultProps} />
84
+ <Tabs
85
+ {...makeProps({
86
+ tabs: undefined,
87
+ icons: [
88
+ { name: "edit", text: "Edit mode" },
89
+ { name: "view", text: "Preview mode" },
90
+ ],
91
+ })}
92
+ />
98
93
  </ThemeProvider>,
99
94
  );
100
95
 
@@ -105,15 +100,17 @@ describe("Tabs component rendering", () => {
105
100
  });
106
101
 
107
102
  it("should render tooltip with icon's text", async () => {
108
- defaultProps.tabs = undefined;
109
- defaultProps.icons = [
110
- { name: "edit", text: "Edit mode" },
111
- { name: "view", text: "Preview mode" },
112
- ];
113
-
114
103
  render(
115
104
  <ThemeProvider theme={parseTheme(globalTheme)}>
116
- <Tabs {...defaultProps} />
105
+ <Tabs
106
+ {...makeProps({
107
+ tabs: undefined,
108
+ icons: [
109
+ { name: "edit", text: "Edit mode" },
110
+ { name: "view", text: "Preview mode" },
111
+ ],
112
+ })}
113
+ />
117
114
  </ThemeProvider>,
118
115
  );
119
116
 
@@ -125,17 +122,20 @@ describe("Tabs component rendering", () => {
125
122
  });
126
123
 
127
124
  it("should not display icon if doesn't exist", async () => {
128
- defaultProps.icons = [
129
- { name: "failed-icon", text: "Edit mode" },
130
- { name: "view", text: "Preview mode" },
131
- ];
132
- defaultProps.active = "edit";
133
- const setSelectedTabAction = jest.fn();
134
- defaultProps.setSelectedTab = setSelectedTabAction;
125
+ const setSelectedTabAction = vi.fn();
135
126
 
136
127
  render(
137
128
  <ThemeProvider theme={parseTheme(globalTheme)}>
138
- <Tabs {...defaultProps} />
129
+ <Tabs
130
+ {...makeProps({
131
+ icons: [
132
+ { name: "failed-icon", text: "Edit mode" },
133
+ { name: "view", text: "Preview mode" },
134
+ ],
135
+ active: "edit",
136
+ setSelectedTab: setSelectedTabAction,
137
+ })}
138
+ />
139
139
  </ThemeProvider>,
140
140
  );
141
141
  const tooltips = screen.getAllByTestId("tooltip-component");
@@ -148,14 +148,11 @@ describe("Tabs component rendering", () => {
148
148
 
149
149
  describe("Tabs component events", () => {
150
150
  it("should set tab as active on click", async () => {
151
- defaultProps.tabs = ["tab1", "tab2"];
152
- defaultProps.active = "tab1";
153
- const setSelectedTabAction = jest.fn();
154
- defaultProps.setSelectedTab = setSelectedTabAction;
151
+ const setSelectedTabAction = vi.fn();
155
152
 
156
153
  render(
157
154
  <ThemeProvider theme={parseTheme(globalTheme)}>
158
- <Tabs {...defaultProps} />
155
+ <Tabs {...makeProps({ tabs: ["tab1", "tab2"], active: "tab1", setSelectedTab: setSelectedTabAction })} />
159
156
  </ThemeProvider>,
160
157
  );
161
158
  const tabs = screen.getAllByTestId("tab");
@@ -166,18 +163,21 @@ describe("Tabs component events", () => {
166
163
  });
167
164
 
168
165
  it("should call set selected tab action on click icon tab", async () => {
169
- defaultProps.tabs = undefined;
170
- defaultProps.icons = [
171
- { name: "edit", text: "Edit mode" },
172
- { name: "view", text: "Preview mode" },
173
- ];
174
- defaultProps.active = "edit";
175
- const setSelectedTabAction = jest.fn();
176
- defaultProps.setSelectedTab = setSelectedTabAction;
166
+ const setSelectedTabAction = vi.fn();
177
167
 
178
168
  render(
179
169
  <ThemeProvider theme={parseTheme(globalTheme)}>
180
- <Tabs {...defaultProps} />
170
+ <Tabs
171
+ {...makeProps({
172
+ tabs: undefined,
173
+ icons: [
174
+ { name: "edit", text: "Edit mode" },
175
+ { name: "view", text: "Preview mode" },
176
+ ],
177
+ active: "edit",
178
+ setSelectedTab: setSelectedTabAction,
179
+ })}
180
+ />
181
181
  </ThemeProvider>,
182
182
  );
183
183
  const tabs = screen.getAllByTestId("icon-tab");
@@ -186,17 +186,20 @@ describe("Tabs component events", () => {
186
186
  });
187
187
 
188
188
  it("should set icon tab as active on click", async () => {
189
- defaultProps.icons = [
190
- { name: "edit", text: "Edit mode" },
191
- { name: "view", text: "Preview mode" },
192
- ];
193
- defaultProps.active = "edit";
194
- const setSelectedTabAction = jest.fn();
195
- defaultProps.setSelectedTab = setSelectedTabAction;
189
+ const setSelectedTabAction = vi.fn();
196
190
 
197
191
  render(
198
192
  <ThemeProvider theme={parseTheme(globalTheme)}>
199
- <Tabs {...defaultProps} />
193
+ <Tabs
194
+ {...makeProps({
195
+ icons: [
196
+ { name: "edit", text: "Edit mode" },
197
+ { name: "view", text: "Preview mode" },
198
+ ],
199
+ active: "edit",
200
+ setSelectedTab: setSelectedTabAction,
201
+ })}
202
+ />
200
203
  </ThemeProvider>,
201
204
  );
202
205
  const tabs = screen.getAllByTestId("icon-tab");
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
 
3
3
  import { ThemeProvider } from "styled-components";
4
- import { mock } from "jest-mock-extended";
4
+ import { mock } from "vitest-mock-extended";
5
5
 
6
6
  import { render, screen, cleanup, fireEvent } from "@testing-library/react";
7
7
  import { parseTheme } from "@ax/helpers";
@@ -88,7 +88,7 @@ describe("Tag component rendering", () => {
88
88
  it("should render delete icon when onDeleteAction is defined", () => {
89
89
  defaultProps.type = "fixed";
90
90
  defaultProps.text = "Modules";
91
- const deleteAction = jest.fn();
91
+ const deleteAction = vi.fn();
92
92
  defaultProps.onDeleteAction = deleteAction;
93
93
 
94
94
  render(
@@ -106,7 +106,7 @@ describe("Tag component events", () => {
106
106
  it("should called deleteAction when click delete button", () => {
107
107
  defaultProps.type = "fixed";
108
108
  defaultProps.text = "Modules";
109
- const deleteAction = jest.fn();
109
+ const deleteAction = vi.fn();
110
110
  defaultProps.onDeleteAction = deleteAction;
111
111
 
112
112
  render(
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
 
3
3
  import { ThemeProvider } from "styled-components";
4
- import { mock } from "jest-mock-extended";
4
+ import { mock } from "vitest-mock-extended";
5
5
  import { render, screen, cleanup, fireEvent } from "@testing-library/react";
6
6
  import { parseTheme } from "@ax/helpers";
7
7
 
@@ -10,25 +10,34 @@ import globalTheme from "@ax/themes/theme.json";
10
10
 
11
11
  afterEach(cleanup);
12
12
 
13
- jest.mock("react-router-dom", () => ({
14
- ...jest.requireActual("react-router-dom"),
13
+ vi.mock("react-router-dom", async () => ({
14
+ ...(await vi.importActual("react-router-dom")),
15
15
  useLocation: () => ({
16
16
  pathname: "localhost:3000/example/path",
17
17
  }),
18
18
  }));
19
19
 
20
- const defaultProps = mock<IToastProps>();
20
+ const makeProps = (overrides: Partial<IToastProps> = {}): IToastProps => Object.assign(mock<IToastProps>(), overrides);
21
21
 
22
- describe("Toast component rendering", () => {
23
- jest.useFakeTimers();
24
- jest.spyOn(global, "setTimeout");
22
+ // El spy se instala sobre el setTimeout ya falseado, así que el orden importa.
23
+ // Van en hooks (no en el cuerpo del describe) para que se restauren tras cada
24
+ // test: en el cuerpo se ejecutaban una sola vez al recolectar y dejaban los
25
+ // timers falsos y el spy puestos para el resto del fichero.
26
+ beforeEach(() => {
27
+ vi.useFakeTimers();
28
+ vi.spyOn(global, "setTimeout");
29
+ });
25
30
 
26
- it("should render the component", () => {
27
- defaultProps.message = "1 module copied to clipboard";
31
+ afterEach(() => {
32
+ vi.useRealTimers();
33
+ vi.restoreAllMocks();
34
+ });
28
35
 
36
+ describe("Toast component rendering", () => {
37
+ it("should render the component", () => {
29
38
  render(
30
39
  <ThemeProvider theme={parseTheme(globalTheme)}>
31
- <Toast {...defaultProps} />
40
+ <Toast {...makeProps({ message: "1 module copied to clipboard" })} />
32
41
  </ThemeProvider>,
33
42
  );
34
43
 
@@ -37,11 +46,9 @@ describe("Toast component rendering", () => {
37
46
  });
38
47
 
39
48
  it("should render the component's message", () => {
40
- defaultProps.message = "1 module copied to clipboard";
41
-
42
49
  render(
43
50
  <ThemeProvider theme={parseTheme(globalTheme)}>
44
- <Toast {...defaultProps} />
51
+ <Toast {...makeProps({ message: "1 module copied to clipboard" })} />
45
52
  </ThemeProvider>,
46
53
  );
47
54
 
@@ -50,11 +57,9 @@ describe("Toast component rendering", () => {
50
57
  });
51
58
 
52
59
  it("should not render the undo button when no action", () => {
53
- defaultProps.message = "1 module copied to clipboard";
54
-
55
60
  render(
56
61
  <ThemeProvider theme={parseTheme(globalTheme)}>
57
- <Toast {...defaultProps} />
62
+ <Toast {...makeProps({ message: "1 module copied to clipboard" })} />
58
63
  </ThemeProvider>,
59
64
  );
60
65
 
@@ -65,12 +70,9 @@ describe("Toast component rendering", () => {
65
70
 
66
71
  describe("Toast component events", () => {
67
72
  it("should render the undo button when action", () => {
68
- defaultProps.message = "1 module copied to clipboard";
69
- defaultProps.action = jest.fn();
70
-
71
73
  render(
72
74
  <ThemeProvider theme={parseTheme(globalTheme)}>
73
- <Toast {...defaultProps} />
75
+ <Toast {...makeProps({ message: "1 module copied to clipboard", action: vi.fn() })} />
74
76
  </ThemeProvider>,
75
77
  );
76
78
 
@@ -79,11 +81,9 @@ describe("Toast component events", () => {
79
81
  });
80
82
 
81
83
  it("should change visibility after 5000 ms", async () => {
82
- defaultProps.message = "1 module copied to clipboard";
83
-
84
84
  render(
85
85
  <ThemeProvider theme={parseTheme(globalTheme)}>
86
- <Toast {...defaultProps} />
86
+ <Toast {...makeProps({ message: "1 module copied to clipboard" })} />
87
87
  </ThemeProvider>,
88
88
  );
89
89
 
@@ -92,11 +92,9 @@ describe("Toast component events", () => {
92
92
  });
93
93
 
94
94
  it("should contain closing animation class on click close button", async () => {
95
- defaultProps.message = "1 module copied to clipboard";
96
-
97
95
  render(
98
96
  <ThemeProvider theme={parseTheme(globalTheme)}>
99
- <Toast {...defaultProps} />
97
+ <Toast {...makeProps({ message: "1 module copied to clipboard" })} />
100
98
  </ThemeProvider>,
101
99
  );
102
100
 
@@ -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 = jest.fn();
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: jest.fn(),
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: jest.fn(),
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: jest.fn(),
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
- jest.mock("react-redux", () => {
11
- const actual = jest.requireActual("react-redux");
11
+ vi.mock("react-redux", async () => {
12
+ const actual = await vi.importActual("react-redux");
12
13
  return {
13
14
  ...actual,
14
- useSelector: jest.fn(),
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 jest.MockedFunction<typeof useSelector>;
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
- jest.clearAllMocks();
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
+ });