@griddo/ax 1.72.11 → 1.73.2

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 (76) hide show
  1. package/package.json +2 -2
  2. package/scripts/griddo-sync-schemas.js +1 -1
  3. package/src/__tests__/components/ErrorCenter/ErrorCenter.test.tsx +186 -0
  4. package/src/__tests__/components/Flag/Flag.test.tsx +60 -0
  5. package/src/__tests__/components/FloatingMenu/FloatingMenu.test.tsx +712 -0
  6. package/src/__tests__/components/FloatingPanel/FloatingPanel.test.tsx +149 -0
  7. package/src/__tests__/components/GuardModal/GuardModal.test.tsx +31 -0
  8. package/src/__tests__/components/Icon/Icon.test.tsx +76 -0
  9. package/src/__tests__/components/IconAction/IconAction.test.tsx +91 -0
  10. package/src/__tests__/components/Notification/Notification.test.tsx +206 -0
  11. package/src/__tests__/components/Notification/SubNotification/Subnotification.test.tsx +46 -0
  12. package/src/__tests__/components/ReorderArrows/ReorderArrows.test.tsx +96 -0
  13. package/src/__tests__/components/ResizePanel/ResizePanel.test.tsx +200 -0
  14. package/src/__tests__/components/SearchField/SearchField.test.tsx +375 -0
  15. package/src/api/analytics.tsx +4 -4
  16. package/src/components/ActionMenu/style.tsx +1 -0
  17. package/src/components/ConfigPanel/Form/ConnectedField/NavConnectedField/index.tsx +1 -1
  18. package/src/components/ConfigPanel/Form/ConnectedField/PageConnectedField/Field/index.tsx +2 -1
  19. package/src/components/ConfigPanel/Form/index.tsx +22 -1
  20. package/src/components/ConfigPanel/Form/style.tsx +19 -0
  21. package/src/components/ConfigPanel/GlobalPageForm/index.tsx +22 -3
  22. package/src/components/ConfigPanel/GlobalPageForm/style.tsx +18 -2
  23. package/src/components/ConfigPanel/NavigationForm/Field/index.tsx +25 -13
  24. package/src/components/ConfigPanel/index.tsx +8 -0
  25. package/src/components/ErrorCenter/index.tsx +8 -4
  26. package/src/components/Fields/DateField/DatePickerInput/index.tsx +30 -8
  27. package/src/components/Fields/DateField/index.tsx +8 -2
  28. package/src/components/Fields/Select/index.tsx +1 -0
  29. package/src/components/Flag/index.tsx +13 -11
  30. package/src/components/FloatingMenu/index.tsx +23 -7
  31. package/src/components/FloatingMenu/style.tsx +1 -0
  32. package/src/components/FloatingPanel/index.tsx +9 -3
  33. package/src/components/GuardModal/index.tsx +3 -3
  34. package/src/components/Icon/index.tsx +2 -1
  35. package/src/components/IconAction/index.tsx +3 -3
  36. package/src/components/MainWrapper/AppBar/index.tsx +3 -1
  37. package/src/components/MainWrapper/AppBar/style.tsx +3 -0
  38. package/src/components/MenuItem/index.tsx +1 -1
  39. package/src/components/Modal/index.tsx +1 -1
  40. package/src/components/Notification/SubNotification/index.tsx +33 -0
  41. package/src/components/Notification/SubNotification/style.tsx +49 -0
  42. package/src/components/Notification/index.tsx +31 -17
  43. package/src/components/Notification/style.tsx +33 -8
  44. package/src/components/ReorderArrows/index.tsx +3 -3
  45. package/src/components/ResizePanel/ResizeHandle/index.tsx +29 -38
  46. package/src/components/ResizePanel/index.tsx +13 -15
  47. package/src/components/SearchField/index.tsx +9 -8
  48. package/src/containers/Analytics/actions.tsx +14 -4
  49. package/src/containers/App/actions.tsx +18 -6
  50. package/src/containers/App/reducer.tsx +1 -0
  51. package/src/containers/Domains/actions.tsx +8 -1
  52. package/src/containers/Navigation/Defaults/actions.tsx +16 -2
  53. package/src/containers/PageEditor/actions.tsx +82 -6
  54. package/src/containers/PageEditor/utils.tsx +28 -10
  55. package/src/containers/Redirects/actions.tsx +16 -2
  56. package/src/containers/Sites/actions.tsx +80 -3
  57. package/src/containers/StructuredData/actions.tsx +24 -3
  58. package/src/containers/Users/actions.tsx +8 -1
  59. package/src/forms/errors.tsx +1 -0
  60. package/src/forms/fields.tsx +6 -3
  61. package/src/forms/validators.tsx +14 -4
  62. package/src/guards/error/index.tsx +17 -21
  63. package/src/helpers/dates.tsx +2 -0
  64. package/src/helpers/index.tsx +2 -0
  65. package/src/hooks/modals.tsx +4 -4
  66. package/src/modules/Content/OptionTable/index.tsx +20 -7
  67. package/src/modules/Content/index.tsx +4 -7
  68. package/src/modules/Content/utils.tsx +18 -13
  69. package/src/modules/FramePreview/index.tsx +39 -12
  70. package/src/modules/GlobalEditor/index.tsx +17 -20
  71. package/src/modules/Navigation/Menus/List/Table/index.tsx +2 -2
  72. package/src/modules/PageEditor/Editor/index.tsx +13 -0
  73. package/src/modules/PageEditor/index.tsx +17 -20
  74. package/src/modules/Redirects/RedirectItem/index.tsx +17 -3
  75. package/src/modules/Settings/ContentTypes/DataPacks/Item/index.tsx +1 -1
  76. package/src/modules/StructuredData/Form/index.tsx +10 -13
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@griddo/ax",
3
3
  "description": "Griddo Author Experience",
4
- "version": "1.72.11",
4
+ "version": "1.73.2",
5
5
  "authors": [
6
6
  "Álvaro Sánchez' <alvaro.sanches@secuoyas.com>",
7
7
  "Carlos Torres <carlos.torres@secuoyas.com>",
@@ -226,5 +226,5 @@
226
226
  "publishConfig": {
227
227
  "access": "public"
228
228
  },
229
- "gitHead": "d7adf1a8e63f1fe004ba63e4fd6d5bc58c16b782"
229
+ "gitHead": "7da49eb2ce0d5fc936b2497fc3800afff07616e1"
230
230
  }
@@ -16,7 +16,7 @@ const API_URL = process.env.API_URL || process.env.REACT_APP_API_ENDPOINT;
16
16
  // TODO: Cambiar por /schemas al pasar a producción
17
17
  const API_ENDPOINT = `${API_URL}/schemas`;
18
18
  const API_METHOD = "PUT";
19
- const API_DEV_KEY = process.env.developerKey || "DeveloperKeySample";
19
+ const API_DEV_KEY = process.env.developerKey;
20
20
 
21
21
  async function main() {
22
22
  console.clear();
@@ -0,0 +1,186 @@
1
+ import * as React from "react";
2
+
3
+ import { ThemeProvider } from "styled-components";
4
+ import { render, cleanup, screen, fireEvent } from "@testing-library/react";
5
+ import { mock } from "jest-mock-extended";
6
+ import "@testing-library/jest-dom";
7
+
8
+ import { parseTheme } from "@ax/helpers";
9
+ import ErrorCenter, { IErrorCenterProps } from "@ax/components/ErrorCenter";
10
+ import globalTheme from "@ax/themes/theme.json";
11
+ import { IErrorItem } from "@ax/types";
12
+
13
+ afterEach(cleanup);
14
+
15
+ const defaultProps = mock<IErrorCenterProps>();
16
+ const errorItemProps = mock<IErrorItem>();
17
+
18
+ describe("ErrorCenter component rendering", () => {
19
+ it("should render the component", () => {
20
+ render(
21
+ <ThemeProvider theme={parseTheme(globalTheme)}>
22
+ <ErrorCenter {...defaultProps} />
23
+ </ThemeProvider>
24
+ );
25
+
26
+ const errorText = screen.queryByText("Error Center");
27
+ expect(errorText).toBeTruthy();
28
+ });
29
+
30
+ it("should render the component with getErrorItem not showing clickable fields", () => {
31
+ errorItemProps.hasDeactivatedPackage = false;
32
+ errorItemProps.type = "alert";
33
+ errorItemProps.message = "un mensaje";
34
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
35
+ // @ts-ignore
36
+ errorItemProps.editorID = undefined;
37
+ errorItemProps.component = null;
38
+ errorItemProps.name = "name";
39
+ errorItemProps.tab = "tab";
40
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
41
+ // @ts-ignore
42
+ errorItemProps.key = undefined;
43
+ errorItemProps.template = false;
44
+
45
+ const actionsMock = {
46
+ goToError: jest.fn(),
47
+ goToPackage: jest.fn(),
48
+ };
49
+
50
+ defaultProps.errors = [errorItemProps];
51
+ defaultProps.actions = actionsMock;
52
+
53
+ render(
54
+ <ThemeProvider theme={parseTheme(globalTheme)}>
55
+ <ErrorCenter {...defaultProps} />
56
+ </ThemeProvider>
57
+ );
58
+
59
+ let errorText = screen.queryByText("Go to package");
60
+ expect(errorText).not.toBeTruthy();
61
+ errorText = screen.queryByText("Go to field");
62
+ expect(errorText).not.toBeTruthy();
63
+ });
64
+
65
+ it("should render the component with getErrorItem showing 'Go to package'", () => {
66
+ errorItemProps.hasDeactivatedPackage = true;
67
+ errorItemProps.type = "warning";
68
+ errorItemProps.message = "un mensaje";
69
+ errorItemProps.editorID = 1;
70
+ errorItemProps.component = null;
71
+ errorItemProps.name = "name";
72
+ errorItemProps.key = "key";
73
+ errorItemProps.tab = "tab";
74
+ errorItemProps.template = false;
75
+
76
+ const actionsMock = {
77
+ goToError: jest.fn(),
78
+ goToPackage: jest.fn(),
79
+ };
80
+
81
+ defaultProps.errors = [errorItemProps];
82
+ defaultProps.actions = actionsMock;
83
+
84
+ render(
85
+ <ThemeProvider theme={parseTheme(globalTheme)}>
86
+ <ErrorCenter {...defaultProps} />
87
+ </ThemeProvider>
88
+ );
89
+
90
+ const errorText = screen.queryByText("Go to package");
91
+ expect(errorText).toBeTruthy();
92
+ });
93
+
94
+ it("should render the component with getErrorItem showing 'Go to field'", () => {
95
+ errorItemProps.hasDeactivatedPackage = false;
96
+ errorItemProps.type = "alert";
97
+ errorItemProps.message = "un mensaje";
98
+ errorItemProps.editorID = 1;
99
+ errorItemProps.component = null;
100
+ errorItemProps.name = "name";
101
+ errorItemProps.key = "key";
102
+ errorItemProps.tab = "tab";
103
+ errorItemProps.template = false;
104
+
105
+ const actionsMock = {
106
+ goToError: jest.fn(),
107
+ goToPackage: jest.fn(),
108
+ };
109
+
110
+ defaultProps.errors = [errorItemProps];
111
+ defaultProps.actions = actionsMock;
112
+
113
+ render(
114
+ <ThemeProvider theme={parseTheme(globalTheme)}>
115
+ <ErrorCenter {...defaultProps} />
116
+ </ThemeProvider>
117
+ );
118
+
119
+ const errorText = screen.queryByText("Go to field");
120
+ expect(errorText).toBeTruthy();
121
+ });
122
+ });
123
+
124
+ describe("ErrorCenter component trigger actions", () => {
125
+ it("should trigger the onclick with getErrorItem showing 'Go to package'", () => {
126
+ errorItemProps.hasDeactivatedPackage = true;
127
+ errorItemProps.type = "warning";
128
+ errorItemProps.message = "un mensaje";
129
+ errorItemProps.editorID = 1;
130
+ errorItemProps.component = "HeroCard";
131
+ errorItemProps.name = "name";
132
+ errorItemProps.key = "key";
133
+ errorItemProps.tab = "tab";
134
+ errorItemProps.template = false;
135
+
136
+ const actionsMock = {
137
+ goToError: jest.fn(),
138
+ goToPackage: jest.fn(),
139
+ };
140
+
141
+ defaultProps.errors = [errorItemProps];
142
+ defaultProps.actions = actionsMock;
143
+
144
+ render(
145
+ <ThemeProvider theme={parseTheme(globalTheme)}>
146
+ <ErrorCenter {...defaultProps} />
147
+ </ThemeProvider>
148
+ );
149
+
150
+ const errorWrapper = screen.getByTestId("error-center-wrapper");
151
+ expect(errorWrapper).toBeTruthy();
152
+ fireEvent.click(errorWrapper);
153
+ expect(actionsMock.goToPackage).toBeCalled();
154
+ });
155
+
156
+ it("should trigger the onclick with getErrorItem showing 'Go to field'", () => {
157
+ errorItemProps.hasDeactivatedPackage = false;
158
+ errorItemProps.type = "alert";
159
+ errorItemProps.message = "un mensaje";
160
+ errorItemProps.editorID = 1;
161
+ errorItemProps.component = "HeroCard";
162
+ errorItemProps.name = "name";
163
+ errorItemProps.key = "key";
164
+ errorItemProps.tab = "tab";
165
+ errorItemProps.template = false;
166
+
167
+ const actionsMock = {
168
+ goToError: jest.fn(),
169
+ goToPackage: jest.fn(),
170
+ };
171
+
172
+ defaultProps.errors = [errorItemProps];
173
+ defaultProps.actions = actionsMock;
174
+
175
+ render(
176
+ <ThemeProvider theme={parseTheme(globalTheme)}>
177
+ <ErrorCenter {...defaultProps} />
178
+ </ThemeProvider>
179
+ );
180
+
181
+ const errorWrapper = screen.getByTestId("error-center-wrapper");
182
+ expect(errorWrapper).toBeTruthy();
183
+ fireEvent.click(errorWrapper);
184
+ expect(actionsMock.goToError).toBeCalled();
185
+ });
186
+ });
@@ -0,0 +1,60 @@
1
+ import * as React from "react";
2
+
3
+ import { ThemeProvider } from "styled-components";
4
+ import { render, cleanup } from "@testing-library/react";
5
+ import { parseTheme } from "@ax/helpers";
6
+ import "@testing-library/jest-dom";
7
+
8
+ import Flag, { IStateProps } from "@ax/components/Flag";
9
+ import globalTheme from "@ax/themes/theme.json";
10
+
11
+ afterEach(cleanup);
12
+
13
+ describe("Flag component rendering", () => {
14
+ it("should render the component", () => {
15
+ const defaultProps: IStateProps = {
16
+ name: "es",
17
+ size: "20",
18
+ };
19
+
20
+ const { container } = render(
21
+ <ThemeProvider theme={parseTheme(globalTheme)}>
22
+ <Flag {...defaultProps} />
23
+ </ThemeProvider>
24
+ );
25
+
26
+ const svgFlag = container.querySelector("svg");
27
+ expect(svgFlag).toBeTruthy();
28
+ });
29
+
30
+ it("should render the component with the lang passed", () => {
31
+ const defaultProps: IStateProps = {
32
+ name: "It_IT",
33
+ size: "20",
34
+ };
35
+
36
+ const { container } = render(
37
+ <ThemeProvider theme={parseTheme(globalTheme)}>
38
+ <Flag {...defaultProps} />
39
+ </ThemeProvider>
40
+ );
41
+
42
+ const svgFlag = container.querySelector("svg");
43
+ expect(svgFlag).toBeTruthy();
44
+ });
45
+
46
+ it("should return null if the lang doesn't exists", () => {
47
+ const defaultProps: IStateProps = {
48
+ name: "err",
49
+ };
50
+
51
+ const { container } = render(
52
+ <ThemeProvider theme={parseTheme(globalTheme)}>
53
+ <Flag {...defaultProps} />
54
+ </ThemeProvider>
55
+ );
56
+
57
+ const svgFlag = container.querySelector("svg");
58
+ expect(svgFlag).not.toBeTruthy();
59
+ });
60
+ });