@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.
- package/config/jest/componentsMock.js +0 -26
- package/package.json +4 -3
- package/src/Style/index.tsx +1 -1
- package/src/__tests__/components/ElementsTooltip/ElementsTooltip.test.tsx +97 -0
- package/src/__tests__/components/EmptyState/EmptyState.test.tsx +78 -0
- package/src/__tests__/components/FieldContainer/FieldContainer.test.tsx +82 -0
- package/src/__tests__/components/Fields/AnalyticsField/AnalyticsField.test.tsx +1 -1
- package/src/__tests__/components/Fields/AnalyticsField/PageAnalytics/PageAnalytics.test.tsx +1 -15
- package/src/__tests__/components/Fields/AnalyticsField/StructuredDataAnalytics/StructuredDataAnalytics.test.tsx +1 -16
- package/src/__tests__/components/Fields/ArrayFieldGroup/ArrayFieldGroup.test.tsx +8 -17
- package/src/__tests__/components/Fields/AsyncCheckGroup/AsyncCheckGroup.test.tsx +4 -16
- package/src/__tests__/components/Fields/AsyncSelect/AsyncSelect.test.tsx +2 -20
- package/src/__tests__/components/Fields/CheckField/CheckField.test.tsx +6 -6
- package/src/__tests__/components/Fields/CheckGroup/CheckGroup.test.tsx +15 -15
- package/src/__tests__/components/Fields/ColorPicker/ColorPicker.test.tsx +7 -16
- package/src/__tests__/components/Fields/ComponentArray/ComponentArray.test.tsx +2 -23
- package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/MixableComponentArray.test.tsx +11 -31
- package/src/__tests__/components/Fields/ComponentArray/MixableComponentArray/PasteModuleButton/PasteModuleButton.test.tsx +15 -21
- package/src/__tests__/components/Fields/ComponentArray/SameComponentArray/SameComponentArray.test.tsx +6 -25
- package/src/__tests__/components/Fields/ComponentContainer/ComponentContainer.test.tsx +559 -0
- package/src/__tests__/components/Fields/ConditionalField/ConditionalField.test.tsx +1 -1
- package/src/__tests__/components/Fields/DateField/DateField.test.tsx +1 -1
- package/src/__tests__/components/Fields/FieldGroup/FieldGroup.test.tsx +1 -1
- package/src/__tests__/components/Fields/FieldsDivider/FieldsDivider.test.tsx +1 -1
- package/src/__tests__/components/Fields/FileField/FileField.test.tsx +3 -3
- package/src/__tests__/components/Fields/HeadingField/HeadingField.test.tsx +6 -6
- package/src/__tests__/components/Fields/HiddenField/HiddenField.test.tsx +2 -8
- package/src/__tests__/components/Fields/ImageField/ImageField.test.tsx +471 -0
- package/src/__tests__/components/Fields/MultiCheckSelect/MultiCheckSelect.test.tsx +2 -16
- package/src/__tests__/components/Fields/MultiCheckSelectGroup/MultiCheckSelectGroup.test.tsx +2 -2
- package/src/__tests__/components/Fields/NoteField/NoteField.test.tsx +2 -7
- package/src/__tests__/components/Fields/NumberField/NumberField.test.tsx +2 -15
- package/src/__tests__/components/Fields/RadioField/RadioField.test.tsx +2 -12
- package/src/__tests__/components/Fields/ReferenceField/ReferenceField.test.tsx +171 -19
- package/src/__tests__/components/Fields/RichText/RichText.test.tsx +2 -13
- package/src/__tests__/components/Fields/Select/Select.test.tsx +3 -23
- package/src/__tests__/components/Fields/SliderField/SliderField.test.tsx +2 -15
- package/src/__tests__/components/Fields/TagField/TagField.test.tsx +4 -4
- package/src/__tests__/components/Fields/TextArea/TextArea.test.tsx +1 -1
- package/src/__tests__/components/Fields/TextField/TextField.test.tsx +6 -6
- package/src/__tests__/components/Fields/TimeField/HourInput/HourInput.test.tsx +142 -0
- package/src/__tests__/components/Fields/TimeField/TimeField.test.tsx +100 -0
- package/src/__tests__/components/Fields/ToggleField/ToggleField.test.tsx +2 -10
- package/src/__tests__/components/Fields/Tooltip/Tooltip.test.tsx +152 -0
- package/src/__tests__/components/Fields/UniqueCheck/UniqueCheck.test.tsx +3 -3
- package/src/__tests__/components/Fields/UrlField/UrlField.test.tsx +4 -4
- package/src/__tests__/components/Fields/VisualUniqueSelection/ImageSelection/ImageSelection.test.tsx +2 -14
- package/src/__tests__/components/Fields/VisualUniqueSelection/ScrollableSelection/ScrollableSelection.test.tsx +6 -20
- package/src/__tests__/components/Fields/VisualUniqueSelection/VisualUniqueSelection.test.tsx +3 -29
- package/src/__tests__/components/Fields/Wysiwyg/Wysiwyg.test.tsx +1 -1
- package/src/__tests__/components/FieldsBehavior/FieldsBehavior.test.tsx +149 -0
- package/src/__tests__/components/SubNav/SubNav.test.tsx +37 -0
- package/src/__tests__/components/TableCounter/TableCounter.test.tsx +51 -0
- package/src/__tests__/components/TableFilters/CategoryFilter/CategoryFilter.test.tsx +241 -0
- package/src/__tests__/components/TableFilters/CustomizeFilters/CustomizeFilters.test.tsx +131 -0
- package/src/__tests__/components/TableFilters/DateFilter/DateFilter.test.tsx +148 -0
- package/src/__tests__/components/TableFilters/LiveFilter/LiveFilter.test.tsx +266 -0
- package/src/__tests__/components/TableFilters/NameFilter/NameFilter.test.tsx +196 -0
- package/src/__tests__/components/TableFilters/SiteFilter/SiteFilter.test.tsx +318 -0
- package/src/__tests__/components/TableFilters/StatusFilter/StatusFilter.test.tsx +195 -0
- package/src/__tests__/components/TableFilters/TranslationsFilter/TranslationsFilter.test.tsx +157 -0
- package/src/__tests__/components/TableFilters/TypeFilter/TypeFilter.test.tsx +165 -0
- package/src/__tests__/components/TableList/TableList.test.tsx +119 -0
- package/src/__tests__/components/Tabs/Tabs.test.tsx +205 -0
- package/src/__tests__/components/Tag/Tag.test.tsx +140 -0
- package/src/__tests__/components/Toast/Toast.test.tsx +102 -0
- package/src/api/navigation.tsx +1 -1
- package/src/components/Browser/index.tsx +1 -1
- package/src/components/Button/index.tsx +3 -3
- package/src/components/ConfigPanel/NavigationForm/Field/index.tsx +14 -3
- package/src/components/ElementsTooltip/index.tsx +10 -9
- package/src/components/EmptyState/index.tsx +2 -2
- package/src/components/FieldContainer/index.tsx +3 -3
- package/src/components/Fields/ArrayFieldGroup/index.tsx +1 -1
- package/src/components/Fields/AsyncCheckGroup/index.tsx +1 -1
- package/src/components/Fields/AsyncSelect/index.tsx +1 -1
- package/src/components/Fields/CheckField/index.tsx +3 -3
- package/src/components/Fields/CheckGroup/index.tsx +2 -2
- package/src/components/Fields/ComponentContainer/index.tsx +7 -6
- package/src/components/Fields/ComponentContainer/style.tsx +2 -2
- package/src/components/Fields/HeadingField/index.tsx +1 -1
- package/src/components/Fields/HiddenField/index.tsx +1 -1
- package/src/components/Fields/ImageField/index.tsx +10 -5
- package/src/components/Fields/MultiCheckSelect/index.tsx +3 -3
- package/src/components/Fields/NumberField/index.tsx +2 -1
- package/src/components/Fields/ReferenceField/ItemList/Item/index.tsx +5 -7
- package/src/components/Fields/ReferenceField/ItemList/Item/style.tsx +2 -2
- package/src/components/Fields/ReferenceField/ItemList/index.tsx +1 -1
- package/src/components/Fields/RichText/index.tsx +10 -6
- package/src/components/Fields/Select/index.tsx +2 -2
- package/src/components/Fields/SliderField/index.tsx +1 -1
- package/src/components/Fields/TextField/index.tsx +2 -7
- package/src/components/Fields/TimeField/HourInput/index.tsx +103 -0
- package/src/components/Fields/TimeField/HourInput/style.tsx +19 -0
- package/src/components/Fields/TimeField/HourInput/utils.tsx +35 -0
- package/src/components/Fields/TimeField/index.tsx +57 -0
- package/src/components/Fields/TimeField/style.tsx +37 -0
- package/src/components/Fields/index.tsx +2 -0
- package/src/components/FieldsBehavior/index.tsx +1 -1
- package/src/components/FloatingMenu/index.tsx +2 -2
- package/src/components/Gallery/GalleryFilters/Type/index.tsx +50 -0
- package/src/components/Gallery/GalleryFilters/Type/style.tsx +39 -0
- package/src/components/Gallery/GalleryPanel/DetailPanel/index.tsx +2 -1
- package/src/components/Gallery/GalleryPanel/GalleryDragAndDrop/style.tsx +3 -3
- package/src/components/Gallery/hooks.tsx +10 -4
- package/src/components/Gallery/index.tsx +2 -0
- package/src/components/Icon/index.tsx +1 -1
- package/src/components/IconAction/index.tsx +1 -1
- package/src/components/Lists/index.tsx +1 -1
- package/src/components/Loading/index.tsx +1 -1
- package/src/components/Pagination/index.tsx +1 -1
- package/src/components/SideModal/SideModalOption/index.tsx +4 -2
- package/src/components/SideModal/index.tsx +1 -1
- package/src/components/SubNav/index.tsx +3 -3
- package/src/components/SubNav/style.tsx +1 -3
- package/src/components/TableCounter/index.tsx +7 -2
- package/src/components/TableFilters/CategoryFilter/index.tsx +2 -2
- package/src/components/TableFilters/CategoryFilter/style.tsx +1 -10
- package/src/components/TableFilters/CustomizeFilters/index.tsx +2 -3
- package/src/components/TableFilters/DateFilter/index.tsx +4 -4
- package/src/components/TableFilters/LiveFilter/index.tsx +1 -1
- package/src/components/TableFilters/LiveFilter/style.tsx +2 -10
- package/src/components/TableFilters/NameFilter/index.tsx +4 -4
- package/src/components/TableFilters/SiteFilter/index.tsx +16 -13
- package/src/components/TableFilters/SiteFilter/style.tsx +1 -10
- package/src/components/TableFilters/StatusFilter/index.tsx +3 -3
- package/src/components/TableFilters/TranslationsFilter/index.tsx +4 -7
- package/src/components/TableFilters/TranslationsFilter/style.tsx +1 -10
- package/src/components/TableFilters/TypeFilter/index.tsx +2 -2
- package/src/components/TableFilters/TypeFilter/style.tsx +1 -10
- package/src/components/TableList/index.tsx +6 -6
- package/src/components/TableList/style.tsx +1 -1
- package/src/components/Tabs/index.tsx +19 -7
- package/src/components/Tag/index.tsx +6 -6
- package/src/components/Toast/index.tsx +4 -4
- package/src/components/Tooltip/index.tsx +5 -3
- package/src/components/index.tsx +2 -0
- package/src/containers/Navigation/Defaults/actions.tsx +10 -5
- package/src/containers/Navigation/Defaults/utils.tsx +13 -4
- package/src/containers/Sites/actions.tsx +7 -0
- package/src/containers/Sites/constants.tsx +1 -0
- package/src/containers/Sites/interfaces.tsx +6 -0
- package/src/containers/Sites/reducer.tsx +4 -0
- package/src/containers/StructuredData/actions.tsx +21 -8
- package/src/containers/StructuredData/constants.tsx +2 -0
- package/src/containers/StructuredData/interfaces.tsx +7 -1
- package/src/containers/StructuredData/reducer.tsx +5 -1
- package/src/helpers/fields.tsx +2 -2
- package/src/helpers/index.tsx +3 -0
- package/src/helpers/parseTheme.js +456 -0
- package/src/helpers/schemas.tsx +2 -2
- package/src/hooks/forms.tsx +2 -1
- package/src/modules/App/Routing/NavMenu/index.tsx +9 -1
- package/src/modules/Content/BulkHeader/TableHeader/index.tsx +1 -1
- package/src/modules/Content/hooks.tsx +19 -12
- package/src/modules/Content/index.tsx +23 -14
- package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/DefaultsBrowser/index.tsx +3 -0
- package/src/modules/Navigation/Defaults/DefaultsEditor/Editor/index.tsx +3 -1
- package/src/modules/Navigation/Defaults/DefaultsEditor/index.tsx +16 -18
- package/src/modules/Navigation/Defaults/DefaultsEditor/utils.tsx +37 -0
- package/src/modules/StructuredData/Form/ConnectedField/index.tsx +3 -2
- package/src/modules/StructuredData/Form/index.tsx +22 -17
- package/src/modules/StructuredData/StructuredDataList/hooks.tsx +30 -20
- package/src/modules/StructuredData/StructuredDataList/index.tsx +24 -14
- package/src/types/index.tsx +8 -7
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import axios from "axios";
|
|
3
3
|
import "@testing-library/jest-dom";
|
|
4
4
|
import { ThemeProvider } from "styled-components";
|
|
5
|
-
import { parseTheme } from "@
|
|
5
|
+
import { parseTheme } from "@ax/helpers";
|
|
6
6
|
import { mock } from "jest-mock-extended";
|
|
7
7
|
import configureStore from "redux-mock-store";
|
|
8
8
|
|
|
@@ -216,7 +216,7 @@ describe("onChange events", () => {
|
|
|
216
216
|
|
|
217
217
|
const { rerender } = render(Component, { store });
|
|
218
218
|
|
|
219
|
-
let iconActionComponents = screen.getAllByTestId("
|
|
219
|
+
let iconActionComponents = screen.getAllByTestId("icon-action-component");
|
|
220
220
|
|
|
221
221
|
await act(async () => {
|
|
222
222
|
fireEvent.click(iconActionComponents[0]);
|
|
@@ -226,7 +226,7 @@ describe("onChange events", () => {
|
|
|
226
226
|
rerender(Component);
|
|
227
227
|
});
|
|
228
228
|
|
|
229
|
-
iconActionComponents = screen.getAllByTestId("
|
|
229
|
+
iconActionComponents = screen.getAllByTestId("icon-action-component");
|
|
230
230
|
|
|
231
231
|
await act(async () => {
|
|
232
232
|
fireEvent.click(iconActionComponents[2]);
|
|
@@ -249,7 +249,7 @@ describe("onChange events", () => {
|
|
|
249
249
|
await act(async () => {
|
|
250
250
|
fireEvent.click(radioFieldInputs[5]);
|
|
251
251
|
|
|
252
|
-
const buttonDefault = screen.getByTestId("
|
|
252
|
+
const buttonDefault = screen.getByTestId("button-default");
|
|
253
253
|
fireEvent.click(buttonDefault);
|
|
254
254
|
});
|
|
255
255
|
|
|
@@ -282,7 +282,7 @@ describe("onChange events", () => {
|
|
|
282
282
|
let referenceFieldItems = screen.getAllByTestId("reference-field-item");
|
|
283
283
|
expect(referenceFieldItems.length).toBe(2);
|
|
284
284
|
|
|
285
|
-
const iconActionComponents = screen.getAllByTestId("
|
|
285
|
+
const iconActionComponents = screen.getAllByTestId("icon-action-component");
|
|
286
286
|
|
|
287
287
|
await act(async () => {
|
|
288
288
|
fireEvent.click(iconActionComponents[0]);
|
|
@@ -297,7 +297,7 @@ describe("onChange events", () => {
|
|
|
297
297
|
|
|
298
298
|
await act(async () => {
|
|
299
299
|
fireEvent.click(manualPanelItem[4]);
|
|
300
|
-
fireEvent.click(screen.getByTestId("
|
|
300
|
+
fireEvent.click(screen.getByTestId("button-default"));
|
|
301
301
|
});
|
|
302
302
|
|
|
303
303
|
await act(async () => {
|
|
@@ -335,7 +335,7 @@ describe("onChange events", () => {
|
|
|
335
335
|
let referenceFieldItems = screen.getAllByTestId("reference-field-item");
|
|
336
336
|
expect(referenceFieldItems.length).toBe(2);
|
|
337
337
|
|
|
338
|
-
const iconActionComponents = screen.getAllByTestId("
|
|
338
|
+
const iconActionComponents = screen.getAllByTestId("icon-action-component");
|
|
339
339
|
|
|
340
340
|
await act(async () => {
|
|
341
341
|
fireEvent.click(iconActionComponents[0]);
|
|
@@ -351,7 +351,7 @@ describe("onChange events", () => {
|
|
|
351
351
|
await act(async () => {
|
|
352
352
|
fireEvent.click(manualPanelItem[0]);
|
|
353
353
|
fireEvent.click(manualPanelItem[6]);
|
|
354
|
-
fireEvent.click(screen.getByTestId("
|
|
354
|
+
fireEvent.click(screen.getByTestId("button-default"));
|
|
355
355
|
});
|
|
356
356
|
|
|
357
357
|
await act(async () => {
|
|
@@ -403,7 +403,7 @@ describe("onChange events", () => {
|
|
|
403
403
|
|
|
404
404
|
const { rerender } = render(Component, { store });
|
|
405
405
|
|
|
406
|
-
const iconActionComponents = screen.getAllByTestId("
|
|
406
|
+
const iconActionComponents = screen.getAllByTestId("icon-action-component");
|
|
407
407
|
|
|
408
408
|
await act(async () => {
|
|
409
409
|
fireEvent.click(iconActionComponents[0]);
|
|
@@ -413,7 +413,7 @@ describe("onChange events", () => {
|
|
|
413
413
|
rerender(Component);
|
|
414
414
|
});
|
|
415
415
|
|
|
416
|
-
let tagComponent = screen.getAllByTestId("
|
|
416
|
+
let tagComponent = screen.getAllByTestId("delete-icon-wrapper");
|
|
417
417
|
|
|
418
418
|
expect(tagComponent.length).toBe(2);
|
|
419
419
|
|
|
@@ -425,7 +425,7 @@ describe("onChange events", () => {
|
|
|
425
425
|
rerender(Component);
|
|
426
426
|
});
|
|
427
427
|
|
|
428
|
-
tagComponent = screen.getAllByTestId("
|
|
428
|
+
tagComponent = screen.getAllByTestId("delete-icon-wrapper");
|
|
429
429
|
|
|
430
430
|
expect(tagComponent.length).toBe(1);
|
|
431
431
|
});
|
|
@@ -453,38 +453,188 @@ describe("onChange events", () => {
|
|
|
453
453
|
rerender(Component);
|
|
454
454
|
});
|
|
455
455
|
|
|
456
|
-
|
|
456
|
+
const referenceFieldItems = screen.getAllByTestId("reference-field-item");
|
|
457
|
+
expect(referenceFieldItems[0]).toHaveTextContent("Article 02");
|
|
458
|
+
|
|
459
|
+
const droppable = screen.getByTestId("droppable");
|
|
460
|
+
expect(droppable).toBeTruthy();
|
|
461
|
+
|
|
462
|
+
fireEvent.dragStart(referenceFieldItems[0]);
|
|
463
|
+
fireEvent.dragEnter(droppable);
|
|
464
|
+
fireEvent.dragOver(droppable);
|
|
465
|
+
fireEvent.drop(droppable);
|
|
466
|
+
});
|
|
467
|
+
|
|
468
|
+
test("should render the drag handle if list length is greater than two", async () => {
|
|
469
|
+
defaultProps.source = ["ARTICLES"];
|
|
470
|
+
defaultProps.value = {
|
|
471
|
+
mode: "manual",
|
|
472
|
+
fixed: [4492, 4493],
|
|
473
|
+
};
|
|
474
|
+
const initialState = { ...initialStore, ...defaultProps };
|
|
475
|
+
const onChange = jest.fn();
|
|
476
|
+
|
|
477
|
+
mockApiCalls();
|
|
478
|
+
|
|
479
|
+
const Component = (
|
|
480
|
+
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
481
|
+
<ReferenceField {...initialState} onChange={onChange} />
|
|
482
|
+
</ThemeProvider>
|
|
483
|
+
);
|
|
484
|
+
|
|
485
|
+
const { rerender } = render(Component, { store });
|
|
457
486
|
|
|
458
487
|
await act(async () => {
|
|
459
|
-
|
|
488
|
+
rerender(Component);
|
|
460
489
|
});
|
|
461
490
|
|
|
491
|
+
const referenceFieldItems = screen.getAllByTestId("reference-field-item");
|
|
492
|
+
expect(referenceFieldItems.length).toBe(2);
|
|
493
|
+
const handleWrappers = screen.getAllByTestId("handle-wrapper");
|
|
494
|
+
expect(handleWrappers.length).toEqual(2);
|
|
495
|
+
});
|
|
496
|
+
|
|
497
|
+
test("should delete items", async () => {
|
|
498
|
+
defaultProps.source = ["ARTICLES"];
|
|
499
|
+
defaultProps.value = {
|
|
500
|
+
mode: "manual",
|
|
501
|
+
fixed: [4492, 4493],
|
|
502
|
+
};
|
|
503
|
+
const initialState = { ...initialStore, ...defaultProps };
|
|
504
|
+
const onChange = jest.fn();
|
|
505
|
+
|
|
506
|
+
mockApiCalls();
|
|
507
|
+
|
|
508
|
+
const Component = (
|
|
509
|
+
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
510
|
+
<ReferenceField {...initialState} onChange={onChange} />
|
|
511
|
+
</ThemeProvider>
|
|
512
|
+
);
|
|
513
|
+
|
|
514
|
+
const { rerender } = render(Component, { store });
|
|
515
|
+
|
|
462
516
|
await act(async () => {
|
|
463
517
|
rerender(Component);
|
|
464
518
|
});
|
|
519
|
+
let referenceFieldItems = screen.getAllByTestId("reference-field-item");
|
|
520
|
+
expect(referenceFieldItems.length).toBe(2);
|
|
521
|
+
|
|
522
|
+
const iconActionComponents = screen.getAllByTestId("icon-action-component");
|
|
465
523
|
|
|
524
|
+
await act(async () => {
|
|
525
|
+
fireEvent.click(iconActionComponents[2]);
|
|
526
|
+
});
|
|
527
|
+
|
|
528
|
+
await act(async () => {
|
|
529
|
+
rerender(Component);
|
|
530
|
+
});
|
|
531
|
+
|
|
532
|
+
const actionMenuItem = screen.getByTestId("action-menu-item");
|
|
533
|
+
await act(async () => {
|
|
534
|
+
fireEvent.click(actionMenuItem);
|
|
535
|
+
});
|
|
536
|
+
|
|
537
|
+
// await act(async () => {
|
|
538
|
+
// rerender(Component);
|
|
539
|
+
// });
|
|
540
|
+
|
|
541
|
+
referenceFieldItems = screen.getAllByTestId("reference-field-item");
|
|
542
|
+
=======
|
|
543
|
+
const referenceFieldItems = screen.getAllByTestId("reference-field-item");
|
|
544
|
+
>>>>>>> release/1.72
|
|
545
|
+
expect(referenceFieldItems[0]).toHaveTextContent("Article 02");
|
|
546
|
+
|
|
547
|
+
const droppable = screen.getByTestId("droppable");
|
|
548
|
+
expect(droppable).toBeTruthy();
|
|
549
|
+
|
|
550
|
+
fireEvent.dragStart(referenceFieldItems[0]);
|
|
551
|
+
fireEvent.dragEnter(droppable);
|
|
552
|
+
fireEvent.dragOver(droppable);
|
|
553
|
+
fireEvent.drop(droppable);
|
|
554
|
+
});
|
|
555
|
+
|
|
556
|
+
test("should render the drag handle if list length is greater than two", async () => {
|
|
557
|
+
defaultProps.source = ["ARTICLES"];
|
|
558
|
+
defaultProps.value = {
|
|
559
|
+
mode: "manual",
|
|
560
|
+
fixed: [4492, 4493],
|
|
561
|
+
};
|
|
562
|
+
const initialState = { ...initialStore, ...defaultProps };
|
|
563
|
+
const onChange = jest.fn();
|
|
564
|
+
|
|
565
|
+
mockApiCalls();
|
|
566
|
+
|
|
567
|
+
const Component = (
|
|
568
|
+
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
569
|
+
<ReferenceField {...initialState} onChange={onChange} />
|
|
570
|
+
</ThemeProvider>
|
|
571
|
+
);
|
|
572
|
+
|
|
573
|
+
const { rerender } = render(Component, { store });
|
|
574
|
+
|
|
575
|
+
await act(async () => {
|
|
576
|
+
rerender(Component);
|
|
577
|
+
});
|
|
578
|
+
|
|
579
|
+
const referenceFieldItems = screen.getAllByTestId("reference-field-item");
|
|
580
|
+
expect(referenceFieldItems.length).toBe(2);
|
|
581
|
+
const handleWrappers = screen.getAllByTestId("handle-wrapper");
|
|
582
|
+
expect(handleWrappers.length).toEqual(2);
|
|
583
|
+
});
|
|
584
|
+
|
|
585
|
+
test("should hide the drag handle if list length is lower than two", async () => {
|
|
586
|
+
defaultProps.source = ["ARTICLES"];
|
|
587
|
+
defaultProps.value = {
|
|
588
|
+
mode: "manual",
|
|
589
|
+
fixed: [],
|
|
590
|
+
};
|
|
591
|
+
const initialState = { ...initialStore, ...defaultProps };
|
|
592
|
+
const onChange = jest.fn();
|
|
593
|
+
|
|
594
|
+
mockApiCalls();
|
|
595
|
+
|
|
596
|
+
const Component = (
|
|
597
|
+
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
598
|
+
<ReferenceField {...initialState} onChange={onChange} />
|
|
599
|
+
</ThemeProvider>
|
|
600
|
+
);
|
|
601
|
+
|
|
602
|
+
const { rerender } = render(Component, { store });
|
|
603
|
+
|
|
604
|
+
await act(async () => {
|
|
605
|
+
rerender(Component);
|
|
606
|
+
});
|
|
466
607
|
let referenceFieldItems = screen.getAllByTestId("reference-field-item");
|
|
467
|
-
expect(referenceFieldItems
|
|
608
|
+
expect(referenceFieldItems.length).toBe(2);
|
|
468
609
|
|
|
469
|
-
iconActionComponents = screen.getAllByTestId("
|
|
610
|
+
const iconActionComponents = screen.getAllByTestId("icon-action-component");
|
|
470
611
|
|
|
471
612
|
await act(async () => {
|
|
472
|
-
fireEvent.click(iconActionComponents[
|
|
613
|
+
fireEvent.click(iconActionComponents[2]);
|
|
473
614
|
});
|
|
474
615
|
|
|
475
616
|
await act(async () => {
|
|
476
617
|
rerender(Component);
|
|
477
618
|
});
|
|
478
619
|
|
|
620
|
+
const actionMenuItem = screen.getByTestId("action-menu-item");
|
|
621
|
+
await act(async () => {
|
|
622
|
+
fireEvent.click(actionMenuItem);
|
|
623
|
+
});
|
|
624
|
+
|
|
625
|
+
// await act(async () => {
|
|
626
|
+
// rerender(Component);
|
|
627
|
+
// });
|
|
628
|
+
|
|
479
629
|
referenceFieldItems = screen.getAllByTestId("reference-field-item");
|
|
480
630
|
expect(referenceFieldItems[0]).toHaveTextContent("Article 02");
|
|
481
631
|
});*/
|
|
482
632
|
|
|
483
|
-
test("should
|
|
633
|
+
test("should hide the drag handle if list length is lower than two", async () => {
|
|
484
634
|
defaultProps.source = ["ARTICLES"];
|
|
485
635
|
defaultProps.value = {
|
|
486
636
|
mode: "manual",
|
|
487
|
-
fixed: [
|
|
637
|
+
fixed: [],
|
|
488
638
|
};
|
|
489
639
|
const initialState = { ...initialStore, ...defaultProps };
|
|
490
640
|
const onChange = jest.fn();
|
|
@@ -506,7 +656,7 @@ describe("onChange events", () => {
|
|
|
506
656
|
let referenceFieldItems = screen.getAllByTestId("reference-field-item");
|
|
507
657
|
expect(referenceFieldItems.length).toBe(2);
|
|
508
658
|
|
|
509
|
-
const iconActionComponents = screen.getAllByTestId("
|
|
659
|
+
const iconActionComponents = screen.getAllByTestId("icon-action-component");
|
|
510
660
|
|
|
511
661
|
await act(async () => {
|
|
512
662
|
fireEvent.click(iconActionComponents[2]);
|
|
@@ -528,5 +678,7 @@ describe("onChange events", () => {
|
|
|
528
678
|
|
|
529
679
|
referenceFieldItems = screen.getAllByTestId("reference-field-item");
|
|
530
680
|
expect(referenceFieldItems.length).toBe(1);
|
|
681
|
+
const handleWrappers = screen.getAllByTestId("handle-wrapper");
|
|
682
|
+
expect(handleWrappers[0].hidden).toBe(true);
|
|
531
683
|
});
|
|
532
684
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import RichText from "@ax/components/Fields/RichText";
|
|
2
|
+
import RichText, { IRichTextProps } from "@ax/components/Fields/RichText";
|
|
3
3
|
import { ThemeProvider } from "styled-components";
|
|
4
|
-
import { parseTheme } from "@
|
|
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 } from "@testing-library/react";
|
|
@@ -39,14 +39,3 @@ describe("RichText component rendering", () => {
|
|
|
39
39
|
expect(richTextContent).toBeTruthy();
|
|
40
40
|
});
|
|
41
41
|
});
|
|
42
|
-
|
|
43
|
-
interface IRichTextProps {
|
|
44
|
-
editorID: number;
|
|
45
|
-
value: string;
|
|
46
|
-
error?: boolean;
|
|
47
|
-
placeholder?: string;
|
|
48
|
-
disabled?: boolean;
|
|
49
|
-
onChange: (value: string) => void;
|
|
50
|
-
handleValidation?: (value: string) => void;
|
|
51
|
-
html: boolean;
|
|
52
|
-
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import Select from "@ax/components/Fields/Select";
|
|
2
|
+
import Select, { ISelectProps } from "@ax/components/Fields/Select";
|
|
3
3
|
import { ThemeProvider } from "styled-components";
|
|
4
|
-
import { parseTheme } from "@
|
|
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";
|
|
@@ -24,7 +24,7 @@ describe("Select component rendering", () => {
|
|
|
24
24
|
<Select {...defaultProps} />
|
|
25
25
|
</ThemeProvider>
|
|
26
26
|
);
|
|
27
|
-
expect(screen.getByTestId("
|
|
27
|
+
expect(screen.getByTestId("select-component")).toBeTruthy();
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
test("should render the component with value selected", () => {
|
|
@@ -53,23 +53,3 @@ describe("Select component rendering", () => {
|
|
|
53
53
|
expect(errors.length).toBe(1);
|
|
54
54
|
});
|
|
55
55
|
});
|
|
56
|
-
|
|
57
|
-
interface ISelectProps {
|
|
58
|
-
name: string;
|
|
59
|
-
value: string;
|
|
60
|
-
options: IOptionProps[];
|
|
61
|
-
error?: boolean;
|
|
62
|
-
disabled?: boolean;
|
|
63
|
-
defaultValue?: IOptionProps;
|
|
64
|
-
placeholder?: string;
|
|
65
|
-
isMulti?: boolean;
|
|
66
|
-
type?: string;
|
|
67
|
-
mandatory?: boolean;
|
|
68
|
-
alignRight?: boolean;
|
|
69
|
-
onChange: (value: string) => void;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
interface IOptionProps {
|
|
73
|
-
value: string;
|
|
74
|
-
label: string;
|
|
75
|
-
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import SliderField from "@ax/components/Fields/SliderField";
|
|
2
|
+
import SliderField, { ITextFieldProps } from "@ax/components/Fields/SliderField";
|
|
3
3
|
import { ThemeProvider } from "styled-components";
|
|
4
|
-
import { parseTheme } from "@
|
|
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";
|
|
@@ -67,16 +67,3 @@ describe("Select component events trigger", () => {
|
|
|
67
67
|
expect(onChangeMock).toBeCalledWith(20);
|
|
68
68
|
});
|
|
69
69
|
});
|
|
70
|
-
|
|
71
|
-
interface ITextFieldProps {
|
|
72
|
-
title: string;
|
|
73
|
-
value: number;
|
|
74
|
-
defaultValue?: number;
|
|
75
|
-
min: number;
|
|
76
|
-
max: number;
|
|
77
|
-
step: number;
|
|
78
|
-
prefix?: string;
|
|
79
|
-
suffix?: string;
|
|
80
|
-
helptext?: string;
|
|
81
|
-
onChange: (value: number) => void;
|
|
82
|
-
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
2
|
import TagField from "@ax/components/Fields/TagField";
|
|
3
3
|
import { ThemeProvider } from "styled-components";
|
|
4
|
-
import { parseTheme } from "@
|
|
4
|
+
import { parseTheme } from "@ax/helpers";
|
|
5
5
|
import globalTheme from "@ax/themes/theme.json";
|
|
6
6
|
import { render, screen, within, cleanup, fireEvent } from "@testing-library/react";
|
|
7
7
|
|
|
@@ -47,7 +47,7 @@ describe("TagField component", () => {
|
|
|
47
47
|
const tagFieldInput = screen.getByTestId("tagFieldInput");
|
|
48
48
|
expect(tagFieldInput).toBeTruthy();
|
|
49
49
|
|
|
50
|
-
const tagRendered = within(tagFieldWrapper).getAllByTestId("
|
|
50
|
+
const tagRendered = within(tagFieldWrapper).getAllByTestId("delete-icon-wrapper");
|
|
51
51
|
expect(tagRendered).toHaveLength(2);
|
|
52
52
|
|
|
53
53
|
const tagComponent = screen.getByTestId("tagFieldWrapper");
|
|
@@ -116,7 +116,7 @@ describe("TagField events", () => {
|
|
|
116
116
|
);
|
|
117
117
|
|
|
118
118
|
const tagFieldWrapper = screen.getByTestId("tagFieldWrapper");
|
|
119
|
-
const tagRendered = within(tagFieldWrapper).getAllByTestId("
|
|
119
|
+
const tagRendered = within(tagFieldWrapper).getAllByTestId("delete-icon-wrapper");
|
|
120
120
|
expect(tagRendered).toHaveLength(2);
|
|
121
121
|
fireEvent.click(tagRendered[0], 0);
|
|
122
122
|
expect(onChange).toBeCalledTimes(1);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import TextArea from "@ax/components/Fields/TextArea";
|
|
3
3
|
import { ThemeProvider } from "styled-components";
|
|
4
|
-
import { parseTheme } from "@
|
|
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
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import TextField from "@ax/components/Fields/TextField";
|
|
3
3
|
import { ThemeProvider } from "styled-components";
|
|
4
|
-
import { parseTheme } from "@
|
|
4
|
+
import { parseTheme } from "@ax/helpers";
|
|
5
5
|
import globalTheme from "@ax/themes/theme.json";
|
|
6
6
|
import { render, screen, within, cleanup, fireEvent } from "@testing-library/react";
|
|
7
7
|
|
|
@@ -20,7 +20,7 @@ describe("TextField component rendering", () => {
|
|
|
20
20
|
</ThemeProvider>
|
|
21
21
|
);
|
|
22
22
|
|
|
23
|
-
const textFieldContainer = screen.getByTestId("
|
|
23
|
+
const textFieldContainer = screen.getByTestId("text-field-container");
|
|
24
24
|
const inputComponent = screen.getByTestId("inputComponent");
|
|
25
25
|
|
|
26
26
|
expect(textFieldContainer).toBeTruthy();
|
|
@@ -40,7 +40,7 @@ describe("TextField component rendering", () => {
|
|
|
40
40
|
</ThemeProvider>
|
|
41
41
|
);
|
|
42
42
|
|
|
43
|
-
const textFieldContainer = screen.getByTestId("
|
|
43
|
+
const textFieldContainer = screen.getByTestId("text-field-container");
|
|
44
44
|
const inputComponent = screen.getByTestId("inputComponent");
|
|
45
45
|
const prefix = screen.getByTestId("prefix");
|
|
46
46
|
expect(textFieldContainer).toBeTruthy();
|
|
@@ -61,7 +61,7 @@ describe("TextField component rendering", () => {
|
|
|
61
61
|
</ThemeProvider>
|
|
62
62
|
);
|
|
63
63
|
|
|
64
|
-
const textFieldContainer = screen.getByTestId("
|
|
64
|
+
const textFieldContainer = screen.getByTestId("text-field-container");
|
|
65
65
|
const inputComponent = screen.getByTestId("inputComponent");
|
|
66
66
|
const backgroundIconComponent = screen.getByTestId("backgroundIconComponent");
|
|
67
67
|
|
|
@@ -83,7 +83,7 @@ describe("TextField component rendering", () => {
|
|
|
83
83
|
</ThemeProvider>
|
|
84
84
|
);
|
|
85
85
|
|
|
86
|
-
const textFieldContainer = screen.getByTestId("
|
|
86
|
+
const textFieldContainer = screen.getByTestId("text-field-container");
|
|
87
87
|
const inputComponent = screen.getByTestId("inputComponent");
|
|
88
88
|
const iconWrapperComponent = screen.getByTestId("iconWrapperComponent");
|
|
89
89
|
|
|
@@ -135,7 +135,7 @@ describe("onClick from buttons", () => {
|
|
|
135
135
|
|
|
136
136
|
const iconWrapperComponent = screen.getByTestId("iconWrapperComponent");
|
|
137
137
|
expect(iconWrapperComponent).toBeTruthy();
|
|
138
|
-
const iconActionComponent = within(iconWrapperComponent).getByTestId("
|
|
138
|
+
const iconActionComponent = within(iconWrapperComponent).getByTestId("icon-action-component");
|
|
139
139
|
expect(iconActionComponent).toBeTruthy();
|
|
140
140
|
fireEvent.click(iconActionComponent);
|
|
141
141
|
expect(onClickIconMock).toBeCalledTimes(1);
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { render, screen, cleanup, fireEvent } from "@testing-library/react";
|
|
3
|
+
import { mock } from "jest-mock-extended";
|
|
4
|
+
import { ThemeProvider } from "styled-components";
|
|
5
|
+
import { parseTheme } from "@ax/helpers";
|
|
6
|
+
import globalTheme from "@ax/themes/theme.json";
|
|
7
|
+
import HourInput from "@ax/components/Fields/TimeField/HourInput";
|
|
8
|
+
import { act, Simulate } from "react-dom/test-utils";
|
|
9
|
+
|
|
10
|
+
afterEach(cleanup);
|
|
11
|
+
|
|
12
|
+
const defaultProps = mock<IHourInputProps>();
|
|
13
|
+
|
|
14
|
+
describe("HourInput component rendering", () => {
|
|
15
|
+
it("should render the component", () => {
|
|
16
|
+
render(
|
|
17
|
+
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
18
|
+
<HourInput {...defaultProps} />
|
|
19
|
+
</ThemeProvider>
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
const hourInputField = screen.getByTestId("time-field-input");
|
|
23
|
+
expect(hourInputField).toBeTruthy();
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it("should render component as disabled", () => {
|
|
27
|
+
defaultProps.disabled = true;
|
|
28
|
+
|
|
29
|
+
render(
|
|
30
|
+
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
31
|
+
<HourInput {...defaultProps} />
|
|
32
|
+
</ThemeProvider>
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
const hourInputField = screen.getByTestId<HTMLInputElement>("time-field-input");
|
|
36
|
+
expect(hourInputField.disabled).toEqual(true);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
describe("onChange events", () => {
|
|
41
|
+
it("should call onChange on change with valid time", () => {
|
|
42
|
+
const onChangeMock = defaultProps.onChange as jest.MockedFunction<(value: string) => void>;
|
|
43
|
+
defaultProps.value = "12:30";
|
|
44
|
+
defaultProps.disabled = false;
|
|
45
|
+
|
|
46
|
+
render(
|
|
47
|
+
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
48
|
+
<HourInput {...defaultProps} />
|
|
49
|
+
</ThemeProvider>
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
const input = screen.getByTestId("time-field-input");
|
|
53
|
+
act(() => {
|
|
54
|
+
fireEvent.change(input, { target: { value: "12:30" } });
|
|
55
|
+
Simulate.change(input);
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
expect(onChangeMock).toHaveBeenCalledWith("12:30");
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it("should call onChange on change with 24 hours time", () => {
|
|
62
|
+
const onChangeMock = defaultProps.onChange as jest.MockedFunction<(value: string) => void>;
|
|
63
|
+
defaultProps.value = "12:00";
|
|
64
|
+
|
|
65
|
+
render(
|
|
66
|
+
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
67
|
+
<HourInput {...defaultProps} />
|
|
68
|
+
</ThemeProvider>
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
const input = screen.getByTestId("time-field-input");
|
|
72
|
+
act(() => {
|
|
73
|
+
fireEvent.change(input, { target: { value: "23:30" } });
|
|
74
|
+
Simulate.change(input);
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
expect(onChangeMock).toHaveBeenCalledWith("12:30");
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
it("should call onChange on change with 24 hours time", () => {
|
|
81
|
+
const onChangeMock = defaultProps.onChange as jest.MockedFunction<(value: string) => void>;
|
|
82
|
+
defaultProps.value = "12:00";
|
|
83
|
+
|
|
84
|
+
render(
|
|
85
|
+
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
86
|
+
<HourInput {...defaultProps} />
|
|
87
|
+
</ThemeProvider>
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
const input = screen.getByTestId("time-field-input");
|
|
91
|
+
act(() => {
|
|
92
|
+
fireEvent.change(input, { target: { value: "23:30" } });
|
|
93
|
+
Simulate.change(input);
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
expect(onChangeMock).toHaveBeenCalledWith("12:30");
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
it("should call onChange on change with more than 12 hours", () => {
|
|
100
|
+
const onChangeMock = defaultProps.onChange as jest.MockedFunction<(value: string) => void>;
|
|
101
|
+
defaultProps.value = "12:00";
|
|
102
|
+
|
|
103
|
+
render(
|
|
104
|
+
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
105
|
+
<HourInput {...defaultProps} />
|
|
106
|
+
</ThemeProvider>
|
|
107
|
+
);
|
|
108
|
+
|
|
109
|
+
const input = screen.getByTestId("time-field-input");
|
|
110
|
+
act(() => {
|
|
111
|
+
fireEvent.change(input, { target: { value: "13:30" } });
|
|
112
|
+
Simulate.change(input);
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
expect(onChangeMock).toHaveBeenCalledWith("12:30");
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it("should call onChange on change with more than 59 minutes", () => {
|
|
119
|
+
const onChangeMock = defaultProps.onChange as jest.MockedFunction<(value: string) => void>;
|
|
120
|
+
defaultProps.value = "12:30";
|
|
121
|
+
|
|
122
|
+
render(
|
|
123
|
+
<ThemeProvider theme={parseTheme(globalTheme)}>
|
|
124
|
+
<HourInput {...defaultProps} />
|
|
125
|
+
</ThemeProvider>
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
const input = screen.getByTestId("time-field-input");
|
|
129
|
+
act(() => {
|
|
130
|
+
fireEvent.change(input, { target: { value: "10:72" } });
|
|
131
|
+
Simulate.change(input);
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
expect(onChangeMock).toHaveBeenCalledWith("10:30");
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
interface IHourInputProps {
|
|
139
|
+
value: string;
|
|
140
|
+
onChange: (value: string) => void;
|
|
141
|
+
disabled?: boolean;
|
|
142
|
+
}
|