@griddo/ax 10.1.96 → 10.2.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 (201) hide show
  1. package/package.json +3 -2
  2. package/src/__mocks__/axios/Roles.ts +10 -0
  3. package/src/__mocks__/axios/UserList.ts +545 -0
  4. package/src/__mocks__/store/GenericStore.ts +25 -0
  5. package/src/__mocks__/store/Roles.ts +1050 -0
  6. package/src/__mocks__/store/SitesList.ts +7 -1
  7. package/src/__mocks__/store/UserList.ts +482 -0
  8. package/src/__mocks__/store/UsersCreate.ts +298 -0
  9. package/src/__tests__/components/Avatar/Avatar.test.tsx +49 -48
  10. package/src/__tests__/components/ConfigPanel/ConfigPanel.test.tsx +2 -0
  11. package/src/__tests__/components/ConfigPanel/Form/Form.test.tsx +2 -0
  12. package/src/__tests__/components/ConfigPanel/GlobalPageForm/GlobalPageForm.test.tsx +25 -0
  13. package/src/__tests__/components/Fields/Button/Button.test.tsx +2 -2
  14. package/src/__tests__/components/Fields/ImageField/ImageField.test.tsx +2 -0
  15. package/src/__tests__/components/Fields/IntegrationsField/IntegrationsField.test.tsx +44 -2
  16. package/src/__tests__/components/Fields/Tooltip/Tooltip.test.tsx +0 -1
  17. package/src/__tests__/components/Gallery/Gallery.test.tsx +4 -0
  18. package/src/__tests__/components/Gallery/GalleryPanel/DetailPanel/DetailPanel.test.tsx +14 -0
  19. package/src/__tests__/components/Gallery/GalleryPanel/GalleryPanel.test.tsx +2 -1
  20. package/src/__tests__/components/Lists/Lists.test.tsx +3 -3
  21. package/src/__tests__/components/Login/Login.test.tsx +1 -1
  22. package/src/__tests__/components/TableFilters/DateFilter/DateFilter.test.tsx +1 -1
  23. package/src/__tests__/components/TableFilters/NameFilter/NameFilter.test.tsx +1 -1
  24. package/src/__tests__/components/TableFilters/RoleFilter/RoleFilter.test.tsx +165 -0
  25. package/src/__tests__/components/TableFilters/StatusFilter/StatusFilter.test.tsx +2 -2
  26. package/src/__tests__/components/TableFilters/UsersFilter/UsersFilter.test.tsx +153 -0
  27. package/src/__tests__/components/Tabs/Tabs.test.tsx +1 -1
  28. package/src/__tests__/modules/Settings/Integrations/Integrations.test.tsx +6 -0
  29. package/src/__tests__/modules/Sites/Sites.test.tsx +2 -1
  30. package/src/__tests__/modules/Sites/SitesList/ListView/BulkHeader/BulkHeader.test.tsx +14 -5
  31. package/src/__tests__/modules/Sites/SitesList/SitesList.test.tsx +6 -4
  32. package/src/__tests__/modules/Users/Roles/BulkHeader/BulkHeader.test.tsx +158 -0
  33. package/src/__tests__/modules/Users/Roles/Roles.test.tsx +619 -0
  34. package/src/__tests__/modules/Users/UserCreate/SiteItem/RolesModal/RoleItem/RoleItem.test.tsx +107 -0
  35. package/src/__tests__/modules/Users/UserCreate/SiteItem/RolesModal/RolesModal.test.tsx +159 -0
  36. package/src/__tests__/modules/Users/UserCreate/SiteItem/SiteItem.test.tsx +175 -0
  37. package/src/__tests__/modules/Users/UserCreate/UserCreate.test.tsx +320 -0
  38. package/src/__tests__/modules/Users/UserList/UserItem/UserItem.test.tsx +417 -0
  39. package/src/__tests__/modules/Users/UserList/UserList.test.tsx +310 -0
  40. package/src/api/index.tsx +2 -0
  41. package/src/api/roles.tsx +77 -0
  42. package/src/api/users.tsx +22 -2
  43. package/src/components/ActionMenu/index.tsx +12 -6
  44. package/src/components/Avatar/index.tsx +5 -3
  45. package/src/components/Avatar/style.tsx +8 -9
  46. package/src/components/BulkSelectionOptions/index.tsx +19 -12
  47. package/src/components/BulkSelectionOptions/style.tsx +6 -11
  48. package/src/components/ConfigPanel/Form/index.tsx +24 -1
  49. package/src/components/ConfigPanel/GlobalPageForm/index.tsx +17 -4
  50. package/src/components/ElementsTooltip/index.tsx +1 -1
  51. package/src/components/Fields/IntegrationsField/index.tsx +5 -6
  52. package/src/components/Fields/RadioField/index.tsx +1 -1
  53. package/src/components/Fields/ReferenceField/AutoPanel/index.tsx +3 -3
  54. package/src/components/Fields/ReferenceField/ItemList/index.tsx +1 -1
  55. package/src/components/Fields/ReferenceField/ManualPanel/index.tsx +3 -3
  56. package/src/components/Fields/TagsField/index.tsx +4 -2
  57. package/src/components/Fields/TextField/index.tsx +3 -0
  58. package/src/components/Fields/UrlField/index.tsx +5 -5
  59. package/src/components/Gallery/GalleryPanel/DetailPanel/index.tsx +42 -15
  60. package/src/components/Gallery/GalleryPanel/GalleryDragAndDrop/index.tsx +1 -1
  61. package/src/components/Gallery/GalleryPanel/index.tsx +20 -5
  62. package/src/components/Gallery/index.tsx +12 -6
  63. package/src/components/Icon/index.tsx +9 -1
  64. package/src/components/MainWrapper/AppBar/atoms.tsx +2 -2
  65. package/src/components/MainWrapper/AppBar/index.tsx +12 -10
  66. package/src/components/MainWrapper/AppBar/style.tsx +2 -1
  67. package/src/components/Modal/style.tsx +2 -2
  68. package/src/components/Nav/index.tsx +12 -2
  69. package/src/components/PageFinder/index.tsx +2 -2
  70. package/src/components/SearchField/index.tsx +3 -8
  71. package/src/components/TableFilters/PermissionsFilter/index.tsx +50 -0
  72. package/src/{modules/Users/UserList/HeaderMenus/Name → components/TableFilters/PermissionsFilter}/style.tsx +6 -2
  73. package/src/components/TableFilters/RoleFilter/index.tsx +61 -0
  74. package/src/components/TableFilters/RoleFilter/style.tsx +28 -0
  75. package/src/components/TableFilters/UsersFilter/index.tsx +55 -0
  76. package/src/components/TableFilters/UsersFilter/style.tsx +31 -0
  77. package/src/components/TableFilters/index.tsx +6 -0
  78. package/src/components/TableList/TableItem/style.tsx +2 -2
  79. package/src/components/TableList/style.tsx +1 -1
  80. package/src/components/index.tsx +7 -1
  81. package/src/containers/App/actions.tsx +3 -3
  82. package/src/containers/PageEditor/actions.tsx +14 -20
  83. package/src/containers/Redirects/actions.tsx +1 -0
  84. package/src/containers/Sites/actions.tsx +22 -14
  85. package/src/containers/Sites/interfaces.tsx +3 -3
  86. package/src/containers/Sites/reducer.tsx +1 -1
  87. package/src/containers/StructuredData/actions.tsx +15 -3
  88. package/src/containers/Users/actions.tsx +160 -26
  89. package/src/containers/Users/constants.tsx +8 -10
  90. package/src/containers/Users/interfaces.tsx +25 -3
  91. package/src/containers/Users/reducer.tsx +24 -15
  92. package/src/guards/index.tsx +2 -1
  93. package/src/guards/restricted/index.tsx +21 -0
  94. package/src/hooks/index.tsx +3 -0
  95. package/src/hooks/users.tsx +38 -0
  96. package/src/modules/App/Routing/NavMenu/NavItem/index.tsx +10 -5
  97. package/src/modules/App/Routing/NavMenu/index.tsx +16 -7
  98. package/src/modules/App/Routing/PrivateRoute/index.tsx +13 -5
  99. package/src/modules/App/Routing/index.tsx +17 -6
  100. package/src/modules/Categories/CategoriesList/BulkHeader/TableHeader/style.tsx +1 -0
  101. package/src/modules/Categories/CategoriesList/BulkHeader/index.tsx +2 -10
  102. package/src/modules/Categories/CategoriesList/CategoryItem/index.tsx +27 -12
  103. package/src/modules/Categories/CategoriesList/CategoryItem/style.tsx +4 -2
  104. package/src/modules/Categories/CategoriesList/index.tsx +27 -8
  105. package/src/modules/Content/BulkHeader/index.tsx +7 -3
  106. package/src/modules/Content/PageImporter/index.tsx +1 -1
  107. package/src/modules/Content/PageItem/index.tsx +45 -31
  108. package/src/modules/Content/PageItem/style.tsx +2 -1
  109. package/src/modules/Content/index.tsx +22 -13
  110. package/src/modules/FramePreview/index.tsx +2 -2
  111. package/src/modules/GlobalEditor/index.tsx +68 -53
  112. package/src/modules/GlobalSettings/index.tsx +2 -0
  113. package/src/modules/Navigation/Defaults/BulkHeader/index.tsx +2 -10
  114. package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/DefaultsBrowser/index.tsx +9 -11
  115. package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/index.tsx +5 -1
  116. package/src/modules/Navigation/Defaults/DefaultsEditor/index.tsx +10 -5
  117. package/src/modules/Navigation/Defaults/Item/index.tsx +41 -27
  118. package/src/modules/Navigation/Defaults/Item/style.tsx +2 -1
  119. package/src/modules/Navigation/Defaults/index.tsx +29 -10
  120. package/src/modules/Navigation/Menus/List/Table/Header/index.tsx +7 -5
  121. package/src/modules/Navigation/Menus/List/Table/Item/index.tsx +10 -10
  122. package/src/modules/Navigation/Menus/List/Table/Item/style.tsx +2 -1
  123. package/src/modules/Navigation/Menus/List/index.tsx +6 -2
  124. package/src/modules/Navigation/Menus/index.tsx +12 -7
  125. package/src/modules/PageEditor/Editor/index.tsx +5 -1
  126. package/src/modules/PageEditor/PageBrowser/index.tsx +9 -3
  127. package/src/modules/PageEditor/index.tsx +67 -57
  128. package/src/modules/Redirects/index.tsx +97 -98
  129. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/index.tsx +5 -1
  130. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/TemplateConfig/TemplateEditor/Editor/TemplateBrowser/index.tsx +8 -9
  131. package/src/modules/Settings/ContentTypes/DataPacks/Config/Form/index.tsx +7 -3
  132. package/src/modules/Settings/ContentTypes/DataPacks/Config/index.tsx +5 -1
  133. package/src/modules/Settings/ContentTypes/DataPacks/Item/index.tsx +5 -1
  134. package/src/modules/Settings/Integrations/BulkHeader/index.tsx +2 -17
  135. package/src/modules/Settings/Integrations/IntegrationForm/index.tsx +6 -2
  136. package/src/modules/Settings/Integrations/IntegrationItem/index.tsx +18 -8
  137. package/src/modules/Settings/Integrations/IntegrationItem/style.tsx +6 -3
  138. package/src/modules/Settings/Integrations/index.tsx +32 -7
  139. package/src/modules/Settings/Languages/LanguagePanel/index.tsx +6 -2
  140. package/src/modules/Settings/Languages/Table/Header/index.tsx +4 -2
  141. package/src/modules/Settings/Languages/Table/Item/index.tsx +19 -43
  142. package/src/modules/Settings/Languages/Table/Item/style.tsx +11 -54
  143. package/src/modules/Settings/Languages/index.tsx +2 -2
  144. package/src/modules/Settings/SeoAnalyticsSettings/Analytics/index.tsx +2 -4
  145. package/src/modules/Settings/SeoAnalyticsSettings/index.tsx +4 -2
  146. package/src/modules/Settings/Social/index.tsx +1 -1
  147. package/src/modules/Settings/index.tsx +17 -11
  148. package/src/modules/Sites/SitesList/GridView/GridSiteItem/index.tsx +31 -18
  149. package/src/modules/Sites/SitesList/ListView/BulkHeader/index.tsx +21 -12
  150. package/src/modules/Sites/SitesList/ListView/ListSiteItem/index.tsx +31 -18
  151. package/src/modules/Sites/SitesList/RecentSiteItem/index.tsx +1 -1
  152. package/src/modules/Sites/SitesList/index.tsx +16 -24
  153. package/src/modules/Sites/index.tsx +7 -3
  154. package/src/modules/StructuredData/Form/index.tsx +1 -1
  155. package/src/modules/StructuredData/StructuredDataList/BulkHeader/index.tsx +8 -5
  156. package/src/modules/StructuredData/StructuredDataList/ContentFilters/index.tsx +8 -5
  157. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/index.tsx +29 -15
  158. package/src/modules/StructuredData/StructuredDataList/StructuredDataItem/index.tsx +50 -19
  159. package/src/modules/StructuredData/StructuredDataList/index.tsx +9 -6
  160. package/src/modules/Users/Profile/index.tsx +16 -4
  161. package/src/modules/Users/Roles/BulkHeader/TableHeader/index.tsx +52 -0
  162. package/src/modules/Users/Roles/BulkHeader/TableHeader/style.tsx +43 -0
  163. package/src/modules/Users/Roles/BulkHeader/index.tsx +74 -0
  164. package/src/modules/Users/Roles/RoleItem/index.tsx +104 -0
  165. package/src/modules/Users/Roles/RoleItem/style.tsx +127 -0
  166. package/src/modules/Users/Roles/SideModal/index.tsx +81 -0
  167. package/src/modules/Users/Roles/SideModal/style.tsx +132 -0
  168. package/src/modules/Users/Roles/hooks.tsx +78 -0
  169. package/src/modules/Users/Roles/index.tsx +256 -0
  170. package/src/modules/Users/Roles/style.tsx +23 -0
  171. package/src/modules/Users/Roles/utils.tsx +12 -0
  172. package/src/modules/Users/UserCreate/OptionItem/index.tsx +45 -0
  173. package/src/modules/Users/UserCreate/OptionItem/style.tsx +48 -0
  174. package/src/modules/Users/UserCreate/SiteItem/RolesModal/RoleItem/index.tsx +48 -0
  175. package/src/modules/Users/UserCreate/SiteItem/RolesModal/RoleItem/style.tsx +42 -0
  176. package/src/modules/Users/UserCreate/SiteItem/RolesModal/index.tsx +140 -0
  177. package/src/modules/Users/UserCreate/SiteItem/RolesModal/style.tsx +94 -0
  178. package/src/modules/Users/UserCreate/SiteItem/index.tsx +103 -22
  179. package/src/modules/Users/UserCreate/SiteItem/style.tsx +49 -6
  180. package/src/modules/Users/UserCreate/index.tsx +278 -121
  181. package/src/modules/Users/UserCreate/style.tsx +71 -4
  182. package/src/modules/Users/UserEdit/index.tsx +71 -24
  183. package/src/modules/Users/UserForm/atoms.tsx +40 -8
  184. package/src/modules/Users/UserForm/index.tsx +335 -116
  185. package/src/modules/Users/UserForm/style.tsx +70 -6
  186. package/src/modules/Users/UserList/BulkHeader/TableHeader/index.tsx +61 -31
  187. package/src/modules/Users/UserList/BulkHeader/TableHeader/style.tsx +18 -4
  188. package/src/modules/Users/UserList/BulkHeader/index.tsx +10 -3
  189. package/src/modules/Users/UserList/UserItem/index.tsx +121 -38
  190. package/src/modules/Users/UserList/UserItem/style.tsx +32 -14
  191. package/src/modules/Users/UserList/hooks.tsx +13 -8
  192. package/src/modules/Users/UserList/index.tsx +67 -29
  193. package/src/modules/Users/UserList/utils.tsx +1 -1
  194. package/src/modules/Users/index.tsx +20 -3
  195. package/src/routes/index.tsx +9 -17
  196. package/src/routes/multisite.tsx +73 -8
  197. package/src/routes/site.tsx +96 -10
  198. package/src/types/index.tsx +42 -1
  199. package/tsconfig.paths.json +1 -0
  200. package/src/__tests__/components/Avatar/__snapshots__/Avatar.test.tsx.snap +0 -61
  201. package/src/modules/Users/UserList/HeaderMenus/Name/index.tsx +0 -55
@@ -0,0 +1,298 @@
1
+ export const usersStoreMock = {
2
+ users: [
3
+ {
4
+ id: 171,
5
+ username: "prueba",
6
+ name: "Prueba Prueba",
7
+ email: "prueba@secuoyas.com",
8
+ image: {
9
+ id: 811,
10
+ name: "Novak-Djokovic1-1536x961.jpg",
11
+ title: "",
12
+ description: "",
13
+ alt: "",
14
+ tags: [],
15
+ url: "http://images.dev.griddo.io/novak-djokovic1-1536x961",
16
+ thumb: "http://images.dev.griddo.io/w/215/h/161/novak-djokovic1-1536x961",
17
+ publicId: "thesaurus-dev/Novak-Djokovic1-1536x961_4b074dc5-d5b4-4b5f-a220-9b7e7a3f3310",
18
+ damId: "novak-djokovic1-1536x961",
19
+ published: "2022-01-20T16:24:25Z",
20
+ size: 160626,
21
+ width: 1536,
22
+ height: 961,
23
+ orientation: "L",
24
+ site: "global",
25
+ },
26
+ company: null,
27
+ description: null,
28
+ dateCreated: "2022-10-25T07:41:42.000Z",
29
+ failed: 0,
30
+ timezone: "Europe/Madrid",
31
+ enabled: true,
32
+ status: "active",
33
+ roles: [
34
+ { siteId: "global", roles: [1] },
35
+ { siteId: 175, roles: [1] },
36
+ { siteId: 81, roles: [1] },
37
+ ],
38
+ isSuperAdmin: false,
39
+ },
40
+ {
41
+ id: 2,
42
+ username: "admin",
43
+ name: "Admin",
44
+ email: "admin@secuoyas.com",
45
+ image: {
46
+ id: 815,
47
+ name: "novak.jpg",
48
+ title: "Novak",
49
+ description: "",
50
+ alt: "",
51
+ tags: [],
52
+ url: "http://images.dev.griddo.io/novak",
53
+ thumb: "http://images.dev.griddo.io/w/215/h/161/novak",
54
+ publicId: "thesaurus-dev/novak_ad74cc12-0fb4-4817-9867-2f4ab7dece0b",
55
+ damId: "novak",
56
+ published: "2022-01-25T11:13:32Z",
57
+ size: 229850,
58
+ width: 1200,
59
+ height: 1200,
60
+ orientation: "S",
61
+ site: "global",
62
+ },
63
+ company: "",
64
+ description: null,
65
+ dateCreated: null,
66
+ failed: 0,
67
+ timezone: "Europe/Madrid",
68
+ enabled: true,
69
+ status: "active",
70
+ roles: [
71
+ { siteId: "global", roles: [12, 1] },
72
+ { siteId: "all", roles: [1] },
73
+ ],
74
+ isSuperAdmin: false,
75
+ },
76
+ ],
77
+ roles: [
78
+ {
79
+ id: 1,
80
+ name: "Administrator",
81
+ hex: "#C7ECF8",
82
+ description:
83
+ "You can manage all of your site's settings, users and roles. You can create and publish all pages of your site.",
84
+ permissions: { totalPermissions: "78/78", sitePermissions: [], globalPermissions: [] },
85
+ editable: false,
86
+ active: true,
87
+ },
88
+ {
89
+ id: 2,
90
+ name: "Constructor",
91
+ hex: "#B5FBFF",
92
+ description:
93
+ "You can edit your website, add pages, modules, modify URLs, menus, colours and themes, html tags. You don't manage users, or manage the site configuration.",
94
+ permissions: { totalPermissions: "49/78", sitePermissions: [], globalPermissions: [] },
95
+ editable: true,
96
+ active: false,
97
+ },
98
+ {
99
+ id: 3,
100
+ name: "Editor",
101
+ hex: "#E2EE9F",
102
+ description: "You have permission to view, add and edit site content, such as pages and blocks.",
103
+ permissions: { totalPermissions: "21/78", sitePermissions: [], globalPermissions: [] },
104
+ editable: true,
105
+ active: true,
106
+ },
107
+ {
108
+ id: 4,
109
+ name: "SEO Validator",
110
+ hex: "#FFD7C0",
111
+ description: "You can manage SEO tags.",
112
+ permissions: { totalPermissions: "18/78", sitePermissions: [], globalPermissions: [] },
113
+ editable: true,
114
+ active: false,
115
+ },
116
+ {
117
+ id: 5,
118
+ name: "Viewer",
119
+ hex: "#BCCBFF",
120
+ description: "You can view the content, but you cannot edit it.",
121
+ permissions: { totalPermissions: "3/78", sitePermissions: [], globalPermissions: [] },
122
+ editable: false,
123
+ active: true,
124
+ },
125
+ ],
126
+ currentUser: {
127
+ company: "",
128
+ dateCreated: null,
129
+ description: "",
130
+ email: "bot@secuoyas.com",
131
+ enabled: true,
132
+ failed: 0,
133
+ id: 4,
134
+ image: null,
135
+ name: "Bot",
136
+ status: "active",
137
+ timezone: null,
138
+ username: "Griddo Bot",
139
+ isSuperAdmin: true,
140
+ roles: [
141
+ { siteId: "global", roles: [1] },
142
+ { siteId: "all", roles: [1] },
143
+ ],
144
+ },
145
+ currentPermissions: [],
146
+ };
147
+
148
+ export const sitesStoreGlobalMock = {
149
+ totalItems: 2,
150
+ sites: [
151
+ {
152
+ id: 1,
153
+ name: "Site 1",
154
+ theme: "default-theme",
155
+ author: 2,
156
+ pages: [],
157
+ updated: true,
158
+ home: "//cx.dev.griddo.io/pre-griddo/componentfolder",
159
+ isPublished: false,
160
+ bigAvatar: "http://images.dev.griddo.io/griddo-site-thumbnail-ec2ab0ba-9424-4424-8f60-222ec746902d_10",
161
+ favicon: "https://images.dev.griddo.io/by-themascot-1920_2",
162
+ published: "2021-11-03T10:42:32.000Z",
163
+ rendering: false,
164
+ renderingHours: 0,
165
+ shouldBeUpdated: false,
166
+ slug: "/griddo-components",
167
+ smallAvatar: "http://images.dev.griddo.io/griddo-site-thumbnail-ec2ab0ba-9424-4424-8f60-222ec746902d_9",
168
+ socials: null,
169
+ thumbnail: null,
170
+ timezone: "Pacific/Pago_Pago",
171
+ deleted: 0,
172
+ hash: null,
173
+ languageSites: [146, 178],
174
+ lastAccess: "2022-09-05T07:34:19.000Z",
175
+ modified: "2022-06-22T07:17:34.000Z",
176
+ navigationModules: null,
177
+ },
178
+ {
179
+ id: 2,
180
+ name: "Site 2",
181
+ theme: "default-theme",
182
+ author: 2,
183
+ pages: [],
184
+ updated: true,
185
+ home: "//cx.dev.griddo.io/pre-griddo/componentfolder",
186
+ isPublished: false,
187
+ bigAvatar: "http://images.dev.griddo.io/griddo-site-thumbnail-ec2ab0ba-9424-4424-8f60-222ec746902d_10",
188
+ favicon: "https://images.dev.griddo.io/by-themascot-1920_2",
189
+ published: "2021-11-03T10:42:32.000Z",
190
+ rendering: false,
191
+ renderingHours: 0,
192
+ shouldBeUpdated: false,
193
+ slug: "/griddo-components",
194
+ smallAvatar: "http://images.dev.griddo.io/griddo-site-thumbnail-ec2ab0ba-9424-4424-8f60-222ec746902d_9",
195
+ socials: null,
196
+ thumbnail: null,
197
+ timezone: "Pacific/Pago_Pago",
198
+ deleted: 0,
199
+ hash: null,
200
+ languageSites: [146, 178],
201
+ lastAccess: "2022-09-05T07:34:19.000Z",
202
+ modified: "2022-06-22T07:17:34.000Z",
203
+ navigationModules: null,
204
+ },
205
+ ],
206
+ currentSiteInfo: null,
207
+ };
208
+
209
+ export const sitesStoreMock = {
210
+ totalItems: 2,
211
+ sites: [
212
+ {
213
+ id: 1,
214
+ name: "Site 1",
215
+ theme: "default-theme",
216
+ author: 2,
217
+ pages: [],
218
+ updated: true,
219
+ home: "//cx.dev.griddo.io/pre-griddo/componentfolder",
220
+ isPublished: false,
221
+ bigAvatar: "http://images.dev.griddo.io/griddo-site-thumbnail-ec2ab0ba-9424-4424-8f60-222ec746902d_10",
222
+ favicon: "https://images.dev.griddo.io/by-themascot-1920_2",
223
+ published: "2021-11-03T10:42:32.000Z",
224
+ rendering: false,
225
+ renderingHours: 0,
226
+ shouldBeUpdated: false,
227
+ slug: "/griddo-components",
228
+ smallAvatar: "http://images.dev.griddo.io/griddo-site-thumbnail-ec2ab0ba-9424-4424-8f60-222ec746902d_9",
229
+ socials: null,
230
+ thumbnail: null,
231
+ timezone: "Pacific/Pago_Pago",
232
+ deleted: 0,
233
+ hash: null,
234
+ languageSites: [146, 178],
235
+ lastAccess: "2022-09-05T07:34:19.000Z",
236
+ modified: "2022-06-22T07:17:34.000Z",
237
+ navigationModules: null,
238
+ },
239
+ {
240
+ id: 2,
241
+ name: "Site 2",
242
+ theme: "default-theme",
243
+ author: 2,
244
+ pages: [],
245
+ updated: true,
246
+ home: "//cx.dev.griddo.io/pre-griddo/componentfolder",
247
+ isPublished: false,
248
+ bigAvatar: "http://images.dev.griddo.io/griddo-site-thumbnail-ec2ab0ba-9424-4424-8f60-222ec746902d_10",
249
+ favicon: "https://images.dev.griddo.io/by-themascot-1920_2",
250
+ published: "2021-11-03T10:42:32.000Z",
251
+ rendering: false,
252
+ renderingHours: 0,
253
+ shouldBeUpdated: false,
254
+ slug: "/griddo-components",
255
+ smallAvatar: "http://images.dev.griddo.io/griddo-site-thumbnail-ec2ab0ba-9424-4424-8f60-222ec746902d_9",
256
+ socials: null,
257
+ thumbnail: null,
258
+ timezone: "Pacific/Pago_Pago",
259
+ deleted: 0,
260
+ hash: null,
261
+ languageSites: [146, 178],
262
+ lastAccess: "2022-09-05T07:34:19.000Z",
263
+ modified: "2022-06-22T07:17:34.000Z",
264
+ navigationModules: null,
265
+ },
266
+ ],
267
+ currentSiteInfo: {
268
+ id: 2,
269
+ name: "Site 2",
270
+ theme: "default-theme",
271
+ author: 2,
272
+ pages: [],
273
+ updated: true,
274
+ home: "//cx.dev.griddo.io/pre-griddo/componentfolder",
275
+ isPublished: false,
276
+ bigAvatar: "http://images.dev.griddo.io/griddo-site-thumbnail-ec2ab0ba-9424-4424-8f60-222ec746902d_10",
277
+ favicon: "https://images.dev.griddo.io/by-themascot-1920_2",
278
+ published: "2021-11-03T10:42:32.000Z",
279
+ rendering: false,
280
+ renderingHours: 0,
281
+ shouldBeUpdated: false,
282
+ slug: "/griddo-components",
283
+ smallAvatar: "http://images.dev.griddo.io/griddo-site-thumbnail-ec2ab0ba-9424-4424-8f60-222ec746902d_9",
284
+ socials: null,
285
+ thumbnail: null,
286
+ timezone: "Pacific/Pago_Pago",
287
+ deleted: 0,
288
+ hash: null,
289
+ languageSites: [146, 178],
290
+ lastAccess: "2022-09-05T07:34:19.000Z",
291
+ modified: "2022-06-22T07:17:34.000Z",
292
+ navigationModules: null,
293
+ },
294
+ };
295
+
296
+ export const appStoreMock = {
297
+ isSaving: false,
298
+ };
@@ -2,7 +2,6 @@ import * as React from "react";
2
2
  import { ThemeProvider } from "styled-components";
3
3
  import { render, cleanup, screen } from "@testing-library/react";
4
4
  import "@testing-library/jest-dom";
5
- import renderer from "react-test-renderer";
6
5
 
7
6
  import { parseTheme } from "@ax/helpers";
8
7
  import Avatar from "@ax/components/Avatar";
@@ -24,7 +23,7 @@ describe("Avatar component rendering", () => {
24
23
  );
25
24
 
26
25
  const avatarWrapper = screen.getByTestId("avatar-wrapper");
27
- const avatar = screen.queryByTestId("avatar");
26
+ const avatar = screen.getByTestId("avatar");
28
27
 
29
28
  expect(avatarWrapper).toBeTruthy();
30
29
  expect(avatar).toHaveStyle(`width: 32px; height: 32px`);
@@ -36,17 +35,18 @@ describe("Avatar component rendering", () => {
36
35
  it("should render the component only with name", () => {
37
36
  const props = {
38
37
  name: "Ignatius Reilly",
38
+ image: undefined,
39
39
  };
40
40
 
41
- const tree = renderer
42
- .create(
43
- <ThemeProvider theme={parseTheme(globalTheme)}>
44
- <Avatar {...props} />
45
- </ThemeProvider>
46
- )
47
- .toJSON();
41
+ render(
42
+ <ThemeProvider theme={parseTheme(globalTheme)}>
43
+ <Avatar {...props} />
44
+ </ThemeProvider>
45
+ );
48
46
 
49
- expect(tree).toMatchSnapshot();
47
+ const avatar = screen.getByTestId<HTMLElement>("avatar");
48
+ expect(avatar).toBeTruthy();
49
+ expect(avatar).toHaveStyle(`background: url(undefined) center center / cover no-repeat, rgb(230, 231, 248)`);
50
50
  });
51
51
 
52
52
  it("should render the component with image null", () => {
@@ -55,27 +55,35 @@ describe("Avatar component rendering", () => {
55
55
  image: null,
56
56
  };
57
57
 
58
- const tree = renderer
59
- .create(
60
- <ThemeProvider theme={parseTheme(globalTheme)}>
61
- <Avatar {...props} />
62
- </ThemeProvider>
63
- )
64
- .toJSON();
65
-
66
- expect(tree).toMatchSnapshot();
58
+ render(
59
+ <ThemeProvider theme={parseTheme(globalTheme)}>
60
+ <Avatar {...props} />
61
+ </ThemeProvider>
62
+ );
63
+ const avatarWrapper = screen.getByTestId("avatar-wrapper");
64
+ const avatar = screen.getByTestId("avatar");
65
+ expect(avatarWrapper).toBeTruthy();
66
+ expect(avatar).toHaveStyle(`width: 32px; height: 32px`);
67
+ expect(avatar).toHaveStyle(`background: url(null) center center / cover no-repeat, rgb(230, 231, 248)`);
67
68
  });
68
69
 
69
70
  it("should render the component without name or image", () => {
70
- const tree = renderer
71
- .create(
72
- <ThemeProvider theme={parseTheme(globalTheme)}>
73
- <Avatar />
74
- </ThemeProvider>
75
- )
76
- .toJSON();
77
-
78
- expect(tree).toMatchSnapshot();
71
+ const props = {
72
+ name: undefined,
73
+ image: undefined,
74
+ };
75
+
76
+ render(
77
+ <ThemeProvider theme={parseTheme(globalTheme)}>
78
+ <Avatar {...props} />
79
+ </ThemeProvider>
80
+ );
81
+
82
+ const avatarWrapper = screen.getByTestId("avatar-wrapper");
83
+ const avatar = screen.queryByTestId("avatar");
84
+
85
+ expect(avatarWrapper).toBeTruthy();
86
+ expect(avatar).toBeTruthy();
79
87
  });
80
88
 
81
89
  it("should render the component with a wrong image url", () => {
@@ -92,28 +100,21 @@ describe("Avatar component rendering", () => {
92
100
 
93
101
  const avatar = screen.queryByTestId("avatar");
94
102
 
95
- expect(avatar).toHaveStyle(`width: 32px; height: 32px;`);
96
-
97
- const tree = renderer
98
- .create(
99
- <ThemeProvider theme={parseTheme(globalTheme)}>
100
- <Avatar {...props} />
101
- </ThemeProvider>
102
- )
103
- .toJSON();
104
-
105
- expect(tree).toMatchSnapshot();
103
+ expect(avatar).toHaveStyle(`background: url(lolololololo) center center / cover no-repeat, rgb(230, 231, 248)`);
106
104
  });
107
105
 
108
106
  it("should render the component with an empty string as name", () => {
109
- const tree = renderer
110
- .create(
111
- <ThemeProvider theme={parseTheme(globalTheme)}>
112
- <Avatar name="" />
113
- </ThemeProvider>
114
- )
115
- .toJSON();
116
-
117
- expect(tree).toMatchSnapshot();
107
+ const props = {
108
+ name: "",
109
+ };
110
+
111
+ render(
112
+ <ThemeProvider theme={parseTheme(globalTheme)}>
113
+ <Avatar {...props} />
114
+ </ThemeProvider>
115
+ );
116
+
117
+ const avatar = screen.getByTestId("avatar");
118
+ expect(avatar).toBeTruthy();
118
119
  });
119
120
  });
@@ -9,12 +9,14 @@ import "@testing-library/jest-dom";
9
9
  import { parseTheme } from "@ax/helpers";
10
10
  import ConfigPanel, { IStateProps } from "@ax/components/ConfigPanel";
11
11
  import globalTheme from "@ax/themes/theme.json";
12
+ import { defaultStore } from "./../../../__mocks__/store/GenericStore";
12
13
 
13
14
  afterEach(cleanup);
14
15
 
15
16
  const middlewares: any = [];
16
17
  const mockStore = configureStore(middlewares);
17
18
  const initialStore = {
19
+ ...defaultStore,
18
20
  navigation: {
19
21
  currentDefaultsContent: [
20
22
  {
@@ -9,6 +9,7 @@ import "@testing-library/jest-dom";
9
9
  import { parseTheme } from "@ax/helpers";
10
10
  import Form, { IFormProps } from "@ax/components/ConfigPanel/Form";
11
11
  import globalTheme from "@ax/themes/theme.json";
12
+ import { defaultStore } from "./../../../../__mocks__/store/GenericStore";
12
13
 
13
14
  beforeEach(() => {
14
15
  cleanup();
@@ -17,6 +18,7 @@ beforeEach(() => {
17
18
  const middlewares: any = [];
18
19
  const mockStore = configureStore(middlewares);
19
20
  const initialStore = {
21
+ ...defaultStore,
20
22
  navigation: {
21
23
  currentDefaultsContent: [
22
24
  {
@@ -71,11 +71,36 @@ const initialStore = {
71
71
  totalItems: 0,
72
72
  integrationCopy: null,
73
73
  },
74
+ users: {
75
+ currentPermissions: [],
76
+ globalPermissions: [],
77
+ currentUser: {
78
+ company: "",
79
+ dateCreated: null,
80
+ description: "",
81
+ email: "bot@secuoyas.com",
82
+ enabled: true,
83
+ failed: 0,
84
+ id: 4,
85
+ image: null,
86
+ name: "Bot",
87
+ status: "active",
88
+ timezone: null,
89
+ username: "Griddo Bot",
90
+ isSuperAdmin: true,
91
+ roles: [
92
+ { siteId: "global", roles: [1] },
93
+ { siteId: "all", roles: [1] },
94
+ ],
95
+ },
96
+ },
74
97
  };
75
98
 
76
99
  const store = mockStore(initialStore);
77
100
 
78
101
  const defaultProps = mock<IGlobalPageFormProps>();
102
+ const setNotificationActionMock = jest.fn();
103
+ defaultProps.actions.setNotificationAction = setNotificationActionMock;
79
104
 
80
105
  describe("GlobalPageForm component rendering", () => {
81
106
  it("should render PageConnectedField", () => {
@@ -23,7 +23,7 @@ describe("Button component rendering", () => {
23
23
 
24
24
  const buttonElement = screen.getByTestId("button-default");
25
25
  expect(buttonElement).toBeTruthy();
26
- const iconElement = screen.queryByTestId("icon-component");
26
+ const iconElement = screen.queryByTestId("icon-component-");
27
27
  expect(iconElement).not.toBeTruthy();
28
28
  });
29
29
 
@@ -39,7 +39,7 @@ describe("Button component rendering", () => {
39
39
 
40
40
  const buttonElement = screen.getByTestId("button-text");
41
41
  expect(buttonElement).toBeTruthy();
42
- const iconElement = screen.getByTestId("icon-component");
42
+ const iconElement = screen.getByTestId("icon-component-delete");
43
43
  expect(iconElement).toBeTruthy();
44
44
  });
45
45
 
@@ -11,6 +11,7 @@ import { render, screen, cleanup, fireEvent } from "../../../../../config/jest/t
11
11
  import ImageField, { IImageFieldProps } from "@ax/components/Fields/ImageField";
12
12
  import { parseTheme } from "@ax/helpers";
13
13
  import globalTheme from "@ax/themes/theme.json";
14
+ import { defaultStore } from "./../../../../__mocks__/store/GenericStore";
14
15
 
15
16
  afterEach(() => {
16
17
  cleanup();
@@ -32,6 +33,7 @@ mockedAxios.mockResolvedValue(data);
32
33
  const defaultProps = mock<IImageFieldProps>();
33
34
 
34
35
  const initialStore = {
36
+ ...defaultStore,
35
37
  gallery: {
36
38
  data: {
37
39
  items: [],
@@ -23,7 +23,27 @@ jest.mock("axios");
23
23
  const mockedAxios = axios as jest.MockedFunction<typeof axios>;
24
24
 
25
25
  const defaultProps = mock<IIntegrationsFieldProps>();
26
- defaultProps.site.id = 86;
26
+ defaultProps.site = {
27
+ id: 86,
28
+ name: "Site 1",
29
+ theme: "default-theme",
30
+ author: "",
31
+ pages: [],
32
+ updated: true,
33
+ home: "//cx.dev.griddo.io/pre-griddo/componentfolder",
34
+ isPublished: false,
35
+ bigAvatar: "http://images.dev.griddo.io/griddo-site-thumbnail-ec2ab0ba-9424-4424-8f60-222ec746902d_10",
36
+ favicon: "https://images.dev.griddo.io/by-themascot-1920_2",
37
+ published: "2021-11-03T10:42:32.000Z",
38
+ smallAvatar: "http://images.dev.griddo.io/griddo-site-thumbnail-ec2ab0ba-9424-4424-8f60-222ec746902d_9",
39
+ thumbnail: "http://images.dev.griddo.io/griddo-site-thumbnail-ec2ab0ba-9424-4424-8f60-222ec746902d_7",
40
+ timezone: "Pacific/Pago_Pago",
41
+ lastAccess: "2022-09-05T07:34:19.000Z",
42
+ navigationModules: null,
43
+ defaultLanguage: 1,
44
+ path: "",
45
+ domain: 1,
46
+ };
27
47
 
28
48
  const initialStore = {
29
49
  dataPacks: { activated: [] },
@@ -146,6 +166,28 @@ const initialStore = {
146
166
  totalItems: 3,
147
167
  integrationCopy: null,
148
168
  },
169
+ users: {
170
+ currentUser: {
171
+ company: "",
172
+ dateCreated: null,
173
+ description: "",
174
+ email: "bot@secuoyas.com",
175
+ enabled: true,
176
+ failed: 0,
177
+ id: 4,
178
+ image: null,
179
+ name: "Bot",
180
+ status: "active",
181
+ timezone: null,
182
+ username: "Griddo Bot",
183
+ isSuperAdmin: true,
184
+ roles: [
185
+ { siteId: "global", roles: [1] },
186
+ { siteId: "all", roles: [1] },
187
+ ],
188
+ },
189
+ currentPermissions: [],
190
+ },
149
191
  };
150
192
 
151
193
  describe("IntegrationsField component rendering", () => {
@@ -272,7 +314,7 @@ describe("Events", () => {
272
314
  const buttonsDefault = screen.getAllByTestId("button-default");
273
315
  fireEvent.click(buttonsDefault[4]);
274
316
 
275
- const integrationsWithDeletion = initialStore.integrations.integrations.slice(0,3);
317
+ const integrationsWithDeletion = initialStore.integrations.integrations.slice(0, 3);
276
318
 
277
319
  expect(onChange).toHaveBeenLastCalledWith(integrationsWithDeletion);
278
320
  });
@@ -109,7 +109,6 @@ describe("Tooltip events triggering", () => {
109
109
 
110
110
  const tooltipComponent = screen.getByTestId("tooltip-component");
111
111
  const tipComponent = screen.queryByText("content");
112
- const iconComponent = screen.getByTestId("icon-component");
113
112
 
114
113
  defaultProps.hideOnClick = true;
115
114
  rerender(
@@ -14,6 +14,7 @@ import globalTheme from "@ax/themes/theme.json";
14
14
  import { IGetSiteImages, ISite } from "@ax/types";
15
15
  import * as galleryUtils from "@ax/components/Gallery/utils";
16
16
  import * as galleryHooks from "@ax/components/Gallery/hooks";
17
+ import { defaultStore } from "./../../../__mocks__/store/GenericStore";
17
18
 
18
19
  afterEach(() => {
19
20
  cleanup();
@@ -103,6 +104,7 @@ const initialStore = {
103
104
  isError: false,
104
105
  errorMsg: "error",
105
106
  },
107
+ ...defaultStore,
106
108
  };
107
109
 
108
110
  const middlewares: any = [thunk];
@@ -303,6 +305,7 @@ describe("Gallery component rendering", () => {
303
305
  isError: false,
304
306
  errorMsg: "error",
305
307
  },
308
+ ...defaultStore,
306
309
  };
307
310
 
308
311
  defaultGalleryProps.data = defaultDataProps;
@@ -421,6 +424,7 @@ describe("Gallery component rendering", () => {
421
424
  isError: false,
422
425
  errorMsg: "error",
423
426
  },
427
+ ...defaultStore,
424
428
  };
425
429
 
426
430
  const dataProps = {