@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
@@ -1501,30 +1501,4 @@ module.exports = {
1501
1501
  },
1502
1502
  },
1503
1503
  },
1504
- parseTheme: (theme) => {
1505
- const color = "#000";
1506
- const gradient = "#000";
1507
- const shadow = "#000";
1508
- const mq = "#000";
1509
- const textStyle = "#000";
1510
- const breakpoints = "#000";
1511
- const fontFamily = "#000";
1512
-
1513
- const returnObject = {
1514
- ...theme,
1515
- fontFamily,
1516
- color,
1517
- colors: color,
1518
- gradient,
1519
- shadow,
1520
- mq,
1521
- textStyle,
1522
- breakpoints,
1523
- fontSizes: "#000",
1524
- negateSpacing: "#000",
1525
- halfSpacing: "#000",
1526
- negateHalfSpacing: "#000",
1527
- };
1528
- return returnObject;
1529
- },
1530
1504
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@griddo/ax",
3
3
  "description": "Griddo Author Experience",
4
- "version": "1.69.9",
4
+ "version": "1.72.1",
5
5
  "authors": [
6
6
  "Álvaro Sánchez' <alvaro.sanches@secuoyas.com>",
7
7
  "Carlos Torres <carlos.torres@secuoyas.com>",
@@ -94,6 +94,7 @@
94
94
  "find-up": "^5.0.0",
95
95
  "fs-extra": "7.0.1",
96
96
  "html-to-draftjs": "^1.5.0",
97
+ "html-to-image": "^1.9.0",
97
98
  "html-webpack-plugin": "4.5.0",
98
99
  "identity-obj-proxy": "3.0.0",
99
100
  "ignore-loader": "^0.1.2",
@@ -133,7 +134,7 @@
133
134
  "redux": "4.0.4",
134
135
  "redux-devtools-extension": "2.13.8",
135
136
  "redux-persist": "6.0.0",
136
- "redux-thunk": "2.3.0",
137
+ "redux-thunk": "^2.4.1",
137
138
  "reflect-metadata": "0.1.13",
138
139
  "resolve": "^1.20.0",
139
140
  "resolve-url-loader": "^4.0.0",
@@ -225,5 +226,5 @@
225
226
  "publishConfig": {
226
227
  "access": "public"
227
228
  },
228
- "gitHead": "58cb140e308cf03cd41d989a58398f159dcdc717"
229
+ "gitHead": "29a2e695f2b1a46ee994dcc93bf7dae93c470c06"
229
230
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
 
3
3
  import { ThemeProvider, createGlobalStyle } from "styled-components";
4
- import { parseTheme } from "@griddo/core";
4
+ import { parseTheme } from "@ax/helpers";
5
5
  import reset from "styled-reset";
6
6
  import { normalize } from "polished";
7
7
  import fonts from "./fonts";
@@ -0,0 +1,97 @@
1
+ import React from "react";
2
+
3
+ import { ThemeProvider } from "styled-components";
4
+ import { render, screen, cleanup } from "@testing-library/react";
5
+ import "@testing-library/jest-dom";
6
+ import { mock } from "jest-mock-extended";
7
+
8
+ import { parseTheme } from "@ax/helpers";
9
+
10
+ import ElementsTooltip, { IElementsTooltipProps } from "@ax/components/ElementsTooltip";
11
+ import globalTheme from "@ax/themes/theme.json";
12
+
13
+ afterEach(cleanup);
14
+
15
+ const defaultProps = mock<IElementsTooltipProps>();
16
+
17
+ describe("Tooltip component rendering", () => {
18
+ it("should not render the component", () => {
19
+ render(
20
+ <ThemeProvider theme={parseTheme(globalTheme)}>
21
+ <ElementsTooltip {...defaultProps} />
22
+ </ThemeProvider>
23
+ );
24
+
25
+ const elementsTooltipWrapper = screen.queryByTestId("elements-wrapper");
26
+
27
+ expect(elementsTooltipWrapper).not.toBeTruthy();
28
+ });
29
+
30
+ it("should render the component with one element visible", () => {
31
+ defaultProps.elements = ["uno", "dos", "tres"];
32
+ defaultProps.colors = { uno: "#fff" };
33
+ defaultProps.rounded = true;
34
+
35
+ render(
36
+ <ThemeProvider theme={parseTheme(globalTheme)}>
37
+ <ElementsTooltip {...defaultProps} />
38
+ </ThemeProvider>
39
+ );
40
+
41
+ const elementsWrapper = screen.findByTestId("elements-wrapper");
42
+ const element = screen.queryAllByTestId("element");
43
+ const remainingElements = screen.queryByTestId("remaining-element");
44
+ const divElement = screen.queryAllByTestId("div-element");
45
+ const rowElement = screen.queryAllByTestId("row-element");
46
+
47
+ expect(elementsWrapper).toBeTruthy();
48
+ expect(element).toHaveLength(1);
49
+ expect(remainingElements).toHaveTextContent("+2");
50
+ expect(divElement).toHaveLength(3);
51
+ expect(rowElement).toHaveLength(3);
52
+ });
53
+
54
+ it("should render the component with three elements visibles", () => {
55
+ defaultProps.elements = ["uno", "dos", "tres"];
56
+ defaultProps.defaultElements = 3;
57
+ defaultProps.maxChar = 1;
58
+
59
+ render(
60
+ <ThemeProvider theme={parseTheme(globalTheme)}>
61
+ <ElementsTooltip {...defaultProps} />
62
+ </ThemeProvider>
63
+ );
64
+
65
+ const elementsTooltipWrapper = screen.findByTestId("elements-wrapper");
66
+ const elementTooltip = screen.queryAllByTestId("element");
67
+ const remainingElements = screen.queryByTestId("remaining-element");
68
+
69
+ expect(elementsTooltipWrapper).toBeTruthy();
70
+ expect(elementTooltip).toHaveLength(3);
71
+ expect(remainingElements).toBeNull();
72
+ });
73
+
74
+ it("should render the component with one row", () => {
75
+ defaultProps.elements = ["uno", "dos", "tres"];
76
+ defaultProps.defaultElements = 1;
77
+ defaultProps.elementsPerRow = 3;
78
+
79
+ render(
80
+ <ThemeProvider theme={parseTheme(globalTheme)}>
81
+ <ElementsTooltip {...defaultProps} />
82
+ </ThemeProvider>
83
+ );
84
+
85
+ const elementsWrapper = screen.findByTestId("elements-wrapper");
86
+ const element = screen.queryAllByTestId("element");
87
+ const remainingElements = screen.queryByTestId("remaining-element");
88
+ const divElement = screen.queryAllByTestId("div-element");
89
+ const rowElement = screen.queryAllByTestId("row-element");
90
+
91
+ expect(elementsWrapper).toBeTruthy();
92
+ expect(element).toHaveLength(1);
93
+ expect(remainingElements).toHaveTextContent("+2");
94
+ expect(divElement).toHaveLength(3);
95
+ expect(rowElement).toHaveLength(1);
96
+ });
97
+ });
@@ -0,0 +1,78 @@
1
+ import * as React from "react";
2
+
3
+ import { ThemeProvider } from "styled-components";
4
+ import { mock } from "jest-mock-extended";
5
+ import { render, screen, cleanup, fireEvent } from "@testing-library/react";
6
+ import { parseTheme } from "@ax/helpers";
7
+ import "@testing-library/jest-dom";
8
+
9
+ import EmptyState from "@ax/components/EmptyState";
10
+ import { IEmptyStateProps } from "@ax/types";
11
+ import globalTheme from "@ax/themes/theme.json";
12
+
13
+ afterEach(cleanup);
14
+
15
+ const defaultProps = mock<IEmptyStateProps>();
16
+
17
+ describe("EmptyState component rendering", () => {
18
+ it("should render the component", () => {
19
+ render(
20
+ <ThemeProvider theme={parseTheme(globalTheme)}>
21
+ <EmptyState {...defaultProps} />
22
+ </ThemeProvider>
23
+ );
24
+
25
+ const emptyStateWrapper = screen.getByTestId("wrapper");
26
+ expect(emptyStateWrapper).toBeTruthy();
27
+ expect(emptyStateWrapper).toHaveTextContent("Oh! This Looks so empty");
28
+ });
29
+
30
+ it("should render the component with title", () => {
31
+ defaultProps.title = "The title";
32
+ render(
33
+ <ThemeProvider theme={parseTheme(globalTheme)}>
34
+ <EmptyState {...defaultProps} />
35
+ </ThemeProvider>
36
+ );
37
+
38
+ const emptyStateWrapper = screen.getByTestId("wrapper");
39
+ expect(emptyStateWrapper).toBeTruthy();
40
+ expect(emptyStateWrapper).toHaveTextContent("The title");
41
+ });
42
+
43
+ it("should render the component with message", () => {
44
+ defaultProps.message = "A message";
45
+ render(
46
+ <ThemeProvider theme={parseTheme(globalTheme)}>
47
+ <EmptyState {...defaultProps} />
48
+ </ThemeProvider>
49
+ );
50
+
51
+ const emptyStateWrapper = screen.getByTestId("wrapper");
52
+ expect(emptyStateWrapper).toBeTruthy();
53
+ expect(emptyStateWrapper).toHaveTextContent("A message");
54
+ });
55
+ });
56
+
57
+ describe("EmptyState component events", () => {
58
+ it("should trigger the onClick", () => {
59
+ const actionFunc = jest.fn();
60
+ defaultProps.button = "A button";
61
+ defaultProps.action = actionFunc;
62
+
63
+ render(
64
+ <ThemeProvider theme={parseTheme(globalTheme)}>
65
+ <EmptyState {...defaultProps} />
66
+ </ThemeProvider>
67
+ );
68
+
69
+ const emptyStateWrapper = screen.getByTestId("wrapper");
70
+ const buttonComponent = screen.getByTestId("button-line-inverse");
71
+
72
+ expect(emptyStateWrapper).toBeTruthy();
73
+ expect(buttonComponent).toBeTruthy();
74
+ expect(emptyStateWrapper).toHaveTextContent("A button");
75
+ fireEvent.click(buttonComponent);
76
+ expect(actionFunc).toBeCalled();
77
+ });
78
+ });
@@ -0,0 +1,82 @@
1
+ import * as React from "react";
2
+
3
+ import { ThemeProvider } from "styled-components";
4
+ import { mock } from "jest-mock-extended";
5
+ import { render, screen, cleanup } from "@testing-library/react";
6
+ import { parseTheme } from "@ax/helpers";
7
+ import "@testing-library/jest-dom";
8
+
9
+ import FieldContainer, { IFieldContainerProps } from "@ax/components/FieldContainer";
10
+ import globalTheme from "@ax/themes/theme.json";
11
+
12
+ afterEach(cleanup);
13
+
14
+ const defaultProps = mock<IFieldContainerProps>();
15
+
16
+ describe("FieldContainer component rendering", () => {
17
+ it("should render the component", () => {
18
+ defaultProps.field = {
19
+ title: "Title",
20
+ type: "ComponentContainer",
21
+ key: "title",
22
+ hideable: true,
23
+ slugTo: "/",
24
+ };
25
+ defaultProps.updateValue = jest.fn();
26
+ defaultProps.selectedContent = { id: 1, component: "BasicCard" };
27
+ defaultProps.objKey = "id";
28
+
29
+ render(
30
+ <ThemeProvider theme={parseTheme(globalTheme)}>
31
+ <FieldContainer {...defaultProps} />
32
+ </ThemeProvider>
33
+ );
34
+
35
+ const fieldsBehaviorWrapper = screen.getByTestId("fields-behavior-wrapper");
36
+ expect(fieldsBehaviorWrapper).toBeTruthy();
37
+ });
38
+
39
+ it("should render the FieldsBehavior", () => {
40
+ defaultProps.field = {
41
+ title: "Title",
42
+ type: "TextField",
43
+ key: "semTitle",
44
+ hideable: true,
45
+ slugTo: "/",
46
+ whiteList: ["BasicCard", "CollectionCard"],
47
+ };
48
+ defaultProps.updateValue = jest.fn();
49
+ defaultProps.selectedContent = { id: 1 };
50
+
51
+ render(
52
+ <ThemeProvider theme={parseTheme(globalTheme)}>
53
+ <FieldContainer {...defaultProps} />
54
+ </ThemeProvider>
55
+ );
56
+
57
+ const fieldsBehaviorWrapper = screen.getByTestId("fields-behavior-wrapper");
58
+ expect(fieldsBehaviorWrapper).toBeTruthy();
59
+ });
60
+
61
+ it("should render the HiddenField", () => {
62
+ defaultProps.field = {
63
+ title: "Title",
64
+ type: "TextField",
65
+ key: "semTitle",
66
+ hideable: true,
67
+ slugTo: "/",
68
+ };
69
+ defaultProps.updateValue = jest.fn();
70
+ defaultProps.selectedContent = { id: 1, value: null };
71
+ defaultProps.objKey = "value";
72
+
73
+ render(
74
+ <ThemeProvider theme={parseTheme(globalTheme)}>
75
+ <FieldContainer {...defaultProps} />
76
+ </ThemeProvider>
77
+ );
78
+
79
+ const fieldsBehaviorWrapper = screen.getByTestId("field-single-option");
80
+ expect(fieldsBehaviorWrapper).toBeTruthy();
81
+ });
82
+ });
@@ -6,7 +6,7 @@ import { ThemeProvider } from "styled-components";
6
6
  import { render, cleanup } from "../../../../../config/jest/test-utils";
7
7
 
8
8
  import AnalyticsField from "@ax/components/Fields/AnalyticsField";
9
- import { parseTheme } from "@griddo/core";
9
+ import { parseTheme } from "@ax/helpers";
10
10
  import globalTheme from "@ax/themes/theme.json";
11
11
 
12
12
  const valuesMock = {
@@ -3,7 +3,7 @@ import "@testing-library/jest-dom";
3
3
  import PageAnalytics from "@ax/components/Fields/AnalyticsField/PageAnalytics";
4
4
  import { IAnalytics } from "@ax/types";
5
5
  import { ThemeProvider } from "styled-components";
6
- import { parseTheme } from "@griddo/core";
6
+ import { parseTheme } from "@ax/helpers";
7
7
  import globalTheme from "@ax/themes/theme.json";
8
8
  import { render, cleanup } from "@testing-library/react";
9
9
 
@@ -188,17 +188,3 @@ describe("PageAnalytics component rendering", () => {
188
188
  expect(getAllByText(/Select Dimensions/i)).toHaveLength(2);
189
189
  });
190
190
  });
191
-
192
- export interface IAnalyticsFieldProps {
193
- value: IState;
194
- template: string;
195
- onChange: (value: IState) => void;
196
- analytics: IAnalytics;
197
- }
198
-
199
- export interface IState {
200
- contentSelect: string;
201
- groupSelect: string;
202
- dimensionsSelect: string[];
203
- values: Record<string, string>;
204
- }
@@ -1,9 +1,8 @@
1
1
  import React from "react";
2
2
  import "@testing-library/jest-dom";
3
3
  import StructuredDataAnalytics from "@ax/components/Fields/AnalyticsField/StructuredDataAnalytics";
4
- import { IAnalytics } from "@ax/types";
5
4
  import { ThemeProvider } from "styled-components";
6
- import { parseTheme } from "@griddo/core";
5
+ import { parseTheme } from "@ax/helpers";
7
6
  import globalTheme from "@ax/themes/theme.json";
8
7
  import { render, cleanup } from "@testing-library/react";
9
8
 
@@ -130,17 +129,3 @@ describe("StructuredDataAnalytics component rendering", () => {
130
129
  expect(getByPlaceholderText(/Type a variable/i)).toBeInTheDocument();
131
130
  });
132
131
  });
133
-
134
- export interface IAnalyticsFieldProps {
135
- value: IState;
136
- template: string;
137
- onChange: (value: IState) => void;
138
- analytics: IAnalytics;
139
- }
140
-
141
- export interface IState {
142
- contentSelect: string;
143
- groupSelect: string;
144
- dimensionsSelect: string[];
145
- values: Record<string, string>;
146
- }
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import ArrayFieldGroup from "@ax/components/Fields/ArrayFieldGroup";
2
+ import ArrayFieldGroup, { IProps } from "@ax/components/Fields/ArrayFieldGroup";
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, fireEvent, cleanup, act } from "@testing-library/react";
7
7
  import { mock } from "jest-mock-extended";
@@ -21,7 +21,7 @@ describe("ArrayFieldGroup component rendering", () => {
21
21
  );
22
22
  });
23
23
 
24
- expect(screen.getByTestId("buttonLineInverse")).toBeTruthy();
24
+ expect(screen.getByTestId("button-line-inverse")).toBeTruthy();
25
25
  });
26
26
 
27
27
  it("should render the component with ArrayFieldInline", async () => {
@@ -71,7 +71,7 @@ describe("ArrayFieldGroup component rendering", () => {
71
71
  );
72
72
  });
73
73
 
74
- expect(screen.getByTestId("buttonLineInverse")).toBeTruthy();
74
+ expect(screen.getByTestId("button-line-inverse")).toBeTruthy();
75
75
  expect(screen.getByTestId("arrayFieldInline")).toBeTruthy();
76
76
 
77
77
  const fieldProps2 = {
@@ -147,7 +147,7 @@ describe("ArrayFieldGroup component rendering", () => {
147
147
  );
148
148
  });
149
149
 
150
- expect(screen.getByTestId("buttonLineInverse")).toBeTruthy();
150
+ expect(screen.getByTestId("button-line-inverse")).toBeTruthy();
151
151
  expect(screen.getByTestId("arrayFieldItem")).toBeTruthy();
152
152
 
153
153
  const fieldProps2 = {
@@ -209,8 +209,8 @@ describe("ArrayFieldGroup component events", () => {
209
209
  );
210
210
  });
211
211
 
212
- expect(screen.getByTestId("buttonLineInverse")).toBeTruthy();
213
- fireEvent.click(screen.getByTestId("buttonLineInverse"));
212
+ expect(screen.getByTestId("button-line-inverse")).toBeTruthy();
213
+ fireEvent.click(screen.getByTestId("button-line-inverse"));
214
214
  expect(onChangeMock).toHaveBeenCalled();
215
215
  });
216
216
 
@@ -262,16 +262,7 @@ describe("ArrayFieldGroup component events", () => {
262
262
  });
263
263
 
264
264
  expect(screen.getByTestId("arrayFieldInline")).toBeTruthy();
265
- fireEvent.click(screen.getByTestId("iconActionComponent"));
265
+ fireEvent.click(screen.getByTestId("icon-action-component"));
266
266
  expect(onChangeMock).toHaveBeenCalled();
267
267
  });
268
268
  });
269
-
270
- interface IProps {
271
- value: Record<string, unknown>[];
272
- name: string;
273
- onChange: (value: Record<string, unknown>[]) => void;
274
- innerFields: any[];
275
- divider: { title: string; text: string };
276
- arrayType: string;
277
- }
@@ -1,8 +1,8 @@
1
1
  import React from "react";
2
2
  import axios from "axios";
3
- import AsyncCheckGroup from "@ax/components/Fields/AsyncCheckGroup";
3
+ import AsyncCheckGroup, { IAsyncCheckGroup } from "@ax/components/Fields/AsyncCheckGroup";
4
4
  import { ThemeProvider } from "styled-components";
5
- import { parseTheme } from "@griddo/core";
5
+ import { parseTheme } from "@ax/helpers";
6
6
  import globalTheme from "@ax/themes/theme.json";
7
7
  import { render, screen, cleanup, act } from "@testing-library/react";
8
8
  import { ISite } from "@ax/types";
@@ -67,7 +67,7 @@ describe("AsyncCheckGroup component rendering", () => {
67
67
  );
68
68
  });
69
69
 
70
- expect(screen.getAllByTestId("checkFieldLabel")).toHaveLength(6);
70
+ expect(screen.getAllByTestId("check-field-label")).toHaveLength(6);
71
71
  });
72
72
 
73
73
  it("should render the component with no options", async () => {
@@ -91,18 +91,6 @@ describe("AsyncCheckGroup component rendering", () => {
91
91
  </ThemeProvider>
92
92
  );
93
93
  });
94
- expect(screen.queryByTestId("checkFieldLabel")).not.toBeTruthy();
94
+ expect(screen.queryByTestId("check-field-label")).not.toBeTruthy();
95
95
  });
96
96
  });
97
-
98
- interface IAsyncCheckGroup {
99
- value: any[];
100
- site?: ISite | null;
101
- source: string;
102
- onChange: (value: any) => void;
103
- disabled?: boolean;
104
- error?: boolean;
105
- handleValidation?: (value: string | any[]) => void;
106
- validators?: Record<string, unknown>;
107
- fullHeight?: boolean;
108
- }
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
2
  import axios from "axios";
3
3
  import "@testing-library/jest-dom";
4
- import AsyncSelect from "@ax/components/Fields/AsyncSelect";
4
+ import AsyncSelect, { IAsyncSelectProps } from "@ax/components/Fields/AsyncSelect";
5
5
  import { ThemeProvider } from "styled-components";
6
- import { parseTheme } from "@griddo/core";
6
+ import { parseTheme } from "@ax/helpers";
7
7
  import globalTheme from "@ax/themes/theme.json";
8
8
  import { render, screen, cleanup, act } from "@testing-library/react";
9
9
  import { ISite } from "@ax/types";
@@ -286,21 +286,3 @@ describe("AsyncSelect component events", () => {
286
286
  expect(screen.getByTestId("asyncSelect")).toHaveTextContent("English test");
287
287
  });
288
288
  });
289
-
290
- interface IAsyncSelectProps {
291
- name: string;
292
- value: any;
293
- entity?: string;
294
- entityId?: string | number;
295
- error?: boolean;
296
- disabled?: boolean;
297
- onChange: (value: string) => void;
298
- site: ISite;
299
- lang: string;
300
- selectedContent: any;
301
- mandatory?: boolean;
302
- placeholder?: string;
303
- filter?: any[];
304
- options?: any;
305
- source?: string;
306
- }
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import CheckField from "@ax/components/Fields/CheckField";
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
 
@@ -27,8 +27,8 @@ describe("CheckField component rendering", () => {
27
27
  </ThemeProvider>
28
28
  );
29
29
 
30
- const checkFieldLabel = screen.getByTestId("checkFieldLabel");
31
- const checkFieldInput = screen.getByTestId("checkFieldInput");
30
+ const checkFieldLabel = screen.getByTestId("check-field-label");
31
+ const checkFieldInput = screen.getByTestId("check-field-input");
32
32
  const checkFieldCheckMark = screen.getByTestId("checkFieldCheckMark");
33
33
 
34
34
  expect(checkFieldLabel).toBeTruthy();
@@ -55,7 +55,7 @@ describe("CheckField component rendering", () => {
55
55
  </ThemeProvider>
56
56
  );
57
57
 
58
- const checkFieldInput = screen.getByTestId("checkFieldInput");
58
+ const checkFieldInput = screen.getByTestId("check-field-input");
59
59
 
60
60
  expect(checkFieldInput).toBeTruthy();
61
61
  });
@@ -83,8 +83,8 @@ describe("CheckField events", () => {
83
83
  </ThemeProvider>
84
84
  );
85
85
 
86
- const checkFieldLabel = screen.getByTestId("checkFieldLabel");
87
- const checkFieldInput = screen.getByTestId<HTMLInputElement>("checkFieldInput");
86
+ const checkFieldLabel = screen.getByTestId("check-field-label");
87
+ const checkFieldInput = screen.getByTestId<HTMLInputElement>("check-field-input");
88
88
 
89
89
  expect(checkFieldLabel).toBeTruthy();
90
90
  expect(checkFieldInput).toBeTruthy();
@@ -8,7 +8,7 @@ import CheckGroup from "@ax/components/Fields/CheckGroup";
8
8
  import { ThemeProvider } from "styled-components";
9
9
  import globalTheme from "@ax/themes/theme.json";
10
10
 
11
- import { parseTheme } from "@griddo/core";
11
+ import { parseTheme } from "@ax/helpers";
12
12
 
13
13
  afterEach(cleanup);
14
14
 
@@ -28,7 +28,7 @@ describe("CheckField component rendering", () => {
28
28
  </ThemeProvider>
29
29
  );
30
30
 
31
- expect(screen.findByTestId("CheckGroupFieldgroup")).toBeTruthy();
31
+ expect(screen.findByTestId("check-group-field-group")).toBeTruthy();
32
32
  });
33
33
 
34
34
  it("should render the component with CheckField", async () => {
@@ -53,8 +53,8 @@ describe("CheckField component rendering", () => {
53
53
  </ThemeProvider>
54
54
  );
55
55
 
56
- expect(screen.findByTestId("CheckGroupFieldgroup")).toBeTruthy();
57
- expect(await screen.findAllByTestId("checkFieldLabel")).toHaveLength(2);
56
+ expect(screen.findByTestId("check-group-field-group")).toBeTruthy();
57
+ expect(await screen.findAllByTestId("check-field-label")).toHaveLength(2);
58
58
  });
59
59
  });
60
60
 
@@ -84,9 +84,9 @@ describe("CheckField events", () => {
84
84
  </ThemeProvider>
85
85
  );
86
86
 
87
- expect(screen.findByTestId("CheckGroupFieldgroup")).toBeTruthy();
88
- expect(await screen.findAllByTestId("checkFieldLabel")).toHaveLength(2);
89
- const checkFieldInput = await screen.queryAllByTestId<HTMLInputElement>("checkFieldInput");
87
+ expect(screen.findByTestId("check-group-field-group")).toBeTruthy();
88
+ expect(await screen.findAllByTestId("check-field-label")).toHaveLength(2);
89
+ const checkFieldInput = await screen.queryAllByTestId<HTMLInputElement>("check-field-input");
90
90
  fireEvent.change(checkFieldInput[0], {
91
91
  target: { value: "name", checked: true },
92
92
  });
@@ -119,8 +119,8 @@ describe("CheckField events", () => {
119
119
  </ThemeProvider>
120
120
  );
121
121
 
122
- expect(await screen.findAllByTestId("checkFieldLabel")).toHaveLength(2);
123
- const checkFieldInput = await screen.queryAllByTestId<HTMLInputElement>("checkFieldInput");
122
+ expect(await screen.findAllByTestId("check-field-label")).toHaveLength(2);
123
+ const checkFieldInput = await screen.queryAllByTestId<HTMLInputElement>("check-field-input");
124
124
  fireEvent.change(checkFieldInput[0], {
125
125
  target: { value: "all", checked: true },
126
126
  });
@@ -156,8 +156,8 @@ describe("CheckField events", () => {
156
156
  <CheckGroup {...props} />
157
157
  </ThemeProvider>
158
158
  );
159
- expect(await screen.findAllByTestId("checkFieldLabel")).toHaveLength(3);
160
- const checkFieldInputs = await screen.queryAllByTestId("checkFieldInput");
159
+ expect(await screen.findAllByTestId("check-field-label")).toHaveLength(3);
160
+ const checkFieldInputs = await screen.queryAllByTestId("check-field-input");
161
161
 
162
162
  await user.type(checkFieldInputs[1], "name");
163
163
  await user.type(checkFieldInputs[2], "surname");
@@ -200,9 +200,9 @@ describe("CheckField events", () => {
200
200
  </ThemeProvider>
201
201
  );
202
202
 
203
- expect(await screen.findAllByTestId("checkFieldLabel")).toHaveLength(4);
203
+ expect(await screen.findAllByTestId("check-field-label")).toHaveLength(4);
204
204
 
205
- const checkFieldInputs = await screen.queryAllByTestId("checkFieldInput");
205
+ const checkFieldInputs = await screen.queryAllByTestId("check-field-input");
206
206
 
207
207
  await user.type(checkFieldInputs[1], "name");
208
208
  expect(onChangeMock).toHaveBeenCalledTimes(1);
@@ -247,9 +247,9 @@ describe("CheckField events", () => {
247
247
  </ThemeProvider>
248
248
  );
249
249
 
250
- expect(await screen.findAllByTestId("checkFieldLabel")).toHaveLength(4);
250
+ expect(await screen.findAllByTestId("check-field-label")).toHaveLength(4);
251
251
 
252
- const checkFieldInputs = await screen.queryAllByTestId("checkFieldInput");
252
+ const checkFieldInputs = await screen.queryAllByTestId("check-field-input");
253
253
  await user.type(checkFieldInputs[1], "name");
254
254
 
255
255
  expect(onChangeMock).toHaveBeenCalledTimes(1);