@capillarytech/creatives-library 8.0.255-alpha.4 → 8.0.255
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/assets/Android.png +0 -0
- package/assets/iOS.png +0 -0
- package/constants/unified.js +2 -2
- package/initialReducer.js +2 -0
- package/package.json +1 -1
- package/services/api.js +10 -5
- package/services/tests/api.test.js +34 -0
- package/translations/en.json +3 -4
- package/utils/common.js +5 -6
- package/utils/commonUtils.js +28 -5
- package/utils/tests/commonUtil.test.js +224 -0
- package/utils/tests/transformerUtils.test.js +0 -297
- package/utils/transformTemplateConfig.js +0 -10
- package/utils/transformerUtils.js +0 -40
- package/v2Components/CapDeviceContent/index.js +61 -56
- package/v2Components/CapImageUpload/constants.js +0 -2
- package/v2Components/CapImageUpload/index.js +16 -65
- package/v2Components/CapImageUpload/index.scss +1 -4
- package/v2Components/CapImageUpload/messages.js +1 -5
- package/v2Components/CapTagList/index.js +6 -1
- package/v2Components/CapTagListWithInput/index.js +5 -1
- package/v2Components/CapTagListWithInput/messages.js +1 -1
- package/v2Components/CapWhatsappCTA/tests/index.test.js +5 -0
- package/v2Components/ErrorInfoNote/constants.js +1 -0
- package/v2Components/ErrorInfoNote/index.js +457 -72
- package/v2Components/ErrorInfoNote/messages.js +36 -6
- package/v2Components/ErrorInfoNote/style.scss +282 -6
- package/v2Components/FormBuilder/tests/index.test.js +13 -4
- package/v2Components/HtmlEditor/HTMLEditor.js +547 -94
- package/v2Components/HtmlEditor/__tests__/HTMLEditor.apiErrors.test.js +874 -0
- package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +1441 -133
- package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +27 -16
- package/v2Components/HtmlEditor/_htmlEditor.scss +108 -45
- package/v2Components/HtmlEditor/_index.lazy.scss +0 -1
- package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +23 -102
- package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +148 -140
- package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +2 -1
- package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
- package/v2Components/HtmlEditor/components/EditorToolbar/_editorToolbar.scss +9 -0
- package/v2Components/HtmlEditor/components/EditorToolbar/index.js +4 -4
- package/v2Components/HtmlEditor/components/FullscreenModal/_fullscreenModal.scss +22 -0
- package/v2Components/HtmlEditor/components/InAppPreviewPane/DeviceFrame.js +4 -7
- package/v2Components/HtmlEditor/components/InAppPreviewPane/__tests__/DeviceFrame.test.js +35 -45
- package/v2Components/HtmlEditor/components/InAppPreviewPane/_inAppPreviewPane.scss +1 -3
- package/v2Components/HtmlEditor/components/InAppPreviewPane/constants.js +33 -33
- package/v2Components/HtmlEditor/components/InAppPreviewPane/index.js +7 -6
- package/v2Components/HtmlEditor/components/PreviewPane/_previewPane.scss +3 -6
- package/v2Components/HtmlEditor/components/PreviewPane/index.js +22 -43
- package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
- package/v2Components/HtmlEditor/components/ValidationErrorDisplay/_validationErrorDisplay.scss +1 -0
- package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +49 -31
- package/v2Components/HtmlEditor/components/ValidationPanel/_validationPanel.scss +50 -34
- package/v2Components/HtmlEditor/components/ValidationPanel/constants.js +6 -0
- package/v2Components/HtmlEditor/components/ValidationPanel/index.js +70 -41
- package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +255 -0
- package/v2Components/HtmlEditor/components/ValidationTabs/index.js +364 -0
- package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +51 -0
- package/v2Components/HtmlEditor/constants.js +42 -20
- package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +373 -16
- package/v2Components/HtmlEditor/hooks/__tests__/useValidation.test.js +103 -0
- package/v2Components/HtmlEditor/hooks/useEditorContent.js +5 -2
- package/v2Components/HtmlEditor/hooks/useInAppContent.js +88 -146
- package/v2Components/HtmlEditor/hooks/useValidation.js +189 -53
- package/v2Components/HtmlEditor/index.js +1 -1
- package/v2Components/HtmlEditor/messages.js +92 -94
- package/v2Components/HtmlEditor/utils/__tests__/htmlValidator.enhanced.test.js +94 -45
- package/v2Components/HtmlEditor/utils/__tests__/validationAdapter.test.js +134 -0
- package/v2Components/HtmlEditor/utils/contentSanitizer.js +40 -41
- package/v2Components/HtmlEditor/utils/htmlValidator.js +71 -72
- package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +134 -102
- package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +23 -25
- package/v2Components/HtmlEditor/utils/validationAdapter.js +66 -41
- package/v2Components/HtmlEditor/utils/validationConstants.js +40 -0
- package/v2Components/MobilePushPreviewV2/index.js +32 -7
- package/v2Components/TemplatePreview/_templatePreview.scss +55 -24
- package/v2Components/TemplatePreview/index.js +47 -32
- package/v2Components/TemplatePreview/messages.js +4 -0
- package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +1 -0
- package/v2Containers/App/constants.js +0 -5
- package/v2Containers/BeeEditor/index.js +172 -90
- package/v2Containers/BeePopupEditor/_beePopupEditor.scss +14 -0
- package/v2Containers/BeePopupEditor/constants.js +10 -0
- package/v2Containers/BeePopupEditor/index.js +194 -0
- package/v2Containers/BeePopupEditor/tests/index.test.js +627 -0
- package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +3 -4
- package/v2Containers/CreativesContainer/SlideBoxContent.js +129 -107
- package/v2Containers/CreativesContainer/SlideBoxFooter.js +163 -13
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +2 -2
- package/v2Containers/CreativesContainer/constants.js +1 -3
- package/v2Containers/CreativesContainer/index.js +239 -214
- package/v2Containers/CreativesContainer/messages.js +8 -4
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
- package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +11 -2
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +38 -354
- package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +106 -0
- package/v2Containers/Email/actions.js +7 -0
- package/v2Containers/Email/constants.js +5 -1
- package/v2Containers/Email/index.js +234 -29
- package/v2Containers/Email/messages.js +32 -0
- package/v2Containers/Email/reducer.js +12 -1
- package/v2Containers/Email/sagas.js +61 -7
- package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +2 -0
- package/v2Containers/Email/tests/reducer.test.js +46 -0
- package/v2Containers/Email/tests/sagas.test.js +320 -29
- package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +1285 -0
- package/v2Containers/EmailWrapper/components/EmailWrapperView.js +211 -21
- package/v2Containers/EmailWrapper/components/HTMLEditorTesting.js +40 -74
- package/v2Containers/EmailWrapper/components/__tests__/EmailHTMLEditor.test.js +1880 -0
- package/v2Containers/EmailWrapper/components/__tests__/EmailWrapperView.test.js +520 -0
- package/v2Containers/EmailWrapper/components/__tests__/HTMLEditorTesting.test.js +2 -67
- package/v2Containers/EmailWrapper/constants.js +2 -0
- package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +629 -77
- package/v2Containers/EmailWrapper/index.js +103 -23
- package/v2Containers/EmailWrapper/messages.js +65 -1
- package/v2Containers/EmailWrapper/tests/useEmailWrapper.edgeCases.test.js +643 -0
- package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +594 -77
- package/v2Containers/InApp/__tests__/InAppHTMLEditor.test.js +376 -0
- package/v2Containers/InApp/__tests__/sagas.test.js +363 -0
- package/v2Containers/InApp/actions.js +7 -0
- package/v2Containers/InApp/constants.js +20 -4
- package/v2Containers/InApp/index.js +802 -359
- package/v2Containers/InApp/index.scss +4 -3
- package/v2Containers/InApp/messages.js +7 -3
- package/v2Containers/InApp/reducer.js +21 -3
- package/v2Containers/InApp/sagas.js +29 -9
- package/v2Containers/InApp/selectors.js +25 -5
- package/v2Containers/InApp/tests/index.test.js +154 -50
- package/v2Containers/InApp/tests/reducer.test.js +34 -0
- package/v2Containers/InApp/tests/sagas.test.js +61 -9
- package/v2Containers/InApp/tests/selectors.test.js +612 -0
- package/v2Containers/InAppWrapper/components/InAppWrapperView.js +151 -0
- package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +267 -0
- package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +23 -0
- package/v2Containers/InAppWrapper/constants.js +16 -0
- package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +473 -0
- package/v2Containers/InAppWrapper/hooks/useInAppWrapper.js +198 -0
- package/v2Containers/InAppWrapper/index.js +148 -0
- package/v2Containers/InAppWrapper/messages.js +49 -0
- package/v2Containers/InappAdvance/index.js +1099 -0
- package/v2Containers/InappAdvance/index.scss +10 -0
- package/v2Containers/InappAdvance/tests/index.test.js +448 -0
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +15 -36
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +8 -8
- package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +77 -100
- package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +63 -72
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +190 -250
- package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +12 -16
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +40 -48
- package/v2Containers/TagList/index.js +62 -19
- package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
- package/v2Containers/Templates/_templates.scss +56 -202
- package/v2Containers/Templates/actions.js +1 -2
- package/v2Containers/Templates/constants.js +0 -1
- package/v2Containers/Templates/index.js +123 -278
- package/v2Containers/Templates/messages.js +4 -24
- package/v2Containers/Templates/reducer.js +0 -2
- package/v2Containers/Templates/tests/index.test.js +0 -10
- package/v2Containers/TemplatesV2/index.js +7 -15
- package/v2Containers/TemplatesV2/messages.js +0 -4
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +768 -1272
- package/utils/imageUrlUpload.js +0 -141
- package/v2Components/CapImageUrlUpload/constants.js +0 -26
- package/v2Components/CapImageUrlUpload/index.js +0 -365
- package/v2Components/CapImageUrlUpload/index.scss +0 -35
- package/v2Components/CapImageUrlUpload/messages.js +0 -47
- package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +0 -152
- package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +0 -214
- package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
- package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
- package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
- package/v2Containers/WebPush/Create/components/ButtonList.js +0 -145
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
- package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
- package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
- package/v2Containers/WebPush/Create/components/MediaSection.js +0 -142
- package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
- package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
- package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
- package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
- package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
- package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
- package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
- package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -86
- package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
- package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
- package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
- package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
- package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
- package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
- package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
- package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
- package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -78
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
- package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
- package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
- package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
- package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
- package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
- package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
- package/v2Containers/WebPush/Create/index.js +0 -1148
- package/v2Containers/WebPush/Create/index.scss +0 -134
- package/v2Containers/WebPush/Create/messages.js +0 -203
- package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
- package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
- package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
- package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
- package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -23
- package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
- package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
- package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
- package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
- 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 +0 -106
- package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
- package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
- package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
- package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -47
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -141
- package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
- package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
- package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
- package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
- package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
- package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
- package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -81
- package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
- package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
- package/v2Containers/WebPush/Create/preview/constants.js +0 -637
- package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
- package/v2Containers/WebPush/Create/preview/preview.scss +0 -351
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
- package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
- package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
- package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
- package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
- package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
- package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
- package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
- package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
- package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
- package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
- package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
- package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
- package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
- package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
- package/v2Containers/WebPush/Create/utils/validation.js +0 -75
- package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
- package/v2Containers/WebPush/actions.js +0 -60
- package/v2Containers/WebPush/constants.js +0 -132
- package/v2Containers/WebPush/index.js +0 -2
- package/v2Containers/WebPush/reducer.js +0 -104
- package/v2Containers/WebPush/sagas.js +0 -119
- package/v2Containers/WebPush/selectors.js +0 -65
- package/v2Containers/WebPush/tests/reducer.test.js +0 -863
- package/v2Containers/WebPush/tests/sagas.test.js +0 -566
- package/v2Containers/WebPush/tests/selectors.test.js +0 -960
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Provider } from 'react-redux';
|
|
3
|
+
import '@testing-library/jest-dom';
|
|
4
|
+
import { injectIntl } from 'react-intl';
|
|
5
|
+
import { configureStore } from '@capillarytech/vulcan-react-sdk/utils';
|
|
6
|
+
import history from '../../../utils/history';
|
|
7
|
+
import { initialReducer } from '../../../initialReducer';
|
|
8
|
+
import { InappAdvanced } from '../index';
|
|
9
|
+
import { render, screen, fireEvent, waitFor } from '../../../utils/test-utils';
|
|
10
|
+
|
|
11
|
+
// Mock child components that are complex or not under test
|
|
12
|
+
jest.mock('../../BeePopupEditor', () => ({
|
|
13
|
+
__esModule: true,
|
|
14
|
+
default: (props) => (
|
|
15
|
+
<div
|
|
16
|
+
data-testid={`bee-popup-editor-${props.device}`}
|
|
17
|
+
data-device={props.device}
|
|
18
|
+
data-template-layout-type={props.templateLayoutType}
|
|
19
|
+
>
|
|
20
|
+
BeePopupEditor - {props.device}
|
|
21
|
+
<button
|
|
22
|
+
onClick={() => props.saveBeeData('{"test": "json"}', '<p>Test HTML</p>', props.device)}
|
|
23
|
+
data-testid={`save-bee-data-${props.device}`}
|
|
24
|
+
>
|
|
25
|
+
Save Bee Data
|
|
26
|
+
</button>
|
|
27
|
+
<button
|
|
28
|
+
onClick={() => props.saveBeeInstance({ mockInstance: true })}
|
|
29
|
+
data-testid={`save-bee-instance-${props.device}`}
|
|
30
|
+
>
|
|
31
|
+
Save Bee Instance
|
|
32
|
+
</button>
|
|
33
|
+
</div>
|
|
34
|
+
),
|
|
35
|
+
}));
|
|
36
|
+
|
|
37
|
+
let store;
|
|
38
|
+
beforeAll(() => {
|
|
39
|
+
store = configureStore({}, initialReducer, history);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const ComponentToRender = injectIntl(InappAdvanced);
|
|
43
|
+
const renderComponent = (props) =>
|
|
44
|
+
render(
|
|
45
|
+
<Provider store={store}>
|
|
46
|
+
<ComponentToRender {...props} />
|
|
47
|
+
</Provider>
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
describe('InappAdvanced Component', () => {
|
|
51
|
+
let defaultProps;
|
|
52
|
+
let mockActions;
|
|
53
|
+
|
|
54
|
+
beforeEach(() => {
|
|
55
|
+
mockActions = {
|
|
56
|
+
getBeePopupBuilderToken: jest.fn(),
|
|
57
|
+
createInAppTemplate: jest.fn(),
|
|
58
|
+
editTemplate: jest.fn(),
|
|
59
|
+
clearCreateResponse: jest.fn(),
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const mockGlobalActions = {
|
|
63
|
+
fetchSchemaForEntity: jest.fn(),
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
defaultProps = {
|
|
67
|
+
intl: {
|
|
68
|
+
formatMessage: jest.fn((msg) => msg.defaultMessage || msg.id),
|
|
69
|
+
},
|
|
70
|
+
actions: mockActions,
|
|
71
|
+
globalActions: mockGlobalActions,
|
|
72
|
+
isFullMode: true,
|
|
73
|
+
onCreateComplete: jest.fn(),
|
|
74
|
+
params: { id: 'test-id' },
|
|
75
|
+
templateData: {},
|
|
76
|
+
editData: {},
|
|
77
|
+
accountData: {
|
|
78
|
+
selectedWeChatAccount: {
|
|
79
|
+
sourceAccountIdentifier: 'test-account',
|
|
80
|
+
id: 'account-123',
|
|
81
|
+
configs: {
|
|
82
|
+
android: '1',
|
|
83
|
+
ios: '1',
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
location: {
|
|
88
|
+
pathname: '/inapp/create',
|
|
89
|
+
query: { type: 'inapp' },
|
|
90
|
+
search: '',
|
|
91
|
+
},
|
|
92
|
+
getDefaultTags: 'inapp',
|
|
93
|
+
supportedTags: [],
|
|
94
|
+
metaEntities: {
|
|
95
|
+
tags: {
|
|
96
|
+
standard: [],
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
injectedTags: [],
|
|
100
|
+
getFormData: jest.fn(),
|
|
101
|
+
templateName: 'Test Template',
|
|
102
|
+
setTemplateName: jest.fn(),
|
|
103
|
+
beePopupBuilderTokenFetching: false,
|
|
104
|
+
beePopupBuilderToken: {
|
|
105
|
+
uuid: 'test-uuid-123',
|
|
106
|
+
token: 'test-token-456',
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
describe('Component Initialization', () => {
|
|
112
|
+
it('should render without crashing', () => {
|
|
113
|
+
renderComponent(defaultProps);
|
|
114
|
+
|
|
115
|
+
expect(screen.getByText('Create')).toBeInTheDocument();
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it('should call getBeePopupBuilderToken on mount', () => {
|
|
119
|
+
renderComponent(defaultProps);
|
|
120
|
+
|
|
121
|
+
expect(mockActions.getBeePopupBuilderToken).toHaveBeenCalledTimes(1);
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
it('should show loading spinner when beePopupBuilderTokenFetching is true', () => {
|
|
125
|
+
renderComponent({
|
|
126
|
+
...defaultProps,
|
|
127
|
+
beePopupBuilderTokenFetching: true,
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
// The spinner should be present but we can't easily test for it without mocking
|
|
131
|
+
expect(screen.getByText('Create')).toBeInTheDocument();
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
describe('Layout Selection', () => {
|
|
136
|
+
it('should render layout selection when isFullMode is true', () => {
|
|
137
|
+
renderComponent({
|
|
138
|
+
...defaultProps,
|
|
139
|
+
isFullMode: true,
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
expect(screen.getByText('Creative layout')).toBeInTheDocument();
|
|
143
|
+
// CapSelect from cap-ui-library should render a select element
|
|
144
|
+
const selectElements = screen.getAllByRole('button');
|
|
145
|
+
expect(selectElements.length).toBeGreaterThan(0);
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
it('should update layout type when selection changes', () => {
|
|
149
|
+
renderComponent(defaultProps);
|
|
150
|
+
|
|
151
|
+
// Layout selection should be rendered
|
|
152
|
+
expect(screen.getByText('Creative layout')).toBeInTheDocument();
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
describe('Device Tabs', () => {
|
|
157
|
+
it('should render device tabs with Android and iOS options', () => {
|
|
158
|
+
renderComponent(defaultProps);
|
|
159
|
+
|
|
160
|
+
expect(screen.getByText('Android')).toBeInTheDocument();
|
|
161
|
+
expect(screen.getByText('IOS')).toBeInTheDocument();
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
it('should show BeePopupEditor for Android when Android tab is active', () => {
|
|
165
|
+
renderComponent({
|
|
166
|
+
...defaultProps,
|
|
167
|
+
beePopupBuilderToken: { uuid: 'test-uuid' },
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
expect(screen.getByTestId('bee-popup-editor-ANDROID')).toBeInTheDocument();
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
it('should only show supported device tabs', () => {
|
|
174
|
+
renderComponent({
|
|
175
|
+
...defaultProps,
|
|
176
|
+
accountData: {
|
|
177
|
+
selectedWeChatAccount: {
|
|
178
|
+
configs: {
|
|
179
|
+
android: '0', // Not supported
|
|
180
|
+
ios: '1', // Supported
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
expect(screen.queryByText('Android')).not.toBeInTheDocument();
|
|
187
|
+
expect(screen.getByText('IOS')).toBeInTheDocument();
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
describe('BeePopupEditor Integration', () => {
|
|
192
|
+
it('should pass correct props to BeePopupEditor', () => {
|
|
193
|
+
renderComponent({
|
|
194
|
+
...defaultProps,
|
|
195
|
+
beePopupBuilderToken: { uuid: 'test-uuid' },
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
const beeEditor = screen.getByTestId('bee-popup-editor-ANDROID');
|
|
199
|
+
expect(beeEditor).toHaveAttribute('data-device', 'ANDROID');
|
|
200
|
+
expect(beeEditor).toHaveAttribute('data-template-layout-type', 'MODAL');
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
it('should handle saveBeeData callback correctly', () => {
|
|
204
|
+
renderComponent({
|
|
205
|
+
...defaultProps,
|
|
206
|
+
beePopupBuilderToken: { uuid: 'test-uuid' },
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
const saveBeeDataButton = screen.getByTestId('save-bee-data-ANDROID');
|
|
210
|
+
fireEvent.click(saveBeeDataButton);
|
|
211
|
+
|
|
212
|
+
// The component should update its internal state with the JSON and HTML
|
|
213
|
+
expect(saveBeeDataButton).toBeInTheDocument(); // Basic check that callback was handled
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
it('should handle saveBeeInstance callback correctly', () => {
|
|
217
|
+
renderComponent({
|
|
218
|
+
...defaultProps,
|
|
219
|
+
beePopupBuilderToken: { uuid: 'test-uuid' },
|
|
220
|
+
});
|
|
221
|
+
|
|
222
|
+
const saveBeeInstanceButton = screen.getByTestId('save-bee-instance-ANDROID');
|
|
223
|
+
fireEvent.click(saveBeeInstanceButton);
|
|
224
|
+
|
|
225
|
+
// The component should store the bee instance
|
|
226
|
+
expect(saveBeeInstanceButton).toBeInTheDocument(); // Basic check that callback was handled
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
it('should not render BeePopupEditor when no token is available', () => {
|
|
230
|
+
renderComponent({
|
|
231
|
+
...defaultProps,
|
|
232
|
+
beePopupBuilderToken: null,
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
expect(screen.queryByTestId('bee-popup-editor-ANDROID')).not.toBeInTheDocument();
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
describe('Action Buttons', () => {
|
|
240
|
+
it('should render Create button in full mode for new templates', () => {
|
|
241
|
+
renderComponent({
|
|
242
|
+
...defaultProps,
|
|
243
|
+
isFullMode: true,
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
expect(screen.getByText('Create')).toBeInTheDocument();
|
|
247
|
+
});
|
|
248
|
+
|
|
249
|
+
it('should render Update button in edit mode', () => {
|
|
250
|
+
renderComponent({
|
|
251
|
+
...defaultProps,
|
|
252
|
+
isFullMode: true,
|
|
253
|
+
editData: {
|
|
254
|
+
templateDetails: {
|
|
255
|
+
name: 'Existing Template',
|
|
256
|
+
versions: {
|
|
257
|
+
base: {
|
|
258
|
+
content: {
|
|
259
|
+
ANDROID: { title: 'Test' },
|
|
260
|
+
},
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
},
|
|
264
|
+
},
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
expect(screen.getByText('Update')).toBeInTheDocument();
|
|
268
|
+
});
|
|
269
|
+
|
|
270
|
+
it('should render Done button in library mode', () => {
|
|
271
|
+
renderComponent({
|
|
272
|
+
...defaultProps,
|
|
273
|
+
isFullMode: false,
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
expect(screen.getByText('Done')).toBeInTheDocument();
|
|
277
|
+
});
|
|
278
|
+
|
|
279
|
+
it('should call appropriate action when Create button is clicked', async () => {
|
|
280
|
+
renderComponent({
|
|
281
|
+
...defaultProps,
|
|
282
|
+
isFullMode: true,
|
|
283
|
+
});
|
|
284
|
+
|
|
285
|
+
const createButton = screen.getByText('Create');
|
|
286
|
+
fireEvent.click(createButton);
|
|
287
|
+
|
|
288
|
+
// Wait for async operations to complete
|
|
289
|
+
await waitFor(() => {
|
|
290
|
+
expect(mockActions.createInAppTemplate).toHaveBeenCalled();
|
|
291
|
+
}, { timeout: 3000 });
|
|
292
|
+
});
|
|
293
|
+
});
|
|
294
|
+
|
|
295
|
+
describe('Form Data Integration', () => {
|
|
296
|
+
it('should call getFormData when in library mode', async () => {
|
|
297
|
+
const mockGetFormData = jest.fn();
|
|
298
|
+
renderComponent({
|
|
299
|
+
...defaultProps,
|
|
300
|
+
isFullMode: false,
|
|
301
|
+
getFormData: mockGetFormData,
|
|
302
|
+
});
|
|
303
|
+
|
|
304
|
+
const doneButton = screen.getByText('Done');
|
|
305
|
+
fireEvent.click(doneButton);
|
|
306
|
+
|
|
307
|
+
// Wait for async operations to complete
|
|
308
|
+
await waitFor(() => {
|
|
309
|
+
expect(mockGetFormData).toHaveBeenCalledWith({
|
|
310
|
+
value: expect.any(Object),
|
|
311
|
+
_id: 'test-id',
|
|
312
|
+
validity: true,
|
|
313
|
+
type: 'INAPP',
|
|
314
|
+
});
|
|
315
|
+
}, { timeout: 3000 });
|
|
316
|
+
});
|
|
317
|
+
});
|
|
318
|
+
|
|
319
|
+
describe('Template Name Integration', () => {
|
|
320
|
+
it('should display the template name when provided', () => {
|
|
321
|
+
renderComponent({
|
|
322
|
+
...defaultProps,
|
|
323
|
+
templateName: 'My Awesome Template',
|
|
324
|
+
});
|
|
325
|
+
|
|
326
|
+
// Template name should be used in the payload creation
|
|
327
|
+
expect(screen.getByText('Create')).toBeInTheDocument();
|
|
328
|
+
});
|
|
329
|
+
|
|
330
|
+
it('should handle setTemplateName callback', () => {
|
|
331
|
+
const mockSetTemplateName = jest.fn();
|
|
332
|
+
renderComponent({
|
|
333
|
+
...defaultProps,
|
|
334
|
+
setTemplateName: mockSetTemplateName,
|
|
335
|
+
});
|
|
336
|
+
|
|
337
|
+
// The component should be able to update template name
|
|
338
|
+
expect(mockSetTemplateName).toBeDefined();
|
|
339
|
+
});
|
|
340
|
+
});
|
|
341
|
+
|
|
342
|
+
describe('Account Data Integration', () => {
|
|
343
|
+
it('should handle missing account data gracefully', () => {
|
|
344
|
+
renderComponent({
|
|
345
|
+
...defaultProps,
|
|
346
|
+
accountData: {},
|
|
347
|
+
});
|
|
348
|
+
|
|
349
|
+
// Component should render without crashing
|
|
350
|
+
expect(screen.getByText('Create')).toBeInTheDocument();
|
|
351
|
+
});
|
|
352
|
+
|
|
353
|
+
it('should use account data in payload creation', () => {
|
|
354
|
+
renderComponent({
|
|
355
|
+
...defaultProps,
|
|
356
|
+
accountData: {
|
|
357
|
+
selectedWeChatAccount: {
|
|
358
|
+
sourceAccountIdentifier: 'test-account-123',
|
|
359
|
+
id: 'account-456',
|
|
360
|
+
},
|
|
361
|
+
},
|
|
362
|
+
});
|
|
363
|
+
|
|
364
|
+
// Account data should be used when creating the payload
|
|
365
|
+
expect(screen.getByText('Create')).toBeInTheDocument();
|
|
366
|
+
});
|
|
367
|
+
});
|
|
368
|
+
|
|
369
|
+
describe('Edit Flow', () => {
|
|
370
|
+
it('should initialize edit flow when editData is provided', () => {
|
|
371
|
+
renderComponent({
|
|
372
|
+
...defaultProps,
|
|
373
|
+
editData: {
|
|
374
|
+
templateDetails: {
|
|
375
|
+
name: 'Existing Template',
|
|
376
|
+
createdAt: '2023-01-01',
|
|
377
|
+
versions: {
|
|
378
|
+
base: {
|
|
379
|
+
content: {
|
|
380
|
+
ANDROID: {
|
|
381
|
+
isBEEeditor: true,
|
|
382
|
+
beeJson: '{"test": "json"}',
|
|
383
|
+
beeHtml: '<p>Test HTML</p>',
|
|
384
|
+
},
|
|
385
|
+
IOS: {
|
|
386
|
+
isBEEeditor: true,
|
|
387
|
+
beeJson: '{"test": "ios-json"}',
|
|
388
|
+
beeHtml: '<p>iOS Test HTML</p>',
|
|
389
|
+
},
|
|
390
|
+
},
|
|
391
|
+
},
|
|
392
|
+
},
|
|
393
|
+
},
|
|
394
|
+
},
|
|
395
|
+
});
|
|
396
|
+
|
|
397
|
+
// Should show Update button in edit flow
|
|
398
|
+
expect(screen.getByText('Update')).toBeInTheDocument();
|
|
399
|
+
});
|
|
400
|
+
});
|
|
401
|
+
|
|
402
|
+
describe('Error Handling', () => {
|
|
403
|
+
it('should handle missing props gracefully', () => {
|
|
404
|
+
expect(() => {
|
|
405
|
+
renderComponent({
|
|
406
|
+
intl: {
|
|
407
|
+
formatMessage: jest.fn((msg) => msg.defaultMessage || msg.id),
|
|
408
|
+
},
|
|
409
|
+
actions: mockActions,
|
|
410
|
+
globalActions: {
|
|
411
|
+
fetchSchemaForEntity: jest.fn(),
|
|
412
|
+
},
|
|
413
|
+
location: {
|
|
414
|
+
pathname: '/inapp/create',
|
|
415
|
+
query: { type: 'inapp' },
|
|
416
|
+
search: '',
|
|
417
|
+
},
|
|
418
|
+
});
|
|
419
|
+
}).not.toThrow();
|
|
420
|
+
});
|
|
421
|
+
|
|
422
|
+
it('should handle undefined beePopupBuilderToken gracefully', () => {
|
|
423
|
+
renderComponent({
|
|
424
|
+
...defaultProps,
|
|
425
|
+
beePopupBuilderToken: undefined,
|
|
426
|
+
});
|
|
427
|
+
|
|
428
|
+
expect(screen.getByText('Create')).toBeInTheDocument();
|
|
429
|
+
});
|
|
430
|
+
});
|
|
431
|
+
|
|
432
|
+
describe('Responsive Behavior', () => {
|
|
433
|
+
it('should apply correct CSS classes for different modes', () => {
|
|
434
|
+
const { container } = renderComponent(defaultProps);
|
|
435
|
+
|
|
436
|
+
expect(container.querySelector('.cap-inapp-creatives')).toBeInTheDocument();
|
|
437
|
+
});
|
|
438
|
+
|
|
439
|
+
it('should show footer with correct classes in library mode', () => {
|
|
440
|
+
const { container } = renderComponent({
|
|
441
|
+
...defaultProps,
|
|
442
|
+
isFullMode: false,
|
|
443
|
+
});
|
|
444
|
+
|
|
445
|
+
expect(container.querySelector('.inapp-footer-lib')).toBeInTheDocument();
|
|
446
|
+
});
|
|
447
|
+
});
|
|
448
|
+
});
|
|
@@ -189,7 +189,7 @@ exports[`Creatives line image carousel test/> should render 1`] = `
|
|
|
189
189
|
"creatives.componentsV2.CapDocumentUpload.imageDimenstionDescription": "Dimensions upto: {width}px x {height}px",
|
|
190
190
|
"creatives.componentsV2.CapDocumentUpload.or": "OR",
|
|
191
191
|
"creatives.componentsV2.CapDocumentUpload.uploadComputer": "Select from computer",
|
|
192
|
-
"creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size
|
|
192
|
+
"creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size upto: {size}",
|
|
193
193
|
"creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
|
|
194
194
|
"creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
|
|
195
195
|
"creatives.componentsV2.CapImageUpload.format": "Format: JPEG, JPG, PNG",
|
|
@@ -197,13 +197,13 @@ exports[`Creatives line image carousel test/> should render 1`] = `
|
|
|
197
197
|
"creatives.componentsV2.CapImageUpload.imageErrorDesc": "Please upload the image with allowed file extension, size, dimension and aspect ratio",
|
|
198
198
|
"creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
|
|
199
199
|
"creatives.componentsV2.CapImageUpload.imageReUpload": "Reupload",
|
|
200
|
-
"creatives.componentsV2.CapImageUpload.imageSize": "Size
|
|
200
|
+
"creatives.componentsV2.CapImageUpload.imageSize": "Size upto: 2MB",
|
|
201
201
|
"creatives.componentsV2.CapImageUpload.or": "OR",
|
|
202
202
|
"creatives.componentsV2.CapImageUpload.uploadComputer": "Select from computer",
|
|
203
203
|
"creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
|
|
204
204
|
"creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
|
|
205
205
|
"creatives.componentsV2.CapImageUpload.whatsappAspectRatio": "Max aspect ratio: 1.91:1",
|
|
206
|
-
"creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size
|
|
206
|
+
"creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size upto: 5MB",
|
|
207
207
|
"creatives.componentsV2.CapTagList.Cancel": "Cancel",
|
|
208
208
|
"creatives.componentsV2.CapTagList.Ok": "Ok",
|
|
209
209
|
"creatives.componentsV2.CapTagList.all": "All",
|
|
@@ -1896,7 +1896,6 @@ new message content.",
|
|
|
1896
1896
|
"creatives.containersV2.WeChat.templateName": "Template Name",
|
|
1897
1897
|
"creatives.containersV2.WeChat.wechatCreateSuccess": "WeChat template mapped successfully",
|
|
1898
1898
|
"creatives.containersV2.WeChat.wechatEditSuccess": "WeChat template edited successfully",
|
|
1899
|
-
"creatives.containersV2.WebPush.addLabels": "Add labels",
|
|
1900
1899
|
"creatives.containersV2.Whatsapp.IncorrectCategoryError": "INCORRECT CATEGORY: Message content different from expected content in the category selected. Refer {here} for expected content in each category.",
|
|
1901
1900
|
"creatives.containersV2.Whatsapp.accountUpdate": "Account update",
|
|
1902
1901
|
"creatives.containersV2.Whatsapp.accountUpdateTooltip": "Let customers know about updates or changes to their accounts.",
|
|
@@ -2282,6 +2281,7 @@ new message content.",
|
|
|
2282
2281
|
"email": [Function],
|
|
2283
2282
|
"facebookPreview": [Function],
|
|
2284
2283
|
"gallery": [Function],
|
|
2284
|
+
"inApp": [Function],
|
|
2285
2285
|
"language": [Function],
|
|
2286
2286
|
"navigationConfig": [Function],
|
|
2287
2287
|
"previewAndTest": [Function],
|
|
@@ -3117,7 +3117,6 @@ new message content.",
|
|
|
3117
3117
|
},
|
|
3118
3118
|
]
|
|
3119
3119
|
}
|
|
3120
|
-
showTruncatedTooltip={false}
|
|
3121
3120
|
size="large"
|
|
3122
3121
|
style={
|
|
3123
3122
|
Object {
|
|
@@ -3136,7 +3135,6 @@ new message content.",
|
|
|
3136
3135
|
/>
|
|
3137
3136
|
}
|
|
3138
3137
|
onChange={[Function]}
|
|
3139
|
-
onDropdownVisibleChange={[Function]}
|
|
3140
3138
|
removeIcon={
|
|
3141
3139
|
<CapIcon
|
|
3142
3140
|
size="s"
|
|
@@ -3201,7 +3199,6 @@ new message content.",
|
|
|
3201
3199
|
onBlur={[Function]}
|
|
3202
3200
|
onChange={[Function]}
|
|
3203
3201
|
onDeselect={[Function]}
|
|
3204
|
-
onDropdownVisibleChange={[Function]}
|
|
3205
3202
|
onFocus={[Function]}
|
|
3206
3203
|
onInputKeyDown={[Function]}
|
|
3207
3204
|
onSearch={[Function]}
|
|
@@ -3440,11 +3437,7 @@ new message content.",
|
|
|
3440
3437
|
}
|
|
3441
3438
|
}
|
|
3442
3439
|
title=""
|
|
3443
|
-
|
|
3444
|
-
<div
|
|
3445
|
-
className="cap-select-option-tooltip"
|
|
3446
|
-
/>
|
|
3447
|
-
</div>
|
|
3440
|
+
/>
|
|
3448
3441
|
</div>
|
|
3449
3442
|
<span
|
|
3450
3443
|
className="ant-select-arrow"
|
|
@@ -3880,7 +3873,7 @@ exports[`Creatives line image carousel test/> should render 2`] = `
|
|
|
3880
3873
|
"creatives.componentsV2.CapDocumentUpload.imageDimenstionDescription": "Dimensions upto: {width}px x {height}px",
|
|
3881
3874
|
"creatives.componentsV2.CapDocumentUpload.or": "OR",
|
|
3882
3875
|
"creatives.componentsV2.CapDocumentUpload.uploadComputer": "Select from computer",
|
|
3883
|
-
"creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size
|
|
3876
|
+
"creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size upto: {size}",
|
|
3884
3877
|
"creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
|
|
3885
3878
|
"creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
|
|
3886
3879
|
"creatives.componentsV2.CapImageUpload.format": "Format: JPEG, JPG, PNG",
|
|
@@ -3888,13 +3881,13 @@ exports[`Creatives line image carousel test/> should render 2`] = `
|
|
|
3888
3881
|
"creatives.componentsV2.CapImageUpload.imageErrorDesc": "Please upload the image with allowed file extension, size, dimension and aspect ratio",
|
|
3889
3882
|
"creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
|
|
3890
3883
|
"creatives.componentsV2.CapImageUpload.imageReUpload": "Reupload",
|
|
3891
|
-
"creatives.componentsV2.CapImageUpload.imageSize": "Size
|
|
3884
|
+
"creatives.componentsV2.CapImageUpload.imageSize": "Size upto: 2MB",
|
|
3892
3885
|
"creatives.componentsV2.CapImageUpload.or": "OR",
|
|
3893
3886
|
"creatives.componentsV2.CapImageUpload.uploadComputer": "Select from computer",
|
|
3894
3887
|
"creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
|
|
3895
3888
|
"creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
|
|
3896
3889
|
"creatives.componentsV2.CapImageUpload.whatsappAspectRatio": "Max aspect ratio: 1.91:1",
|
|
3897
|
-
"creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size
|
|
3890
|
+
"creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size upto: 5MB",
|
|
3898
3891
|
"creatives.componentsV2.CapTagList.Cancel": "Cancel",
|
|
3899
3892
|
"creatives.componentsV2.CapTagList.Ok": "Ok",
|
|
3900
3893
|
"creatives.componentsV2.CapTagList.all": "All",
|
|
@@ -5587,7 +5580,6 @@ new message content.",
|
|
|
5587
5580
|
"creatives.containersV2.WeChat.templateName": "Template Name",
|
|
5588
5581
|
"creatives.containersV2.WeChat.wechatCreateSuccess": "WeChat template mapped successfully",
|
|
5589
5582
|
"creatives.containersV2.WeChat.wechatEditSuccess": "WeChat template edited successfully",
|
|
5590
|
-
"creatives.containersV2.WebPush.addLabels": "Add labels",
|
|
5591
5583
|
"creatives.containersV2.Whatsapp.IncorrectCategoryError": "INCORRECT CATEGORY: Message content different from expected content in the category selected. Refer {here} for expected content in each category.",
|
|
5592
5584
|
"creatives.containersV2.Whatsapp.accountUpdate": "Account update",
|
|
5593
5585
|
"creatives.containersV2.Whatsapp.accountUpdateTooltip": "Let customers know about updates or changes to their accounts.",
|
|
@@ -5973,6 +5965,7 @@ new message content.",
|
|
|
5973
5965
|
"email": [Function],
|
|
5974
5966
|
"facebookPreview": [Function],
|
|
5975
5967
|
"gallery": [Function],
|
|
5968
|
+
"inApp": [Function],
|
|
5976
5969
|
"language": [Function],
|
|
5977
5970
|
"navigationConfig": [Function],
|
|
5978
5971
|
"previewAndTest": [Function],
|
|
@@ -6947,7 +6940,6 @@ new message content.",
|
|
|
6947
6940
|
},
|
|
6948
6941
|
]
|
|
6949
6942
|
}
|
|
6950
|
-
showTruncatedTooltip={false}
|
|
6951
6943
|
size="large"
|
|
6952
6944
|
style={
|
|
6953
6945
|
Object {
|
|
@@ -6966,7 +6958,6 @@ new message content.",
|
|
|
6966
6958
|
/>
|
|
6967
6959
|
}
|
|
6968
6960
|
onChange={[Function]}
|
|
6969
|
-
onDropdownVisibleChange={[Function]}
|
|
6970
6961
|
removeIcon={
|
|
6971
6962
|
<CapIcon
|
|
6972
6963
|
size="s"
|
|
@@ -7031,7 +7022,6 @@ new message content.",
|
|
|
7031
7022
|
onBlur={[Function]}
|
|
7032
7023
|
onChange={[Function]}
|
|
7033
7024
|
onDeselect={[Function]}
|
|
7034
|
-
onDropdownVisibleChange={[Function]}
|
|
7035
7025
|
onFocus={[Function]}
|
|
7036
7026
|
onInputKeyDown={[Function]}
|
|
7037
7027
|
onSearch={[Function]}
|
|
@@ -7270,11 +7260,7 @@ new message content.",
|
|
|
7270
7260
|
}
|
|
7271
7261
|
}
|
|
7272
7262
|
title=""
|
|
7273
|
-
|
|
7274
|
-
<div
|
|
7275
|
-
className="cap-select-option-tooltip"
|
|
7276
|
-
/>
|
|
7277
|
-
</div>
|
|
7263
|
+
/>
|
|
7278
7264
|
</div>
|
|
7279
7265
|
<span
|
|
7280
7266
|
className="ant-select-arrow"
|
|
@@ -7710,7 +7696,7 @@ exports[`Creatives line image carousel test/> should render 3`] = `
|
|
|
7710
7696
|
"creatives.componentsV2.CapDocumentUpload.imageDimenstionDescription": "Dimensions upto: {width}px x {height}px",
|
|
7711
7697
|
"creatives.componentsV2.CapDocumentUpload.or": "OR",
|
|
7712
7698
|
"creatives.componentsV2.CapDocumentUpload.uploadComputer": "Select from computer",
|
|
7713
|
-
"creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size
|
|
7699
|
+
"creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size upto: {size}",
|
|
7714
7700
|
"creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
|
|
7715
7701
|
"creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
|
|
7716
7702
|
"creatives.componentsV2.CapImageUpload.format": "Format: JPEG, JPG, PNG",
|
|
@@ -7718,13 +7704,13 @@ exports[`Creatives line image carousel test/> should render 3`] = `
|
|
|
7718
7704
|
"creatives.componentsV2.CapImageUpload.imageErrorDesc": "Please upload the image with allowed file extension, size, dimension and aspect ratio",
|
|
7719
7705
|
"creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
|
|
7720
7706
|
"creatives.componentsV2.CapImageUpload.imageReUpload": "Reupload",
|
|
7721
|
-
"creatives.componentsV2.CapImageUpload.imageSize": "Size
|
|
7707
|
+
"creatives.componentsV2.CapImageUpload.imageSize": "Size upto: 2MB",
|
|
7722
7708
|
"creatives.componentsV2.CapImageUpload.or": "OR",
|
|
7723
7709
|
"creatives.componentsV2.CapImageUpload.uploadComputer": "Select from computer",
|
|
7724
7710
|
"creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
|
|
7725
7711
|
"creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
|
|
7726
7712
|
"creatives.componentsV2.CapImageUpload.whatsappAspectRatio": "Max aspect ratio: 1.91:1",
|
|
7727
|
-
"creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size
|
|
7713
|
+
"creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size upto: 5MB",
|
|
7728
7714
|
"creatives.componentsV2.CapTagList.Cancel": "Cancel",
|
|
7729
7715
|
"creatives.componentsV2.CapTagList.Ok": "Ok",
|
|
7730
7716
|
"creatives.componentsV2.CapTagList.all": "All",
|
|
@@ -9417,7 +9403,6 @@ new message content.",
|
|
|
9417
9403
|
"creatives.containersV2.WeChat.templateName": "Template Name",
|
|
9418
9404
|
"creatives.containersV2.WeChat.wechatCreateSuccess": "WeChat template mapped successfully",
|
|
9419
9405
|
"creatives.containersV2.WeChat.wechatEditSuccess": "WeChat template edited successfully",
|
|
9420
|
-
"creatives.containersV2.WebPush.addLabels": "Add labels",
|
|
9421
9406
|
"creatives.containersV2.Whatsapp.IncorrectCategoryError": "INCORRECT CATEGORY: Message content different from expected content in the category selected. Refer {here} for expected content in each category.",
|
|
9422
9407
|
"creatives.containersV2.Whatsapp.accountUpdate": "Account update",
|
|
9423
9408
|
"creatives.containersV2.Whatsapp.accountUpdateTooltip": "Let customers know about updates or changes to their accounts.",
|
|
@@ -9803,6 +9788,7 @@ new message content.",
|
|
|
9803
9788
|
"email": [Function],
|
|
9804
9789
|
"facebookPreview": [Function],
|
|
9805
9790
|
"gallery": [Function],
|
|
9791
|
+
"inApp": [Function],
|
|
9806
9792
|
"language": [Function],
|
|
9807
9793
|
"navigationConfig": [Function],
|
|
9808
9794
|
"previewAndTest": [Function],
|
|
@@ -10721,7 +10707,6 @@ new message content.",
|
|
|
10721
10707
|
},
|
|
10722
10708
|
]
|
|
10723
10709
|
}
|
|
10724
|
-
showTruncatedTooltip={false}
|
|
10725
10710
|
size="large"
|
|
10726
10711
|
style={
|
|
10727
10712
|
Object {
|
|
@@ -10740,7 +10725,6 @@ new message content.",
|
|
|
10740
10725
|
/>
|
|
10741
10726
|
}
|
|
10742
10727
|
onChange={[Function]}
|
|
10743
|
-
onDropdownVisibleChange={[Function]}
|
|
10744
10728
|
removeIcon={
|
|
10745
10729
|
<CapIcon
|
|
10746
10730
|
size="s"
|
|
@@ -10805,7 +10789,6 @@ new message content.",
|
|
|
10805
10789
|
onBlur={[Function]}
|
|
10806
10790
|
onChange={[Function]}
|
|
10807
10791
|
onDeselect={[Function]}
|
|
10808
|
-
onDropdownVisibleChange={[Function]}
|
|
10809
10792
|
onFocus={[Function]}
|
|
10810
10793
|
onInputKeyDown={[Function]}
|
|
10811
10794
|
onSearch={[Function]}
|
|
@@ -11044,11 +11027,7 @@ new message content.",
|
|
|
11044
11027
|
}
|
|
11045
11028
|
}
|
|
11046
11029
|
title=""
|
|
11047
|
-
|
|
11048
|
-
<div
|
|
11049
|
-
className="cap-select-option-tooltip"
|
|
11050
|
-
/>
|
|
11051
|
-
</div>
|
|
11030
|
+
/>
|
|
11052
11031
|
</div>
|
|
11053
11032
|
<span
|
|
11054
11033
|
className="ant-select-arrow"
|