@capillarytech/creatives-library 8.0.268 → 8.0.270
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/constants/unified.js +1 -0
- package/package.json +1 -1
- package/services/api.js +5 -0
- package/utils/common.js +6 -0
- package/utils/imageUrlUpload.js +141 -0
- package/utils/tagValidations.js +2 -1
- package/utils/tests/transformerUtils.test.js +297 -0
- package/utils/transformerUtils.js +40 -0
- package/v2Components/CapImageUpload/constants.js +2 -0
- package/v2Components/CapImageUpload/index.js +65 -16
- package/v2Components/CapImageUpload/index.scss +4 -1
- package/v2Components/CapImageUpload/messages.js +5 -1
- package/v2Components/CapImageUrlUpload/constants.js +26 -0
- package/v2Components/CapImageUrlUpload/index.js +365 -0
- package/v2Components/CapImageUrlUpload/index.scss +35 -0
- package/v2Components/CapImageUrlUpload/messages.js +47 -0
- package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +2 -2
- package/v2Components/CommonTestAndPreview/index.js +4 -15
- package/v2Components/FormBuilder/index.js +8 -8
- package/v2Containers/App/constants.js +5 -0
- package/v2Containers/CreativesContainer/SlideBoxContent.js +57 -2
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +1 -0
- package/v2Containers/CreativesContainer/constants.js +3 -0
- package/v2Containers/CreativesContainer/index.js +168 -0
- package/v2Containers/CreativesContainer/messages.js +4 -0
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +210 -0
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +304 -0
- package/v2Containers/FTP/index.js +1 -1
- package/v2Containers/InApp/index.js +1 -0
- package/v2Containers/Line/Container/Text/index.js +1 -0
- package/v2Containers/MobilePushNew/index.js +1 -0
- package/v2Containers/Rcs/index.js +3 -0
- package/v2Containers/SmsTrai/Edit/index.js +2 -12
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +36 -648
- package/v2Containers/Templates/ChannelTypeIllustration.js +13 -1
- package/v2Containers/Templates/_templates.scss +205 -0
- package/v2Containers/Templates/actions.js +2 -1
- package/v2Containers/Templates/constants.js +1 -0
- package/v2Containers/Templates/index.js +274 -34
- package/v2Containers/Templates/messages.js +24 -0
- package/v2Containers/Templates/reducer.js +2 -0
- package/v2Containers/Templates/tests/index.test.js +10 -0
- package/v2Containers/TemplatesV2/index.js +15 -7
- package/v2Containers/TemplatesV2/messages.js +4 -0
- package/v2Containers/Viber/index.js +1 -0
- package/v2Containers/WebPush/Create/components/BrandIconSection.js +108 -0
- package/v2Containers/WebPush/Create/components/ButtonForm.js +172 -0
- package/v2Containers/WebPush/Create/components/ButtonItem.js +101 -0
- package/v2Containers/WebPush/Create/components/ButtonList.js +145 -0
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +164 -0
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +463 -0
- package/v2Containers/WebPush/Create/components/FormActions.js +54 -0
- package/v2Containers/WebPush/Create/components/FormActions.test.js +163 -0
- package/v2Containers/WebPush/Create/components/MediaSection.js +142 -0
- package/v2Containers/WebPush/Create/components/MediaSection.test.js +341 -0
- package/v2Containers/WebPush/Create/components/MessageSection.js +103 -0
- package/v2Containers/WebPush/Create/components/MessageSection.test.js +268 -0
- package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +87 -0
- package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +210 -0
- package/v2Containers/WebPush/Create/components/TemplateNameSection.js +54 -0
- package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +143 -0
- package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +86 -0
- package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +16 -0
- package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +41 -0
- package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +54 -0
- package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +37 -0
- package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +21 -0
- package/v2Containers/WebPush/Create/components/_buttons.scss +246 -0
- package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +554 -0
- package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +607 -0
- package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +633 -0
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +666 -0
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +74 -0
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +78 -0
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +138 -0
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +406 -0
- package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +30 -0
- package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +151 -0
- package/v2Containers/WebPush/Create/hooks/useImageUpload.js +104 -0
- package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +538 -0
- package/v2Containers/WebPush/Create/hooks/useTagManagement.js +122 -0
- package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +633 -0
- package/v2Containers/WebPush/Create/index.js +1148 -0
- package/v2Containers/WebPush/Create/index.scss +134 -0
- package/v2Containers/WebPush/Create/messages.js +211 -0
- package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +228 -0
- package/v2Containers/WebPush/Create/preview/NotificationContainer.js +294 -0
- package/v2Containers/WebPush/Create/preview/PreviewContent.js +90 -0
- package/v2Containers/WebPush/Create/preview/PreviewControls.js +305 -0
- package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +25 -0
- package/v2Containers/WebPush/Create/preview/WebPushPreview.js +156 -0
- package/v2Containers/WebPush/Create/preview/assets/Light.svg +53 -0
- package/v2Containers/WebPush/Create/preview/assets/Top.svg +5 -0
- package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +9 -0
- package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +9 -0
- package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
- package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
- package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +106 -0
- package/v2Containers/WebPush/Create/preview/assets/iOS.svg +26 -0
- package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +9 -0
- package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +9 -0
- package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +18 -0
- package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +29 -0
- package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +9 -0
- package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +9 -0
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +51 -0
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +145 -0
- package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +45 -0
- package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +68 -0
- package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +61 -0
- package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +99 -0
- package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +733 -0
- package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +571 -0
- package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +85 -0
- package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +81 -0
- package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +50 -0
- package/v2Containers/WebPush/Create/preview/constants.js +637 -0
- package/v2Containers/WebPush/Create/preview/notification-container.scss +79 -0
- package/v2Containers/WebPush/Create/preview/preview.scss +358 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +370 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +12 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +12 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +12 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +47 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +11 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +11 -0
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +11 -0
- package/v2Containers/WebPush/Create/preview/styles/_base.scss +207 -0
- package/v2Containers/WebPush/Create/preview/styles/_ios.scss +153 -0
- package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +107 -0
- package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +101 -0
- package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +229 -0
- package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +906 -0
- package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +1081 -0
- package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +723 -0
- package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +1327 -0
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +131 -0
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +112 -0
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +144 -0
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +129 -0
- package/v2Containers/WebPush/Create/utils/payloadBuilder.js +96 -0
- package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +396 -0
- package/v2Containers/WebPush/Create/utils/previewUtils.js +89 -0
- package/v2Containers/WebPush/Create/utils/urlValidation.js +115 -0
- package/v2Containers/WebPush/Create/utils/urlValidation.test.js +449 -0
- package/v2Containers/WebPush/Create/utils/validation.js +76 -0
- package/v2Containers/WebPush/Create/utils/validation.test.js +283 -0
- package/v2Containers/WebPush/actions.js +60 -0
- package/v2Containers/WebPush/constants.js +132 -0
- package/v2Containers/WebPush/index.js +2 -0
- package/v2Containers/WebPush/reducer.js +104 -0
- package/v2Containers/WebPush/sagas.js +119 -0
- package/v2Containers/WebPush/selectors.js +65 -0
- package/v2Containers/WebPush/tests/reducer.test.js +863 -0
- package/v2Containers/WebPush/tests/sagas.test.js +566 -0
- package/v2Containers/WebPush/tests/selectors.test.js +960 -0
- package/v2Containers/Whatsapp/index.js +1 -0
- package/v2Containers/Zalo/index.js +1 -0
- package/v2Containers/Zalo/tests/index.test.js +1 -5
|
@@ -24,6 +24,24 @@ jest.mock('../../../v2Components/FormBuilder', () => ({
|
|
|
24
24
|
),
|
|
25
25
|
}));
|
|
26
26
|
|
|
27
|
+
jest.mock('../../WebPush/Create/preview/DevicePreviewContent', () => ({
|
|
28
|
+
__esModule: true,
|
|
29
|
+
default: (props) => (
|
|
30
|
+
<div className="DevicePreviewContent-mock" {...props}>
|
|
31
|
+
DevicePreviewContent
|
|
32
|
+
</div>
|
|
33
|
+
),
|
|
34
|
+
}));
|
|
35
|
+
|
|
36
|
+
jest.mock('../../WebPush', () => ({
|
|
37
|
+
__esModule: true,
|
|
38
|
+
default: (props) => (
|
|
39
|
+
<div className="WebPush-mock" {...props}>
|
|
40
|
+
WebPush
|
|
41
|
+
</div>
|
|
42
|
+
),
|
|
43
|
+
}));
|
|
44
|
+
|
|
27
45
|
describe('Test SlideBoxContent container', () => {
|
|
28
46
|
const onCreateComplete = jest.fn();
|
|
29
47
|
let renderedComponent;
|
|
@@ -700,4 +718,196 @@ describe('Test SlideBoxContent container', () => {
|
|
|
700
718
|
expect(renderedComponent).toMatchSnapshot();
|
|
701
719
|
});
|
|
702
720
|
});
|
|
721
|
+
|
|
722
|
+
describe('WebPush channel functionality', () => {
|
|
723
|
+
it('Should render correct component for webpush channel create mode', () => {
|
|
724
|
+
renderFunction('WEBPUSH', 'createTemplate', { mode: 'create' });
|
|
725
|
+
expect(renderedComponent).toMatchSnapshot();
|
|
726
|
+
});
|
|
727
|
+
|
|
728
|
+
it('Should render correct component for webpush channel edit mode', () => {
|
|
729
|
+
const webpushEditTemplateData = {
|
|
730
|
+
type: 'WEBPUSH',
|
|
731
|
+
_id: '123',
|
|
732
|
+
versions: {
|
|
733
|
+
base: {
|
|
734
|
+
content: {
|
|
735
|
+
webpush: {
|
|
736
|
+
title: 'Test Title',
|
|
737
|
+
message: 'Test Message',
|
|
738
|
+
}
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
};
|
|
743
|
+
renderFunction('WEBPUSH', 'editTemplate', webpushEditTemplateData);
|
|
744
|
+
expect(renderedComponent).toMatchSnapshot();
|
|
745
|
+
});
|
|
746
|
+
|
|
747
|
+
it('Should render correct component for webpush channel preview mode with all fields', () => {
|
|
748
|
+
const webpushPreviewTemplateData = {
|
|
749
|
+
type: 'WEBPUSH',
|
|
750
|
+
versions: {
|
|
751
|
+
base: {
|
|
752
|
+
content: {
|
|
753
|
+
webpush: {
|
|
754
|
+
title: 'Test Notification Title',
|
|
755
|
+
message: 'Test notification body text',
|
|
756
|
+
image: 'https://example.com/image.jpg',
|
|
757
|
+
brandIcon: 'https://example.com/brand-icon.png',
|
|
758
|
+
onClickAction: {
|
|
759
|
+
url: 'https://example.com'
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
};
|
|
766
|
+
renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
|
|
767
|
+
expect(renderedComponent).toMatchSnapshot();
|
|
768
|
+
});
|
|
769
|
+
|
|
770
|
+
it('Should render correct component for webpush channel preview mode with minimal fields', () => {
|
|
771
|
+
const webpushPreviewTemplateData = {
|
|
772
|
+
type: 'WEBPUSH',
|
|
773
|
+
versions: {
|
|
774
|
+
base: {
|
|
775
|
+
content: {
|
|
776
|
+
webpush: {
|
|
777
|
+
title: 'Test Title',
|
|
778
|
+
message: 'Test Message'
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
};
|
|
784
|
+
renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
|
|
785
|
+
expect(renderedComponent).toMatchSnapshot();
|
|
786
|
+
});
|
|
787
|
+
|
|
788
|
+
it('Should render correct component for webpush channel preview mode with empty fields', () => {
|
|
789
|
+
const webpushPreviewTemplateData = {
|
|
790
|
+
type: 'WEBPUSH',
|
|
791
|
+
versions: {
|
|
792
|
+
base: {
|
|
793
|
+
content: {
|
|
794
|
+
webpush: {}
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
};
|
|
799
|
+
renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
|
|
800
|
+
expect(renderedComponent).toMatchSnapshot();
|
|
801
|
+
});
|
|
802
|
+
|
|
803
|
+
it('Should render correct component for webpush channel preview mode with missing onClickAction url', () => {
|
|
804
|
+
const webpushPreviewTemplateData = {
|
|
805
|
+
type: 'WEBPUSH',
|
|
806
|
+
versions: {
|
|
807
|
+
base: {
|
|
808
|
+
content: {
|
|
809
|
+
webpush: {
|
|
810
|
+
title: 'Test Title',
|
|
811
|
+
message: 'Test Message',
|
|
812
|
+
onClickAction: {}
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
};
|
|
818
|
+
renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
|
|
819
|
+
expect(renderedComponent).toMatchSnapshot();
|
|
820
|
+
});
|
|
821
|
+
|
|
822
|
+
it('Should render correct component for webpush channel preview mode with null onClickAction', () => {
|
|
823
|
+
const webpushPreviewTemplateData = {
|
|
824
|
+
type: 'WEBPUSH',
|
|
825
|
+
versions: {
|
|
826
|
+
base: {
|
|
827
|
+
content: {
|
|
828
|
+
webpush: {
|
|
829
|
+
title: 'Test Title',
|
|
830
|
+
message: 'Test Message',
|
|
831
|
+
onClickAction: null
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
}
|
|
835
|
+
}
|
|
836
|
+
};
|
|
837
|
+
renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
|
|
838
|
+
expect(renderedComponent).toMatchSnapshot();
|
|
839
|
+
});
|
|
840
|
+
|
|
841
|
+
it('Should handle supportedTags prop in webpush create mode', () => {
|
|
842
|
+
renderFunction('WEBPUSH', 'createTemplate', { mode: 'create' }, {
|
|
843
|
+
supportedTags: ['tag1', 'tag2']
|
|
844
|
+
});
|
|
845
|
+
expect(renderedComponent).toMatchSnapshot();
|
|
846
|
+
});
|
|
847
|
+
|
|
848
|
+
it('Should handle supportedTags prop in webpush edit mode', () => {
|
|
849
|
+
const webpushEditTemplateData = {
|
|
850
|
+
type: 'WEBPUSH',
|
|
851
|
+
_id: '123',
|
|
852
|
+
versions: {
|
|
853
|
+
base: {
|
|
854
|
+
content: {
|
|
855
|
+
webpush: {
|
|
856
|
+
title: 'Test Title',
|
|
857
|
+
message: 'Test Message',
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
};
|
|
863
|
+
renderFunction('WEBPUSH', 'editTemplate', webpushEditTemplateData, {
|
|
864
|
+
supportedTags: ['tag1', 'tag2']
|
|
865
|
+
});
|
|
866
|
+
expect(renderedComponent).toMatchSnapshot();
|
|
867
|
+
});
|
|
868
|
+
|
|
869
|
+
it('Should handle webpush create mode with all props', () => {
|
|
870
|
+
renderFunction('WEBPUSH', 'createTemplate', { mode: 'create' }, {
|
|
871
|
+
isFullMode: true,
|
|
872
|
+
handleClose: jest.fn(),
|
|
873
|
+
onCreateComplete: jest.fn(),
|
|
874
|
+
creativesMode: 'test',
|
|
875
|
+
getDefaultTags: 'outbound',
|
|
876
|
+
forwardedTags: {},
|
|
877
|
+
supportedTags: ['tag1'],
|
|
878
|
+
selectedOfferDetails: [],
|
|
879
|
+
eventContextTags: {}
|
|
880
|
+
});
|
|
881
|
+
expect(renderedComponent).toMatchSnapshot();
|
|
882
|
+
});
|
|
883
|
+
|
|
884
|
+
it('Should handle webpush edit mode with all props', () => {
|
|
885
|
+
const webpushEditTemplateData = {
|
|
886
|
+
type: 'WEBPUSH',
|
|
887
|
+
_id: '123',
|
|
888
|
+
versions: {
|
|
889
|
+
base: {
|
|
890
|
+
content: {
|
|
891
|
+
webpush: {
|
|
892
|
+
title: 'Test Title',
|
|
893
|
+
message: 'Test Message',
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
}
|
|
898
|
+
};
|
|
899
|
+
renderFunction('WEBPUSH', 'editTemplate', webpushEditTemplateData, {
|
|
900
|
+
isFullMode: true,
|
|
901
|
+
handleClose: jest.fn(),
|
|
902
|
+
onCreateComplete: jest.fn(),
|
|
903
|
+
creativesMode: 'test',
|
|
904
|
+
getDefaultTags: 'outbound',
|
|
905
|
+
forwardedTags: {},
|
|
906
|
+
supportedTags: ['tag1'],
|
|
907
|
+
selectedOfferDetails: [],
|
|
908
|
+
eventContextTags: {}
|
|
909
|
+
});
|
|
910
|
+
expect(renderedComponent).toMatchSnapshot();
|
|
911
|
+
});
|
|
912
|
+
});
|
|
703
913
|
});
|
|
@@ -1425,6 +1425,310 @@ exports[`Test SlideBoxContent container Should render correctly with isTestAndPr
|
|
|
1425
1425
|
</SlideBoxContent__CreativesWrapper>
|
|
1426
1426
|
`;
|
|
1427
1427
|
|
|
1428
|
+
exports[`Test SlideBoxContent container WebPush channel functionality Should handle supportedTags prop in webpush create mode 1`] = `
|
|
1429
|
+
<SlideBoxContent__CreativesWrapper>
|
|
1430
|
+
<_default
|
|
1431
|
+
getDefaultTags=""
|
|
1432
|
+
location={
|
|
1433
|
+
Object {
|
|
1434
|
+
"pathname": "/webpush/create",
|
|
1435
|
+
"query": Object {
|
|
1436
|
+
"isEditFromCampaigns": undefined,
|
|
1437
|
+
"module": "library",
|
|
1438
|
+
"type": "embedded",
|
|
1439
|
+
},
|
|
1440
|
+
"search": "",
|
|
1441
|
+
}
|
|
1442
|
+
}
|
|
1443
|
+
onCreateComplete={[MockFunction]}
|
|
1444
|
+
supportedTags={
|
|
1445
|
+
Array [
|
|
1446
|
+
"tag1",
|
|
1447
|
+
"tag2",
|
|
1448
|
+
]
|
|
1449
|
+
}
|
|
1450
|
+
/>
|
|
1451
|
+
</SlideBoxContent__CreativesWrapper>
|
|
1452
|
+
`;
|
|
1453
|
+
|
|
1454
|
+
exports[`Test SlideBoxContent container WebPush channel functionality Should handle supportedTags prop in webpush edit mode 1`] = `
|
|
1455
|
+
<SlideBoxContent__CreativesWrapper>
|
|
1456
|
+
<_default
|
|
1457
|
+
getDefaultTags=""
|
|
1458
|
+
location={
|
|
1459
|
+
Object {
|
|
1460
|
+
"pathname": "/webpush/edit",
|
|
1461
|
+
"query": Object {
|
|
1462
|
+
"isEditFromCampaigns": undefined,
|
|
1463
|
+
"module": "library",
|
|
1464
|
+
"type": "embedded",
|
|
1465
|
+
},
|
|
1466
|
+
"search": "",
|
|
1467
|
+
}
|
|
1468
|
+
}
|
|
1469
|
+
onCreateComplete={[MockFunction]}
|
|
1470
|
+
params={
|
|
1471
|
+
Object {
|
|
1472
|
+
"id": "123",
|
|
1473
|
+
}
|
|
1474
|
+
}
|
|
1475
|
+
supportedTags={
|
|
1476
|
+
Array [
|
|
1477
|
+
"tag1",
|
|
1478
|
+
"tag2",
|
|
1479
|
+
]
|
|
1480
|
+
}
|
|
1481
|
+
templateData={
|
|
1482
|
+
Object {
|
|
1483
|
+
"_id": "123",
|
|
1484
|
+
"type": "WEBPUSH",
|
|
1485
|
+
"versions": Object {
|
|
1486
|
+
"base": Object {
|
|
1487
|
+
"content": Object {
|
|
1488
|
+
"webpush": Object {
|
|
1489
|
+
"message": "Test Message",
|
|
1490
|
+
"title": "Test Title",
|
|
1491
|
+
},
|
|
1492
|
+
},
|
|
1493
|
+
},
|
|
1494
|
+
},
|
|
1495
|
+
}
|
|
1496
|
+
}
|
|
1497
|
+
/>
|
|
1498
|
+
</SlideBoxContent__CreativesWrapper>
|
|
1499
|
+
`;
|
|
1500
|
+
|
|
1501
|
+
exports[`Test SlideBoxContent container WebPush channel functionality Should handle webpush create mode with all props 1`] = `
|
|
1502
|
+
<SlideBoxContent__CreativesWrapper>
|
|
1503
|
+
<_default
|
|
1504
|
+
creativesMode="test"
|
|
1505
|
+
eventContextTags={Object {}}
|
|
1506
|
+
forwardedTags={Object {}}
|
|
1507
|
+
getDefaultTags=""
|
|
1508
|
+
handleClose={[MockFunction]}
|
|
1509
|
+
isFullMode={true}
|
|
1510
|
+
location={
|
|
1511
|
+
Object {
|
|
1512
|
+
"pathname": "/webpush/create",
|
|
1513
|
+
"query": Object {
|
|
1514
|
+
"isEditFromCampaigns": undefined,
|
|
1515
|
+
"module": "default",
|
|
1516
|
+
"type": false,
|
|
1517
|
+
},
|
|
1518
|
+
"search": "",
|
|
1519
|
+
}
|
|
1520
|
+
}
|
|
1521
|
+
onCreateComplete={[MockFunction]}
|
|
1522
|
+
selectedOfferDetails={Array []}
|
|
1523
|
+
supportedTags={
|
|
1524
|
+
Array [
|
|
1525
|
+
"tag1",
|
|
1526
|
+
]
|
|
1527
|
+
}
|
|
1528
|
+
/>
|
|
1529
|
+
</SlideBoxContent__CreativesWrapper>
|
|
1530
|
+
`;
|
|
1531
|
+
|
|
1532
|
+
exports[`Test SlideBoxContent container WebPush channel functionality Should handle webpush edit mode with all props 1`] = `
|
|
1533
|
+
<SlideBoxContent__CreativesWrapper>
|
|
1534
|
+
<_default
|
|
1535
|
+
creativesMode="test"
|
|
1536
|
+
eventContextTags={Object {}}
|
|
1537
|
+
forwardedTags={Object {}}
|
|
1538
|
+
getDefaultTags=""
|
|
1539
|
+
handleClose={[MockFunction]}
|
|
1540
|
+
isFullMode={true}
|
|
1541
|
+
location={
|
|
1542
|
+
Object {
|
|
1543
|
+
"pathname": "/webpush/edit",
|
|
1544
|
+
"query": Object {
|
|
1545
|
+
"isEditFromCampaigns": undefined,
|
|
1546
|
+
"module": "default",
|
|
1547
|
+
"type": false,
|
|
1548
|
+
},
|
|
1549
|
+
"search": "",
|
|
1550
|
+
}
|
|
1551
|
+
}
|
|
1552
|
+
onCreateComplete={[MockFunction]}
|
|
1553
|
+
params={
|
|
1554
|
+
Object {
|
|
1555
|
+
"id": "123",
|
|
1556
|
+
}
|
|
1557
|
+
}
|
|
1558
|
+
selectedOfferDetails={Array []}
|
|
1559
|
+
supportedTags={
|
|
1560
|
+
Array [
|
|
1561
|
+
"tag1",
|
|
1562
|
+
]
|
|
1563
|
+
}
|
|
1564
|
+
templateData={
|
|
1565
|
+
Object {
|
|
1566
|
+
"_id": "123",
|
|
1567
|
+
"type": "WEBPUSH",
|
|
1568
|
+
"versions": Object {
|
|
1569
|
+
"base": Object {
|
|
1570
|
+
"content": Object {
|
|
1571
|
+
"webpush": Object {
|
|
1572
|
+
"message": "Test Message",
|
|
1573
|
+
"title": "Test Title",
|
|
1574
|
+
},
|
|
1575
|
+
},
|
|
1576
|
+
},
|
|
1577
|
+
},
|
|
1578
|
+
}
|
|
1579
|
+
}
|
|
1580
|
+
/>
|
|
1581
|
+
</SlideBoxContent__CreativesWrapper>
|
|
1582
|
+
`;
|
|
1583
|
+
|
|
1584
|
+
exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel create mode 1`] = `
|
|
1585
|
+
<SlideBoxContent__CreativesWrapper>
|
|
1586
|
+
<_default
|
|
1587
|
+
getDefaultTags=""
|
|
1588
|
+
location={
|
|
1589
|
+
Object {
|
|
1590
|
+
"pathname": "/webpush/create",
|
|
1591
|
+
"query": Object {
|
|
1592
|
+
"isEditFromCampaigns": undefined,
|
|
1593
|
+
"module": "library",
|
|
1594
|
+
"type": "embedded",
|
|
1595
|
+
},
|
|
1596
|
+
"search": "",
|
|
1597
|
+
}
|
|
1598
|
+
}
|
|
1599
|
+
onCreateComplete={[MockFunction]}
|
|
1600
|
+
supportedTags={Array []}
|
|
1601
|
+
/>
|
|
1602
|
+
</SlideBoxContent__CreativesWrapper>
|
|
1603
|
+
`;
|
|
1604
|
+
|
|
1605
|
+
exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel edit mode 1`] = `
|
|
1606
|
+
<SlideBoxContent__CreativesWrapper>
|
|
1607
|
+
<_default
|
|
1608
|
+
getDefaultTags=""
|
|
1609
|
+
location={
|
|
1610
|
+
Object {
|
|
1611
|
+
"pathname": "/webpush/edit",
|
|
1612
|
+
"query": Object {
|
|
1613
|
+
"isEditFromCampaigns": undefined,
|
|
1614
|
+
"module": "library",
|
|
1615
|
+
"type": "embedded",
|
|
1616
|
+
},
|
|
1617
|
+
"search": "",
|
|
1618
|
+
}
|
|
1619
|
+
}
|
|
1620
|
+
onCreateComplete={[MockFunction]}
|
|
1621
|
+
params={
|
|
1622
|
+
Object {
|
|
1623
|
+
"id": "123",
|
|
1624
|
+
}
|
|
1625
|
+
}
|
|
1626
|
+
supportedTags={Array []}
|
|
1627
|
+
templateData={
|
|
1628
|
+
Object {
|
|
1629
|
+
"_id": "123",
|
|
1630
|
+
"type": "WEBPUSH",
|
|
1631
|
+
"versions": Object {
|
|
1632
|
+
"base": Object {
|
|
1633
|
+
"content": Object {
|
|
1634
|
+
"webpush": Object {
|
|
1635
|
+
"message": "Test Message",
|
|
1636
|
+
"title": "Test Title",
|
|
1637
|
+
},
|
|
1638
|
+
},
|
|
1639
|
+
},
|
|
1640
|
+
},
|
|
1641
|
+
}
|
|
1642
|
+
}
|
|
1643
|
+
/>
|
|
1644
|
+
</SlideBoxContent__CreativesWrapper>
|
|
1645
|
+
`;
|
|
1646
|
+
|
|
1647
|
+
exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel preview mode with all fields 1`] = `
|
|
1648
|
+
<SlideBoxContent__CreativesWrapper>
|
|
1649
|
+
<div
|
|
1650
|
+
className="webpush-preview-container"
|
|
1651
|
+
>
|
|
1652
|
+
<_default
|
|
1653
|
+
brandIconSrc="https://example.com/brand-icon.png"
|
|
1654
|
+
imageSrc="https://example.com/image.jpg"
|
|
1655
|
+
layoutMode="compact"
|
|
1656
|
+
notificationBody="Test notification body text"
|
|
1657
|
+
notificationTitle="Test Notification Title"
|
|
1658
|
+
url="https://example.com"
|
|
1659
|
+
/>
|
|
1660
|
+
</div>
|
|
1661
|
+
</SlideBoxContent__CreativesWrapper>
|
|
1662
|
+
`;
|
|
1663
|
+
|
|
1664
|
+
exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel preview mode with empty fields 1`] = `
|
|
1665
|
+
<SlideBoxContent__CreativesWrapper>
|
|
1666
|
+
<div
|
|
1667
|
+
className="webpush-preview-container"
|
|
1668
|
+
>
|
|
1669
|
+
<_default
|
|
1670
|
+
brandIconSrc=""
|
|
1671
|
+
imageSrc=""
|
|
1672
|
+
layoutMode="compact"
|
|
1673
|
+
notificationBody=""
|
|
1674
|
+
notificationTitle=""
|
|
1675
|
+
url=""
|
|
1676
|
+
/>
|
|
1677
|
+
</div>
|
|
1678
|
+
</SlideBoxContent__CreativesWrapper>
|
|
1679
|
+
`;
|
|
1680
|
+
|
|
1681
|
+
exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel preview mode with minimal fields 1`] = `
|
|
1682
|
+
<SlideBoxContent__CreativesWrapper>
|
|
1683
|
+
<div
|
|
1684
|
+
className="webpush-preview-container"
|
|
1685
|
+
>
|
|
1686
|
+
<_default
|
|
1687
|
+
brandIconSrc=""
|
|
1688
|
+
imageSrc=""
|
|
1689
|
+
layoutMode="compact"
|
|
1690
|
+
notificationBody="Test Message"
|
|
1691
|
+
notificationTitle="Test Title"
|
|
1692
|
+
url=""
|
|
1693
|
+
/>
|
|
1694
|
+
</div>
|
|
1695
|
+
</SlideBoxContent__CreativesWrapper>
|
|
1696
|
+
`;
|
|
1697
|
+
|
|
1698
|
+
exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel preview mode with missing onClickAction url 1`] = `
|
|
1699
|
+
<SlideBoxContent__CreativesWrapper>
|
|
1700
|
+
<div
|
|
1701
|
+
className="webpush-preview-container"
|
|
1702
|
+
>
|
|
1703
|
+
<_default
|
|
1704
|
+
brandIconSrc=""
|
|
1705
|
+
imageSrc=""
|
|
1706
|
+
layoutMode="compact"
|
|
1707
|
+
notificationBody="Test Message"
|
|
1708
|
+
notificationTitle="Test Title"
|
|
1709
|
+
url=""
|
|
1710
|
+
/>
|
|
1711
|
+
</div>
|
|
1712
|
+
</SlideBoxContent__CreativesWrapper>
|
|
1713
|
+
`;
|
|
1714
|
+
|
|
1715
|
+
exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel preview mode with null onClickAction 1`] = `
|
|
1716
|
+
<SlideBoxContent__CreativesWrapper>
|
|
1717
|
+
<div
|
|
1718
|
+
className="webpush-preview-container"
|
|
1719
|
+
>
|
|
1720
|
+
<_default
|
|
1721
|
+
brandIconSrc=""
|
|
1722
|
+
imageSrc=""
|
|
1723
|
+
layoutMode="compact"
|
|
1724
|
+
notificationBody="Test Message"
|
|
1725
|
+
notificationTitle="Test Title"
|
|
1726
|
+
url=""
|
|
1727
|
+
/>
|
|
1728
|
+
</div>
|
|
1729
|
+
</SlideBoxContent__CreativesWrapper>
|
|
1730
|
+
`;
|
|
1731
|
+
|
|
1428
1732
|
exports[`Test SlideBoxContent container getChannelPreviewContent utility function Should handle FACEBOOK channel preview content 1`] = `
|
|
1429
1733
|
<SlideBoxContent__CreativesWrapper>
|
|
1430
1734
|
<InjectIntl(TemplatePreview)
|
|
@@ -285,7 +285,7 @@ export class FTP extends React.Component {
|
|
|
285
285
|
const { formatMessage } = this.props.intl;
|
|
286
286
|
const { metaEntities, selectedOfferDetails, injectedTags } = this.props;
|
|
287
287
|
const tagsRaw = metaEntities && metaEntities.tags ? metaEntities.tags.standard : [];
|
|
288
|
-
const validateTagResponse = this.validateTags(messageContent, tagsTree, injectedTags);
|
|
288
|
+
const validateTagResponse = !this.props?.isFullMode ? this.validateTags(messageContent, tagsTree, injectedTags) : { valid: true, unsupportedTags: [] };
|
|
289
289
|
let unsupportedTags = null;
|
|
290
290
|
let errorMessageText = '';
|
|
291
291
|
if (!validateTagResponse.valid) {
|
|
@@ -395,6 +395,7 @@ export const InApp = (props) => {
|
|
|
395
395
|
injectedTagsParams: injectedTags,
|
|
396
396
|
location,
|
|
397
397
|
tagModule: getDefaultTags,
|
|
398
|
+
isFullMode,
|
|
398
399
|
}) || {};
|
|
399
400
|
if (value === '' && INAPP_MEDIA_TYPES.NONE) {
|
|
400
401
|
errorMessage = formatMessage(messages.emptyTemplateDescErrorMessage);
|
|
@@ -399,6 +399,7 @@ export const Rcs = (props) => {
|
|
|
399
399
|
location,
|
|
400
400
|
tagModule: getDefaultTags,
|
|
401
401
|
eventContextTags,
|
|
402
|
+
isFullMode,
|
|
402
403
|
}) || {};
|
|
403
404
|
const unsupportedTagsLengthCheck =
|
|
404
405
|
validationResponse?.unsupportedTags?.length > 0;
|
|
@@ -840,6 +841,7 @@ export const Rcs = (props) => {
|
|
|
840
841
|
injectedTagsParams: injectedTags,
|
|
841
842
|
location,
|
|
842
843
|
tagModule: getDefaultTags,
|
|
844
|
+
isFullMode,
|
|
843
845
|
}) || {};
|
|
844
846
|
|
|
845
847
|
const maxLength = templateType === contentType.text_message
|
|
@@ -873,6 +875,7 @@ export const Rcs = (props) => {
|
|
|
873
875
|
injectedTagsParams: injectedTags,
|
|
874
876
|
location,
|
|
875
877
|
tagModule: getDefaultTags,
|
|
878
|
+
isFullMode,
|
|
876
879
|
}) || {};
|
|
877
880
|
if (value?.length > FALLBACK_MESSAGE_MAX_LENGTH) {
|
|
878
881
|
errorMessage = formatMessage(messages.fallbackMsgLenError);
|
|
@@ -243,6 +243,7 @@ export const SmsTraiEdit = (props) => {
|
|
|
243
243
|
location,
|
|
244
244
|
tagModule: getDefaultTags,
|
|
245
245
|
eventContextTags,
|
|
246
|
+
isFullMode,
|
|
246
247
|
}) || {};
|
|
247
248
|
updateIsTagValidationError(
|
|
248
249
|
tagValidationResponse.unsupportedTags.length > 0,
|
|
@@ -581,17 +582,6 @@ export const SmsTraiEdit = (props) => {
|
|
|
581
582
|
return updatedSmsEditor.join('');
|
|
582
583
|
};
|
|
583
584
|
|
|
584
|
-
// Build formData for TestAndPreviewSlidebox - templateConfigs with templateId and template for DLT test
|
|
585
|
-
const getFormDataForTestAndPreview = () => {
|
|
586
|
-
const smsBase = get(traiData, 'versions.base') || get(templateDetails, 'versions.base') || get(templateData, 'versions.base');
|
|
587
|
-
if (!smsBase || !smsBase.template_id) {
|
|
588
|
-
return {};
|
|
589
|
-
}
|
|
590
|
-
const templateRaw = smsBase['updated-sms-editor'] || smsBase['sms-editor'] || '';
|
|
591
|
-
const template = Array.isArray(templateRaw) ? templateRaw.join('') : templateRaw;
|
|
592
|
-
return { templateConfigs: { templateId: smsBase.template_id, template } };
|
|
593
|
-
};
|
|
594
|
-
|
|
595
585
|
// Handle test and preview button click
|
|
596
586
|
const handleTestAndPreview = () => {
|
|
597
587
|
setShowTestAndPreviewSlidebox(true);
|
|
@@ -708,7 +698,7 @@ export const SmsTraiEdit = (props) => {
|
|
|
708
698
|
<TestAndPreviewSlidebox
|
|
709
699
|
show={showTestAndPreviewSlidebox}
|
|
710
700
|
onClose={handleCloseTestAndPreview}
|
|
711
|
-
formData={
|
|
701
|
+
formData={{}}
|
|
712
702
|
content={getTemplateContent()}
|
|
713
703
|
currentChannel={SMS}
|
|
714
704
|
/>
|