@griddo/ax 1.69.9 → 1.72.1

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 (165) hide show
  1. package/config/jest/componentsMock.js +0 -26
  2. package/package.json +4 -3
  3. package/src/Style/index.tsx +1 -1
  4. package/src/__tests__/components/ElementsTooltip/ElementsTooltip.test.tsx +97 -0
  5. package/src/__tests__/components/EmptyState/EmptyState.test.tsx +78 -0
  6. package/src/__tests__/components/FieldContainer/FieldContainer.test.tsx +82 -0
  7. package/src/__tests__/components/Fields/AnalyticsField/AnalyticsField.test.tsx +1 -1
  8. package/src/__tests__/components/Fields/AnalyticsField/PageAnalytics/PageAnalytics.test.tsx +1 -15
  9. package/src/__tests__/components/Fields/AnalyticsField/StructuredDataAnalytics/StructuredDataAnalytics.test.tsx +1 -16
  10. package/src/__tests__/components/Fields/ArrayFieldGroup/ArrayFieldGroup.test.tsx +8 -17
  11. package/src/__tests__/components/Fields/AsyncCheckGroup/AsyncCheckGroup.test.tsx +4 -16
  12. package/src/__tests__/components/Fields/AsyncSelect/AsyncSelect.test.tsx +2 -20
  13. package/src/__tests__/components/Fields/CheckField/CheckField.test.tsx +6 -6
  14. package/src/__tests__/components/Fields/CheckGroup/CheckGroup.test.tsx +15 -15
  15. package/src/__tests__/components/Fields/ColorPicker/ColorPicker.test.tsx +7 -16
  16. package/src/__tests__/components/Fields/ComponentArray/ComponentArray.test.tsx +2 -23
  17. package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/MixableComponentArray.test.tsx +11 -31
  18. package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/PasteModuleButton/PasteModuleButton.test.tsx +15 -21
  19. package/src/__tests__/components/Fields/ComponentArray/SameComponentArray/SameComponentArray.test.tsx +6 -25
  20. package/src/__tests__/components/Fields/ComponentContainer/ComponentContainer.test.tsx +559 -0
  21. package/src/__tests__/components/Fields/ConditionalField/ConditionalField.test.tsx +1 -1
  22. package/src/__tests__/components/Fields/DateField/DateField.test.tsx +1 -1
  23. package/src/__tests__/components/Fields/FieldGroup/FieldGroup.test.tsx +1 -1
  24. package/src/__tests__/components/Fields/FieldsDivider/FieldsDivider.test.tsx +1 -1
  25. package/src/__tests__/components/Fields/FileField/FileField.test.tsx +3 -3
  26. package/src/__tests__/components/Fields/HeadingField/HeadingField.test.tsx +6 -6
  27. package/src/__tests__/components/Fields/HiddenField/HiddenField.test.tsx +2 -8
  28. package/src/__tests__/components/Fields/ImageField/ImageField.test.tsx +471 -0
  29. package/src/__tests__/components/Fields/MultiCheckSelect/MultiCheckSelect.test.tsx +2 -16
  30. package/src/__tests__/components/Fields/MultiCheckSelectGroup/MultiCheckSelectGroup.test.tsx +2 -2
  31. package/src/__tests__/components/Fields/NoteField/NoteField.test.tsx +2 -7
  32. package/src/__tests__/components/Fields/NumberField/NumberField.test.tsx +2 -15
  33. package/src/__tests__/components/Fields/RadioField/RadioField.test.tsx +2 -12
  34. package/src/__tests__/components/Fields/ReferenceField/ReferenceField.test.tsx +171 -19
  35. package/src/__tests__/components/Fields/RichText/RichText.test.tsx +2 -13
  36. package/src/__tests__/components/Fields/Select/Select.test.tsx +3 -23
  37. package/src/__tests__/components/Fields/SliderField/SliderField.test.tsx +2 -15
  38. package/src/__tests__/components/Fields/TagField/TagField.test.tsx +4 -4
  39. package/src/__tests__/components/Fields/TextArea/TextArea.test.tsx +1 -1
  40. package/src/__tests__/components/Fields/TextField/TextField.test.tsx +6 -6
  41. package/src/__tests__/components/Fields/TimeField/HourInput/HourInput.test.tsx +142 -0
  42. package/src/__tests__/components/Fields/TimeField/TimeField.test.tsx +100 -0
  43. package/src/__tests__/components/Fields/ToggleField/ToggleField.test.tsx +2 -10
  44. package/src/__tests__/components/Fields/Tooltip/Tooltip.test.tsx +152 -0
  45. package/src/__tests__/components/Fields/UniqueCheck/UniqueCheck.test.tsx +3 -3
  46. package/src/__tests__/components/Fields/UrlField/UrlField.test.tsx +4 -4
  47. package/src/__tests__/components/Fields/VisualUniqueSelection/ImageSelection/ImageSelection.test.tsx +2 -14
  48. package/src/__tests__/components/Fields/VisualUniqueSelection/ScrollableSelection/ScrollableSelection.test.tsx +6 -20
  49. package/src/__tests__/components/Fields/VisualUniqueSelection/VisualUniqueSelection.test.tsx +3 -29
  50. package/src/__tests__/components/Fields/Wysiwyg/Wysiwyg.test.tsx +1 -1
  51. package/src/__tests__/components/FieldsBehavior/FieldsBehavior.test.tsx +149 -0
  52. package/src/__tests__/components/SubNav/SubNav.test.tsx +37 -0
  53. package/src/__tests__/components/TableCounter/TableCounter.test.tsx +51 -0
  54. package/src/__tests__/components/TableFilters/CategoryFilter/CategoryFilter.test.tsx +241 -0
  55. package/src/__tests__/components/TableFilters/CustomizeFilters/CustomizeFilters.test.tsx +131 -0
  56. package/src/__tests__/components/TableFilters/DateFilter/DateFilter.test.tsx +148 -0
  57. package/src/__tests__/components/TableFilters/LiveFilter/LiveFilter.test.tsx +266 -0
  58. package/src/__tests__/components/TableFilters/NameFilter/NameFilter.test.tsx +196 -0
  59. package/src/__tests__/components/TableFilters/SiteFilter/SiteFilter.test.tsx +318 -0
  60. package/src/__tests__/components/TableFilters/StatusFilter/StatusFilter.test.tsx +195 -0
  61. package/src/__tests__/components/TableFilters/TranslationsFilter/TranslationsFilter.test.tsx +157 -0
  62. package/src/__tests__/components/TableFilters/TypeFilter/TypeFilter.test.tsx +165 -0
  63. package/src/__tests__/components/TableList/TableList.test.tsx +119 -0
  64. package/src/__tests__/components/Tabs/Tabs.test.tsx +205 -0
  65. package/src/__tests__/components/Tag/Tag.test.tsx +140 -0
  66. package/src/__tests__/components/Toast/Toast.test.tsx +102 -0
  67. package/src/api/navigation.tsx +1 -1
  68. package/src/components/Browser/index.tsx +1 -1
  69. package/src/components/Button/index.tsx +3 -3
  70. package/src/components/ConfigPanel/NavigationForm/Field/index.tsx +14 -3
  71. package/src/components/ElementsTooltip/index.tsx +10 -9
  72. package/src/components/EmptyState/index.tsx +2 -2
  73. package/src/components/FieldContainer/index.tsx +3 -3
  74. package/src/components/Fields/ArrayFieldGroup/index.tsx +1 -1
  75. package/src/components/Fields/AsyncCheckGroup/index.tsx +1 -1
  76. package/src/components/Fields/AsyncSelect/index.tsx +1 -1
  77. package/src/components/Fields/CheckField/index.tsx +3 -3
  78. package/src/components/Fields/CheckGroup/index.tsx +2 -2
  79. package/src/components/Fields/ComponentContainer/index.tsx +7 -6
  80. package/src/components/Fields/ComponentContainer/style.tsx +2 -2
  81. package/src/components/Fields/HeadingField/index.tsx +1 -1
  82. package/src/components/Fields/HiddenField/index.tsx +1 -1
  83. package/src/components/Fields/ImageField/index.tsx +10 -5
  84. package/src/components/Fields/MultiCheckSelect/index.tsx +3 -3
  85. package/src/components/Fields/NumberField/index.tsx +2 -1
  86. package/src/components/Fields/ReferenceField/ItemList/Item/index.tsx +5 -7
  87. package/src/components/Fields/ReferenceField/ItemList/Item/style.tsx +2 -2
  88. package/src/components/Fields/ReferenceField/ItemList/index.tsx +1 -1
  89. package/src/components/Fields/RichText/index.tsx +10 -6
  90. package/src/components/Fields/Select/index.tsx +2 -2
  91. package/src/components/Fields/SliderField/index.tsx +1 -1
  92. package/src/components/Fields/TextField/index.tsx +2 -7
  93. package/src/components/Fields/TimeField/HourInput/index.tsx +103 -0
  94. package/src/components/Fields/TimeField/HourInput/style.tsx +19 -0
  95. package/src/components/Fields/TimeField/HourInput/utils.tsx +35 -0
  96. package/src/components/Fields/TimeField/index.tsx +57 -0
  97. package/src/components/Fields/TimeField/style.tsx +37 -0
  98. package/src/components/Fields/index.tsx +2 -0
  99. package/src/components/FieldsBehavior/index.tsx +1 -1
  100. package/src/components/FloatingMenu/index.tsx +2 -2
  101. package/src/components/Gallery/GalleryFilters/Type/index.tsx +50 -0
  102. package/src/components/Gallery/GalleryFilters/Type/style.tsx +39 -0
  103. package/src/components/Gallery/GalleryPanel/DetailPanel/index.tsx +2 -1
  104. package/src/components/Gallery/GalleryPanel/GalleryDragAndDrop/style.tsx +3 -3
  105. package/src/components/Gallery/hooks.tsx +10 -4
  106. package/src/components/Gallery/index.tsx +2 -0
  107. package/src/components/Icon/index.tsx +1 -1
  108. package/src/components/IconAction/index.tsx +1 -1
  109. package/src/components/Lists/index.tsx +1 -1
  110. package/src/components/Loading/index.tsx +1 -1
  111. package/src/components/Pagination/index.tsx +1 -1
  112. package/src/components/SideModal/SideModalOption/index.tsx +4 -2
  113. package/src/components/SideModal/index.tsx +1 -1
  114. package/src/components/SubNav/index.tsx +3 -3
  115. package/src/components/SubNav/style.tsx +1 -3
  116. package/src/components/TableCounter/index.tsx +7 -2
  117. package/src/components/TableFilters/CategoryFilter/index.tsx +2 -2
  118. package/src/components/TableFilters/CategoryFilter/style.tsx +1 -10
  119. package/src/components/TableFilters/CustomizeFilters/index.tsx +2 -3
  120. package/src/components/TableFilters/DateFilter/index.tsx +4 -4
  121. package/src/components/TableFilters/LiveFilter/index.tsx +1 -1
  122. package/src/components/TableFilters/LiveFilter/style.tsx +2 -10
  123. package/src/components/TableFilters/NameFilter/index.tsx +4 -4
  124. package/src/components/TableFilters/SiteFilter/index.tsx +16 -13
  125. package/src/components/TableFilters/SiteFilter/style.tsx +1 -10
  126. package/src/components/TableFilters/StatusFilter/index.tsx +3 -3
  127. package/src/components/TableFilters/TranslationsFilter/index.tsx +4 -7
  128. package/src/components/TableFilters/TranslationsFilter/style.tsx +1 -10
  129. package/src/components/TableFilters/TypeFilter/index.tsx +2 -2
  130. package/src/components/TableFilters/TypeFilter/style.tsx +1 -10
  131. package/src/components/TableList/index.tsx +6 -6
  132. package/src/components/TableList/style.tsx +1 -1
  133. package/src/components/Tabs/index.tsx +19 -7
  134. package/src/components/Tag/index.tsx +6 -6
  135. package/src/components/Toast/index.tsx +4 -4
  136. package/src/components/Tooltip/index.tsx +5 -3
  137. package/src/components/index.tsx +2 -0
  138. package/src/containers/Navigation/Defaults/actions.tsx +10 -5
  139. package/src/containers/Navigation/Defaults/utils.tsx +13 -4
  140. package/src/containers/Sites/actions.tsx +7 -0
  141. package/src/containers/Sites/constants.tsx +1 -0
  142. package/src/containers/Sites/interfaces.tsx +6 -0
  143. package/src/containers/Sites/reducer.tsx +4 -0
  144. package/src/containers/StructuredData/actions.tsx +21 -8
  145. package/src/containers/StructuredData/constants.tsx +2 -0
  146. package/src/containers/StructuredData/interfaces.tsx +7 -1
  147. package/src/containers/StructuredData/reducer.tsx +5 -1
  148. package/src/helpers/fields.tsx +2 -2
  149. package/src/helpers/index.tsx +3 -0
  150. package/src/helpers/parseTheme.js +456 -0
  151. package/src/helpers/schemas.tsx +2 -2
  152. package/src/hooks/forms.tsx +2 -1
  153. package/src/modules/App/Routing/NavMenu/index.tsx +9 -1
  154. package/src/modules/Content/BulkHeader/TableHeader/index.tsx +1 -1
  155. package/src/modules/Content/hooks.tsx +19 -12
  156. package/src/modules/Content/index.tsx +23 -14
  157. package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/DefaultsBrowser/index.tsx +3 -0
  158. package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/index.tsx +3 -1
  159. package/src/modules/Navigation/Defaults/DefaultsEditor/index.tsx +16 -18
  160. package/src/modules/Navigation/Defaults/DefaultsEditor/utils.tsx +37 -0
  161. package/src/modules/StructuredData/Form/ConnectedField/index.tsx +3 -2
  162. package/src/modules/StructuredData/Form/index.tsx +22 -17
  163. package/src/modules/StructuredData/StructuredDataList/hooks.tsx +30 -20
  164. package/src/modules/StructuredData/StructuredDataList/index.tsx +24 -14
  165. package/src/types/index.tsx +8 -7
@@ -0,0 +1,471 @@
1
+ import React from "react";
2
+ import axios from "axios";
3
+ import "@testing-library/jest-dom";
4
+ import configureStore from "redux-mock-store";
5
+ import { ThemeProvider } from "styled-components";
6
+ import { mock } from "jest-mock-extended";
7
+ import thunk from "redux-thunk";
8
+
9
+ import { render, screen, cleanup, fireEvent } from "../../../../../config/jest/test-utils";
10
+
11
+ import ImageField, { IImageFieldProps } from "@ax/components/Fields/ImageField";
12
+ import { parseTheme } from "@ax/helpers";
13
+ import globalTheme from "@ax/themes/theme.json";
14
+
15
+ afterEach(() => {
16
+ cleanup();
17
+ });
18
+
19
+ jest.mock("axios");
20
+ const mockedAxios = axios as jest.MockedFunction<typeof axios>;
21
+
22
+ const data = {
23
+ data: [],
24
+ status: 500,
25
+ statusText: "Internal Server Error",
26
+ headers: {},
27
+ config: {},
28
+ };
29
+
30
+ mockedAxios.mockResolvedValue(data);
31
+
32
+ const defaultProps = mock<IImageFieldProps>();
33
+
34
+ const initialStore = {
35
+ gallery: {
36
+ data: {
37
+ items: [],
38
+ isImageSelected: false,
39
+ imageSelected: null,
40
+ page: 1,
41
+ isFinished: false,
42
+ },
43
+ isLoading: {
44
+ init: false,
45
+ more: false,
46
+ },
47
+ isSaving: {
48
+ save: false,
49
+ saveAdd: false,
50
+ delete: false,
51
+ },
52
+ isUploading: false,
53
+ isSuccess: false,
54
+ isError: false,
55
+ errorMsg: "",
56
+ },
57
+ };
58
+
59
+ const middlewares = [thunk];
60
+ const mockStore = configureStore(middlewares);
61
+
62
+ const store = mockStore(initialStore);
63
+
64
+ describe("ImageField component rendering", () => {
65
+ it("should render the component", () => {
66
+ render(
67
+ <ThemeProvider theme={parseTheme(globalTheme)}>
68
+ <ImageField {...defaultProps} />
69
+ </ThemeProvider>,
70
+ { store }
71
+ );
72
+
73
+ expect(screen.getByTestId("fieldWrapper")).toBeTruthy();
74
+ expect(screen.getByTestId("previewDiv")).not.toBeVisible();
75
+ });
76
+
77
+ it("should render the component with linkableImage", () => {
78
+ defaultProps.value = {
79
+ id: 857,
80
+ name: ".png",
81
+ title: "",
82
+ description: "",
83
+ alt: "",
84
+ tags: [],
85
+ url: "kjkajsf",
86
+ thumb: "jasd",
87
+ publicId: "thesaurus",
88
+ damId: "screenshot",
89
+ published: new Date("2022-04-18T08:52:48.334Z"),
90
+ size: 1123589,
91
+ width: 1444,
92
+ height: 640,
93
+ orientation: "L",
94
+ site: "global",
95
+ };
96
+
97
+ defaultProps.selectedContent = {
98
+ component: "LinkableImage",
99
+ editorID: 7,
100
+ parentEditorID: 4,
101
+ title: "",
102
+ alt: "",
103
+ veil: 0,
104
+ file: {
105
+ id: 1001,
106
+ name: "Imagen_Interior_fullstack.png",
107
+ title: "",
108
+ description: "",
109
+ alt: "",
110
+ tags: [],
111
+ url: "https://images.dev.griddo.io/imagen-interior-fullstack",
112
+ thumb: "https://images.dev.griddo.io/w/215/h/161/imagen-interior-fullstack",
113
+ publicId: "thesaurus-dev/Imagen_Interior_fullstack_6c908d9f-b493-4c93-b4d2-a0439bc00820",
114
+ damId: "imagen-interior-fullstack",
115
+ published: "2022-06-30T07:06:54.352Z",
116
+ size: 55286,
117
+ width: 680,
118
+ height: 353,
119
+ orientation: "L",
120
+ site: 113,
121
+ },
122
+ };
123
+
124
+ defaultProps.cropPreview = true;
125
+
126
+ render(
127
+ <ThemeProvider theme={parseTheme(globalTheme)}>
128
+ <ImageField {...defaultProps} />
129
+ </ThemeProvider>,
130
+ { store }
131
+ );
132
+
133
+ expect(screen.getByTestId("fieldWrapper")).toBeTruthy();
134
+ expect(screen.getByTestId("imageDataWrapper")).toBeTruthy();
135
+ expect(screen.getByTestId("previewDiv")).toBeVisible();
136
+ });
137
+
138
+ it("should render the component with image with no url attr", () => {
139
+ defaultProps.value = "image.png";
140
+
141
+ defaultProps.selectedContent = {
142
+ component: "LinkableImage",
143
+ editorID: 7,
144
+ parentEditorID: 4,
145
+ title: "",
146
+ alt: "",
147
+ veil: 0,
148
+ file: {
149
+ id: 1001,
150
+ name: "Imagen_Interior_fullstack.png",
151
+ title: "",
152
+ description: "",
153
+ alt: "",
154
+ tags: [],
155
+ url: "https://images.dev.griddo.io/imagen-interior-fullstack",
156
+ thumb: "https://images.dev.griddo.io/w/215/h/161/imagen-interior-fullstack",
157
+ publicId: "thesaurus-dev/Imagen_Interior_fullstack_6c908d9f-b493-4c93-b4d2-a0439bc00820",
158
+ damId: "imagen-interior-fullstack",
159
+ published: "2022-06-30T07:06:54.352Z",
160
+ size: 55286,
161
+ width: 680,
162
+ height: 353,
163
+ orientation: "L",
164
+ site: 113,
165
+ },
166
+ };
167
+
168
+ render(
169
+ <ThemeProvider theme={parseTheme(globalTheme)}>
170
+ <ImageField {...defaultProps} />
171
+ </ThemeProvider>,
172
+ { store }
173
+ );
174
+
175
+ expect(screen.getByTestId("fieldWrapper")).toBeTruthy();
176
+ expect(screen.queryByTestId("imageDataWrapper")).not.toBeTruthy();
177
+ expect(screen.getByTestId("previewDiv")).toBeVisible();
178
+ });
179
+
180
+ it("should render the component with no image", () => {
181
+ defaultProps.value = null;
182
+
183
+ defaultProps.selectedContent = {
184
+ component: "LinkableImage",
185
+ editorID: 7,
186
+ parentEditorID: 4,
187
+ title: "",
188
+ alt: "",
189
+ veil: 0,
190
+ file: {
191
+ id: 1001,
192
+ name: "Imagen_Interior_fullstack.png",
193
+ title: "",
194
+ description: "",
195
+ alt: "",
196
+ tags: [],
197
+ url: "https://images.dev.griddo.io/imagen-interior-fullstack",
198
+ thumb: "https://images.dev.griddo.io/w/215/h/161/imagen-interior-fullstack",
199
+ publicId: "thesaurus-dev/Imagen_Interior_fullstack_6c908d9f-b493-4c93-b4d2-a0439bc00820",
200
+ damId: "imagen-interior-fullstack",
201
+ published: "2022-06-30T07:06:54.352Z",
202
+ size: 55286,
203
+ width: 680,
204
+ height: 353,
205
+ orientation: "L",
206
+ site: 113,
207
+ },
208
+ };
209
+
210
+ render(
211
+ <ThemeProvider theme={parseTheme(globalTheme)}>
212
+ <ImageField {...defaultProps} />
213
+ </ThemeProvider>,
214
+ { store }
215
+ );
216
+
217
+ expect(screen.getByTestId("fieldWrapper")).toBeTruthy();
218
+ expect(screen.queryByTestId("imageDataWrapper")).not.toBeTruthy();
219
+ expect(screen.getByTestId("previewDiv")).not.toBeVisible();
220
+ });
221
+
222
+ it("should render the component with image with undefined", () => {
223
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
224
+ // @ts-ignore
225
+ defaultProps.value = undefined;
226
+
227
+ defaultProps.selectedContent = {
228
+ component: "LinkableImage",
229
+ editorID: 7,
230
+ parentEditorID: 4,
231
+ title: "",
232
+ alt: "",
233
+ veil: 0,
234
+ file: {
235
+ id: 1001,
236
+ name: "Imagen_Interior_fullstack.png",
237
+ title: "",
238
+ description: "",
239
+ alt: "",
240
+ tags: [],
241
+ url: "https://images.dev.griddo.io/imagen-interior-fullstack",
242
+ thumb: "https://images.dev.griddo.io/w/215/h/161/imagen-interior-fullstack",
243
+ publicId: "thesaurus-dev/Imagen_Interior_fullstack_6c908d9f-b493-4c93-b4d2-a0439bc00820",
244
+ damId: "imagen-interior-fullstack",
245
+ published: "2022-06-30T07:06:54.352Z",
246
+ size: 55286,
247
+ width: 680,
248
+ height: 353,
249
+ orientation: "L",
250
+ site: 113,
251
+ },
252
+ };
253
+
254
+ render(
255
+ <ThemeProvider theme={parseTheme(globalTheme)}>
256
+ <ImageField {...defaultProps} />
257
+ </ThemeProvider>,
258
+ { store }
259
+ );
260
+
261
+ expect(screen.getByTestId("fieldWrapper")).toBeTruthy();
262
+ expect(screen.queryByTestId("imageDataWrapper")).not.toBeTruthy();
263
+ expect(screen.getByTestId("previewDiv")).not.toBeVisible();
264
+ });
265
+ });
266
+
267
+ describe("ImageField triggers", () => {
268
+ it("should handle the onClick", () => {
269
+ defaultProps.value = {
270
+ id: 857,
271
+ name: ".png",
272
+ title: "",
273
+ description: "",
274
+ alt: "",
275
+ tags: [],
276
+ url: "https://images.dev.griddo.io/screenshot-2022-04-13-at-164915",
277
+ thumb: "https://images.dev.griddo.io/w/215/h/161/screenshot-2022-04-13-at-164915",
278
+ publicId: "thesaurus-dev/Screenshot_2022-04-13_at_16.49.15_927293bf-d163-402f-b216-4dc8656ea8c1",
279
+ damId: "screenshot-2022-04-13-at-164915",
280
+ published: new Date("2022-04-18T08:52:48.334Z"),
281
+ size: 1123589,
282
+ width: 1444,
283
+ height: 640,
284
+ orientation: "L",
285
+ site: "global",
286
+ };
287
+
288
+ defaultProps.selectedContent = {
289
+ component: "LinkableImage",
290
+ editorID: 7,
291
+ parentEditorID: 4,
292
+ title: "",
293
+ alt: "",
294
+ veil: 0,
295
+ file: {
296
+ id: 1001,
297
+ name: "Imagen_Interior_fullstack.png",
298
+ title: "",
299
+ description: "",
300
+ alt: "",
301
+ tags: [],
302
+ url: "https://images.dev.griddo.io/imagen-interior-fullstack",
303
+ thumb: "https://images.dev.griddo.io/w/215/h/161/imagen-interior-fullstack",
304
+ publicId: "thesaurus-dev/Imagen_Interior_fullstack_6c908d9f-b493-4c93-b4d2-a0439bc00820",
305
+ damId: "imagen-interior-fullstack",
306
+ published: "2022-06-30T07:06:54.352Z",
307
+ size: 55286,
308
+ width: 680,
309
+ height: 353,
310
+ orientation: "L",
311
+ site: 113,
312
+ },
313
+ };
314
+ const setIsGalleryMock = defaultProps.setIsGalleryOpened as jest.MockedFunction<() => void>;
315
+ defaultProps.disabled = false;
316
+ render(
317
+ <ThemeProvider theme={parseTheme(globalTheme)}>
318
+ <ImageField {...defaultProps} />
319
+ </ThemeProvider>,
320
+ { store }
321
+ );
322
+
323
+ const fieldWrapperAction = screen.getByTestId("fieldWrapper");
324
+ expect(fieldWrapperAction).toBeTruthy();
325
+
326
+ fireEvent.click(fieldWrapperAction);
327
+ expect(setIsGalleryMock).toBeCalled();
328
+ });
329
+
330
+ it("should handle the delete action", () => {
331
+ defaultProps.value = {
332
+ id: 857,
333
+ name: ".png",
334
+ title: "",
335
+ description: "",
336
+ alt: "",
337
+ tags: [],
338
+ url: "https://images.dev.griddo.io/screenshot-2022-04-13-at-164915",
339
+ thumb: "https://images.dev.griddo.io/w/215/h/161/screenshot-2022-04-13-at-164915",
340
+ publicId: "thesaurus-dev/Screenshot_2022-04-13_at_16.49.15_927293bf-d163-402f-b216-4dc8656ea8c1",
341
+ damId: "screenshot-2022-04-13-at-164915",
342
+ published: new Date("2022-04-18T08:52:48.334Z"),
343
+ size: 1123589,
344
+ width: 1444,
345
+ height: 640,
346
+ orientation: "L",
347
+ site: "global",
348
+ };
349
+
350
+ defaultProps.selectedContent = {
351
+ component: "LinkableImage",
352
+ editorID: 7,
353
+ parentEditorID: 4,
354
+ title: "",
355
+ alt: "",
356
+ veil: 0,
357
+ file: {
358
+ id: 1001,
359
+ name: "Imagen_Interior_fullstack.png",
360
+ title: "",
361
+ description: "",
362
+ alt: "",
363
+ tags: [],
364
+ url: "https://images.dev.griddo.io/imagen-interior-fullstack",
365
+ thumb: "https://images.dev.griddo.io/w/215/h/161/imagen-interior-fullstack",
366
+ publicId: "thesaurus-dev/Imagen_Interior_fullstack_6c908d9f-b493-4c93-b4d2-a0439bc00820",
367
+ damId: "imagen-interior-fullstack",
368
+ published: "2022-06-30T07:06:54.352Z",
369
+ size: 55286,
370
+ width: 680,
371
+ height: 353,
372
+ orientation: "L",
373
+ site: 113,
374
+ },
375
+ };
376
+ const onChangeMock = defaultProps.onChange as jest.MockedFunction<(value: any) => void>;
377
+ defaultProps.disabled = false;
378
+ const { rerender } = render(
379
+ <ThemeProvider theme={parseTheme(globalTheme)}>
380
+ <ImageField {...defaultProps} />
381
+ </ThemeProvider>,
382
+ { store }
383
+ );
384
+
385
+ const iconActions = screen.getAllByTestId("icon-action-component");
386
+ expect(iconActions).toHaveLength(2);
387
+
388
+ fireEvent.click(iconActions[1]);
389
+ expect(onChangeMock).toBeCalled();
390
+
391
+ rerender(
392
+ <ThemeProvider theme={parseTheme(globalTheme)}>
393
+ <ImageField {...defaultProps} />
394
+ </ThemeProvider>
395
+ );
396
+ const fieldWrapperAction = screen.getByTestId("fieldWrapper");
397
+ const previewDiv = screen.getByTestId("previewDiv");
398
+ expect(fieldWrapperAction).toBeVisible();
399
+ expect(previewDiv).not.toBeVisible();
400
+ });
401
+
402
+ it("should handle the change action", () => {
403
+ defaultProps.value = {
404
+ id: 857,
405
+ name: ".png",
406
+ title: "",
407
+ description: "",
408
+ alt: "",
409
+ tags: [],
410
+ url: "https://images.dev.griddo.io/screenshot-2022-04-13-at-164915",
411
+ thumb: "https://images.dev.griddo.io/w/215/h/161/screenshot-2022-04-13-at-164915",
412
+ publicId: "thesaurus-dev/Screenshot_2022-04-13_at_16.49.15_927293bf-d163-402f-b216-4dc8656ea8c1",
413
+ damId: "screenshot-2022-04-13-at-164915",
414
+ published: new Date("2022-04-18T08:52:48.334Z"),
415
+ size: 1123589,
416
+ width: 1444,
417
+ height: 640,
418
+ orientation: "L",
419
+ site: "global",
420
+ };
421
+
422
+ defaultProps.selectedContent = {
423
+ component: "LinkableImage",
424
+ editorID: 7,
425
+ parentEditorID: 4,
426
+ title: "",
427
+ alt: "",
428
+ veil: 0,
429
+ file: {
430
+ id: 1001,
431
+ name: "Imagen_Interior_fullstack.png",
432
+ title: "",
433
+ description: "",
434
+ alt: "",
435
+ tags: [],
436
+ url: "https://images.dev.griddo.io/imagen-interior-fullstack",
437
+ thumb: "https://images.dev.griddo.io/w/215/h/161/imagen-interior-fullstack",
438
+ publicId: "thesaurus-dev/Imagen_Interior_fullstack_6c908d9f-b493-4c93-b4d2-a0439bc00820",
439
+ damId: "imagen-interior-fullstack",
440
+ published: "2022-06-30T07:06:54.352Z",
441
+ size: 55286,
442
+ width: 680,
443
+ height: 353,
444
+ orientation: "L",
445
+ site: 113,
446
+ },
447
+ };
448
+ const setIsGalleryMock = defaultProps.setIsGalleryOpened as jest.MockedFunction<() => void>;
449
+ defaultProps.disabled = false;
450
+ const { rerender } = render(
451
+ <ThemeProvider theme={parseTheme(globalTheme)}>
452
+ <ImageField {...defaultProps} />
453
+ </ThemeProvider>,
454
+ { store }
455
+ );
456
+
457
+ const iconActions = screen.getAllByTestId("icon-action-component");
458
+ expect(iconActions).toHaveLength(2);
459
+
460
+ fireEvent.click(iconActions[0]);
461
+ expect(setIsGalleryMock).toBeCalled();
462
+
463
+ rerender(
464
+ <ThemeProvider theme={parseTheme(globalTheme)}>
465
+ <ImageField {...defaultProps} />
466
+ </ThemeProvider>
467
+ );
468
+
469
+ expect(screen.getByTestId("previewDiv")).toBeVisible();
470
+ });
471
+ });
@@ -1,12 +1,11 @@
1
1
  import React from "react";
2
2
  import { ThemeProvider } from "styled-components";
3
- import { parseTheme } from "@griddo/core";
3
+ import { parseTheme } from "@ax/helpers";
4
4
  import globalTheme from "@ax/themes/theme.json";
5
5
  import { mock } from "jest-mock-extended";
6
6
  import { render, screen, cleanup, fireEvent } from "@testing-library/react";
7
- import { ISite } from "@ax/types";
8
7
 
9
- import MultiCheckSelect from "@ax/components/Fields/MultiCheckSelect";
8
+ import MultiCheckSelect, { IMultiCheckSelectProps } from "@ax/components/Fields/MultiCheckSelect";
10
9
 
11
10
  afterEach(cleanup);
12
11
 
@@ -55,16 +54,3 @@ describe("onClick events", () => {
55
54
  expect(screen.getByText("dimensionTwo")).toBeTruthy();
56
55
  });
57
56
  });
58
-
59
- interface IMultiCheckSelectProps {
60
- value: (string | number)[];
61
- onChange: (value: string | (string | number)[]) => void;
62
- site?: ISite | null;
63
- placeholder: string;
64
- source?: string;
65
- className?: string;
66
- mandatory?: boolean;
67
- options?: { name: string; value: string; title: string }[];
68
- selectAllOption?: string;
69
- floating?: boolean;
70
- }
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import Axios from "axios";
3
3
  import { ThemeProvider } from "styled-components";
4
- import { parseTheme } from "@griddo/core";
4
+ import { parseTheme } from "@ax/helpers";
5
5
  import globalTheme from "@ax/themes/theme.json";
6
6
  import { mock } from "jest-mock-extended";
7
7
  import { render, screen, cleanup, fireEvent } from "@testing-library/react";
@@ -101,7 +101,7 @@ describe("onChange events", () => {
101
101
 
102
102
  rerender(Component);
103
103
 
104
- const checkFieldInputs = screen.getAllByTestId("checkFieldInput");
104
+ const checkFieldInputs = screen.getAllByTestId("check-field-input");
105
105
 
106
106
  await act(async () => {
107
107
  fireEvent.click(checkFieldInputs[0]);
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
- import NoteField from "@ax/components/Fields/NoteField";
2
+ import NoteField, { INoteFieldProps } from "@ax/components/Fields/NoteField";
3
3
  import { ThemeProvider } from "styled-components";
4
- import { parseTheme } from "@griddo/core";
4
+ import { parseTheme } from "@ax/helpers";
5
5
  import globalTheme from "@ax/themes/theme.json";
6
6
  import { render, screen, cleanup } from "@testing-library/react";
7
7
  import { mock } from "jest-mock-extended";
@@ -60,8 +60,3 @@ describe("NoteField component rendering", () => {
60
60
  expect(title).toBeTruthy();
61
61
  });
62
62
  });
63
-
64
- interface INoteFieldProps {
65
- value: { title?: string; text: string | JSX.Element };
66
- className?: string;
67
- }
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import NumberField from "@ax/components/Fields/NumberField";
2
+ import NumberField, { INumberFieldProps } from "@ax/components/Fields/NumberField";
3
3
  import { ThemeProvider } from "styled-components";
4
- import { parseTheme } from "@griddo/core";
4
+ import { parseTheme } from "@ax/helpers";
5
5
  import globalTheme from "@ax/themes/theme.json";
6
6
  import { mock } from "jest-mock-extended";
7
7
  import { render, screen, cleanup, fireEvent } from "@testing-library/react";
@@ -94,16 +94,3 @@ describe("onChange events", () => {
94
94
  expect(handleValidation).toHaveBeenCalled();
95
95
  });
96
96
  });
97
-
98
- interface INumberFieldProps {
99
- value?: number;
100
- onChange: (value: number) => void;
101
- name?: string;
102
- error?: boolean;
103
- minValue?: number;
104
- maxValue?: number;
105
- onClickIcon?: () => void;
106
- onBlur?: (value: number) => void;
107
- disabled?: boolean;
108
- handleValidation?: (value: string, validators: Record<string, unknown>) => void;
109
- }
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
- import RadioField from "@ax/components/Fields/RadioField";
2
+ import RadioField, { IRadioFieldProps } from "@ax/components/Fields/RadioField";
3
3
  import { ThemeProvider } from "styled-components";
4
- import { parseTheme } from "@griddo/core";
4
+ import { parseTheme } from "@ax/helpers";
5
5
  import globalTheme from "@ax/themes/theme.json";
6
6
  import { render, screen, cleanup, fireEvent } from "@testing-library/react";
7
7
  import { mock } from "jest-mock-extended";
@@ -94,13 +94,3 @@ describe("onClick events", () => {
94
94
  expect(defaultProps.onChange).toHaveBeenCalledTimes(1);
95
95
  });
96
96
  });
97
-
98
- interface IRadioFieldProps {
99
- name: string;
100
- title: string;
101
- value: string;
102
- checked?: boolean;
103
- error?: boolean;
104
- disabled?: boolean;
105
- onChange?: (value: string) => void;
106
- }