@capillarytech/creatives-library 8.0.250 → 8.0.251
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 +0 -1
- package/package.json +1 -1
- package/services/api.js +0 -5
- package/translations/en.json +3 -4
- package/utils/common.js +0 -6
- package/utils/tests/transformerUtils.test.js +0 -297
- package/utils/transformerUtils.js +0 -40
- 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/v2Containers/App/constants.js +0 -5
- package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +3 -4
- package/v2Containers/CreativesContainer/SlideBoxContent.js +2 -57
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +0 -1
- package/v2Containers/CreativesContainer/constants.js +0 -3
- package/v2Containers/CreativesContainer/index.js +0 -168
- package/v2Containers/CreativesContainer/messages.js +0 -4
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -304
- package/v2Containers/Email/index.js +7 -3
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +9 -12
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +6 -8
- package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +75 -100
- package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +54 -72
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +174 -232
- package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +12 -16
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +36 -48
- package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
- package/v2Containers/Templates/_templates.scss +0 -205
- package/v2Containers/Templates/actions.js +1 -2
- package/v2Containers/Templates/constants.js +0 -1
- package/v2Containers/Templates/index.js +34 -274
- package/v2Containers/Templates/messages.js +0 -24
- package/v2Containers/Templates/reducer.js +0 -4
- 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 +486 -648
- 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/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 -107
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -160
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -476
- 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 -143
- 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 -82
- 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 -515
- 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 -46
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -150
- 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
package/constants/unified.js
CHANGED
|
@@ -51,7 +51,6 @@ export const EXTENDED_TAG = 'ExtendedTagMessage';
|
|
|
51
51
|
export const BADGES_UI_ENABLED = 'BADGES_UI_ENABLED';
|
|
52
52
|
export const JP_LOCALE_HIDE_FEATURE = 'JP_LOCALE_HIDE_FEATURE';
|
|
53
53
|
export const ENABLE_WECHAT = 'ENABLE_WECHAT';
|
|
54
|
-
export const ENABLE_WEBPUSH = 'ENABLE_WEBPUSH';
|
|
55
54
|
export const ENABLE_CUSTOMER_BARCODE_TAG = 'ENABLE_CUSTOMER_BARCODE_TAG';
|
|
56
55
|
export const EMAIL_UNSUBSCRIBE_TAG_MANDATORY = 'EMAIL_UNSUBSCRIBE_TAG_MANDATORY';
|
|
57
56
|
export const ENABLE_AI_SUGGESTIONS = 'ENABLE_AI_SUGGESTIONS';
|
package/package.json
CHANGED
package/services/api.js
CHANGED
|
@@ -287,11 +287,6 @@ export const createMobilePushTemplateV2 = (template) => {
|
|
|
287
287
|
return request(url, getAPICallObject('POST', template));
|
|
288
288
|
};
|
|
289
289
|
|
|
290
|
-
export const createWebPushTemplate = (template) => {
|
|
291
|
-
const url = `${API_ENDPOINT}/templates/WEBPUSH`;
|
|
292
|
-
return request(url, getAPICallObject('POST', template));
|
|
293
|
-
};
|
|
294
|
-
|
|
295
290
|
export const duplicateTemplate = ({id, channel}) => {
|
|
296
291
|
const url = `${API_ENDPOINT}/templates/duplicate/${id}/${channel}`;
|
|
297
292
|
return request(url, getAPICallObject('GET'));
|
package/translations/en.json
CHANGED
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
"creatives.componentsV2.CapDocumentUpload.imageDimenstionDescription": "Dimensions upto: {width}px x {height}px",
|
|
166
166
|
"creatives.componentsV2.CapDocumentUpload.or": "OR",
|
|
167
167
|
"creatives.componentsV2.CapDocumentUpload.uploadComputer": "Select from computer",
|
|
168
|
-
"creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size
|
|
168
|
+
"creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size upto: {size}",
|
|
169
169
|
"creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
|
|
170
170
|
"creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
|
|
171
171
|
"creatives.componentsV2.CapImageUpload.format": "Format: JPEG, JPG, PNG",
|
|
@@ -173,13 +173,13 @@
|
|
|
173
173
|
"creatives.componentsV2.CapImageUpload.imageErrorDesc": "Please upload the image with allowed file extension, size, dimension and aspect ratio",
|
|
174
174
|
"creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
|
|
175
175
|
"creatives.componentsV2.CapImageUpload.imageReUpload": "Reupload",
|
|
176
|
-
"creatives.componentsV2.CapImageUpload.imageSize": "Size
|
|
176
|
+
"creatives.componentsV2.CapImageUpload.imageSize": "Size upto: 2MB",
|
|
177
177
|
"creatives.componentsV2.CapImageUpload.or": "OR",
|
|
178
178
|
"creatives.componentsV2.CapImageUpload.uploadComputer": "Select from computer",
|
|
179
179
|
"creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
|
|
180
180
|
"creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
|
|
181
181
|
"creatives.componentsV2.CapImageUpload.whatsappAspectRatio": "Max aspect ratio: 1.91:1",
|
|
182
|
-
"creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size
|
|
182
|
+
"creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size upto: 5MB",
|
|
183
183
|
"creatives.componentsV2.CapTagList.Cancel": "Cancel",
|
|
184
184
|
"creatives.componentsV2.CapTagList.Ok": "Ok",
|
|
185
185
|
"creatives.componentsV2.CapTagList.all": "All",
|
|
@@ -2022,7 +2022,6 @@
|
|
|
2022
2022
|
"creatives.containersV2.Whatsapp.vietnamese": "Vietnamese",
|
|
2023
2023
|
"creatives.containersV2.Whatsapp.whatsappCreateNotification": "{name} has been sent for approval",
|
|
2024
2024
|
"creatives.containersV2.Whatsapp.zulu": "Zulu",
|
|
2025
|
-
"creatives.containersV2.WebPush.addLabels": "Add labels",
|
|
2026
2025
|
"creatives.containersV2.addLabels": "Add labels",
|
|
2027
2026
|
"creatives.containersV2.appName": "App Name",
|
|
2028
2027
|
"creatives.containersV2.applyNow": "Apply now",
|
package/utils/common.js
CHANGED
|
@@ -21,7 +21,6 @@ import {
|
|
|
21
21
|
EMAIL_UNSUBSCRIBE_TAG_MANDATORY,
|
|
22
22
|
BADGES_ISSUE,
|
|
23
23
|
ENABLE_WECHAT,
|
|
24
|
-
ENABLE_WEBPUSH,
|
|
25
24
|
LIQUID_SUPPORT,
|
|
26
25
|
ENABLE_NEW_MPUSH
|
|
27
26
|
} from '../constants/unified';
|
|
@@ -117,11 +116,6 @@ export const hasWechatFeatureEnabled = Auth.hasFeatureAccess.bind(
|
|
|
117
116
|
ENABLE_WECHAT,
|
|
118
117
|
);
|
|
119
118
|
|
|
120
|
-
export const hasWebPushFeatureEnabled = Auth.hasFeatureAccess.bind(
|
|
121
|
-
null,
|
|
122
|
-
ENABLE_WEBPUSH,
|
|
123
|
-
);
|
|
124
|
-
|
|
125
119
|
export const hasCustomerBarcodeFeatureEnabled = Auth.hasFeatureAccess.bind(
|
|
126
120
|
null,
|
|
127
121
|
ENABLE_CUSTOMER_BARCODE_TAG,
|
|
@@ -15,7 +15,6 @@ import {
|
|
|
15
15
|
RCS,
|
|
16
16
|
LINE,
|
|
17
17
|
VIBER,
|
|
18
|
-
WEBPUSH,
|
|
19
18
|
} from "../../v2Containers/CreativesContainer/constants";
|
|
20
19
|
|
|
21
20
|
describe("transformerUtils", () => {
|
|
@@ -1183,302 +1182,6 @@ describe("transformerUtils", () => {
|
|
|
1183
1182
|
});
|
|
1184
1183
|
});
|
|
1185
1184
|
|
|
1186
|
-
describe("WebPush payload transformation", () => {
|
|
1187
|
-
it("should transform WebPush data correctly with minimal data", () => {
|
|
1188
|
-
const mockData = {
|
|
1189
|
-
channel: WEBPUSH,
|
|
1190
|
-
messageSubject: "test webpush notification"
|
|
1191
|
-
};
|
|
1192
|
-
|
|
1193
|
-
const result = transformChannelPayload(mockData);
|
|
1194
|
-
|
|
1195
|
-
expect(result.centralCommsPayload).toBeDefined();
|
|
1196
|
-
expect(result.centralCommsPayload.channel).toEqual(WEBPUSH);
|
|
1197
|
-
expect(result.centralCommsPayload.webpushMessageContent.messageSubject).toEqual(
|
|
1198
|
-
"test webpush notification"
|
|
1199
|
-
);
|
|
1200
|
-
expect(result.centralCommsPayload.clientName).toEqual("VENENO");
|
|
1201
|
-
});
|
|
1202
|
-
|
|
1203
|
-
it("should transform WebPush data with all options", () => {
|
|
1204
|
-
const mockData = {
|
|
1205
|
-
channel: WEBPUSH,
|
|
1206
|
-
messageSubject: "test webpush notification",
|
|
1207
|
-
messageContent: {
|
|
1208
|
-
content: {
|
|
1209
|
-
accountId: 12345,
|
|
1210
|
-
content: {
|
|
1211
|
-
title: "WebPush Title",
|
|
1212
|
-
message: "WebPush Message",
|
|
1213
|
-
iconImageUrl: "https://example.com/icon.png",
|
|
1214
|
-
cta: {
|
|
1215
|
-
actionLink: "https://example.com/action",
|
|
1216
|
-
actionText: "Click Here"
|
|
1217
|
-
},
|
|
1218
|
-
expandableDetails: {
|
|
1219
|
-
style: "BIG_TEXT",
|
|
1220
|
-
message: "Expanded Message"
|
|
1221
|
-
}
|
|
1222
|
-
},
|
|
1223
|
-
offers: [
|
|
1224
|
-
{ id: "offer-1", title: "Offer 1" },
|
|
1225
|
-
{ id: "offer-2", title: "Offer 2" }
|
|
1226
|
-
]
|
|
1227
|
-
}
|
|
1228
|
-
}
|
|
1229
|
-
};
|
|
1230
|
-
|
|
1231
|
-
const options = {
|
|
1232
|
-
loyaltyMetaData: {
|
|
1233
|
-
actionId: "action-123",
|
|
1234
|
-
ouId: 456,
|
|
1235
|
-
clientName: "TestClient",
|
|
1236
|
-
module: "TestModule",
|
|
1237
|
-
transformedMessageDetails: {
|
|
1238
|
-
webpushDeliverySettings: {
|
|
1239
|
-
sendDate: "2023-01-01",
|
|
1240
|
-
priority: "HIGH"
|
|
1241
|
-
}
|
|
1242
|
-
}
|
|
1243
|
-
}
|
|
1244
|
-
};
|
|
1245
|
-
|
|
1246
|
-
const result = transformChannelPayload(mockData, options);
|
|
1247
|
-
|
|
1248
|
-
// Check base payload
|
|
1249
|
-
expect(result.centralCommsPayload.sourceEntityId).toEqual("action-123");
|
|
1250
|
-
expect(result.centralCommsPayload.ouId).toEqual(456);
|
|
1251
|
-
expect(result.centralCommsPayload.clientName).toEqual("TestClient");
|
|
1252
|
-
expect(result.centralCommsPayload.module).toEqual("TestModule");
|
|
1253
|
-
|
|
1254
|
-
// Check WebPush-specific content
|
|
1255
|
-
expect(result.centralCommsPayload.webpushMessageContent.channel).toEqual(WEBPUSH);
|
|
1256
|
-
expect(result.centralCommsPayload.webpushMessageContent.accountId).toEqual(12345);
|
|
1257
|
-
expect(result.centralCommsPayload.webpushMessageContent.messageSubject).toEqual(
|
|
1258
|
-
"test webpush notification"
|
|
1259
|
-
);
|
|
1260
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.title).toEqual(
|
|
1261
|
-
"WebPush Title"
|
|
1262
|
-
);
|
|
1263
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.message).toEqual(
|
|
1264
|
-
"WebPush Message"
|
|
1265
|
-
);
|
|
1266
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.iconImageUrl).toEqual(
|
|
1267
|
-
"https://example.com/icon.png"
|
|
1268
|
-
);
|
|
1269
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.cta).toEqual({
|
|
1270
|
-
actionLink: "https://example.com/action",
|
|
1271
|
-
actionText: "Click Here"
|
|
1272
|
-
});
|
|
1273
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.expandableDetails).toEqual({
|
|
1274
|
-
style: "BIG_TEXT",
|
|
1275
|
-
message: "Expanded Message"
|
|
1276
|
-
});
|
|
1277
|
-
expect(result.centralCommsPayload.webpushMessageContent.offers).toEqual([
|
|
1278
|
-
{ id: "offer-1", title: "Offer 1" },
|
|
1279
|
-
{ id: "offer-2", title: "Offer 2" }
|
|
1280
|
-
]);
|
|
1281
|
-
|
|
1282
|
-
// Check delivery settings
|
|
1283
|
-
expect(result.centralCommsPayload.webpushDeliverySettings).toEqual({
|
|
1284
|
-
sendDate: "2023-01-01",
|
|
1285
|
-
priority: "HIGH"
|
|
1286
|
-
});
|
|
1287
|
-
});
|
|
1288
|
-
|
|
1289
|
-
it("should handle missing messageContent structure", () => {
|
|
1290
|
-
const mockData = {
|
|
1291
|
-
channel: WEBPUSH,
|
|
1292
|
-
messageSubject: "test webpush notification"
|
|
1293
|
-
};
|
|
1294
|
-
|
|
1295
|
-
const result = transformChannelPayload(mockData);
|
|
1296
|
-
|
|
1297
|
-
expect(result.centralCommsPayload.webpushMessageContent.accountId).toEqual(0);
|
|
1298
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.title).toEqual("");
|
|
1299
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.message).toEqual("");
|
|
1300
|
-
expect(result.centralCommsPayload.webpushMessageContent.offers).toEqual([]);
|
|
1301
|
-
});
|
|
1302
|
-
|
|
1303
|
-
it("should handle missing content properties", () => {
|
|
1304
|
-
const mockData = {
|
|
1305
|
-
channel: WEBPUSH,
|
|
1306
|
-
messageSubject: "test webpush notification",
|
|
1307
|
-
messageContent: {
|
|
1308
|
-
content: {
|
|
1309
|
-
accountId: 12345,
|
|
1310
|
-
content: {}
|
|
1311
|
-
}
|
|
1312
|
-
}
|
|
1313
|
-
};
|
|
1314
|
-
|
|
1315
|
-
const result = transformChannelPayload(mockData);
|
|
1316
|
-
|
|
1317
|
-
expect(result.centralCommsPayload.webpushMessageContent.accountId).toEqual(12345);
|
|
1318
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.title).toEqual("");
|
|
1319
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.message).toEqual("");
|
|
1320
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.iconImageUrl).toBeUndefined();
|
|
1321
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.cta).toBeUndefined();
|
|
1322
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.expandableDetails).toBeUndefined();
|
|
1323
|
-
});
|
|
1324
|
-
|
|
1325
|
-
it("should conditionally include iconImageUrl only when present", () => {
|
|
1326
|
-
const mockDataWithoutIcon = {
|
|
1327
|
-
channel: WEBPUSH,
|
|
1328
|
-
messageSubject: "test",
|
|
1329
|
-
messageContent: {
|
|
1330
|
-
content: {
|
|
1331
|
-
content: {
|
|
1332
|
-
title: "Title",
|
|
1333
|
-
message: "Message"
|
|
1334
|
-
}
|
|
1335
|
-
}
|
|
1336
|
-
}
|
|
1337
|
-
};
|
|
1338
|
-
|
|
1339
|
-
const resultWithoutIcon = transformChannelPayload(mockDataWithoutIcon);
|
|
1340
|
-
expect(resultWithoutIcon.centralCommsPayload.webpushMessageContent.content.iconImageUrl).toBeUndefined();
|
|
1341
|
-
|
|
1342
|
-
const mockDataWithIcon = {
|
|
1343
|
-
channel: WEBPUSH,
|
|
1344
|
-
messageSubject: "test",
|
|
1345
|
-
messageContent: {
|
|
1346
|
-
content: {
|
|
1347
|
-
content: {
|
|
1348
|
-
title: "Title",
|
|
1349
|
-
message: "Message",
|
|
1350
|
-
iconImageUrl: "https://example.com/icon.png"
|
|
1351
|
-
}
|
|
1352
|
-
}
|
|
1353
|
-
}
|
|
1354
|
-
};
|
|
1355
|
-
|
|
1356
|
-
const resultWithIcon = transformChannelPayload(mockDataWithIcon);
|
|
1357
|
-
expect(resultWithIcon.centralCommsPayload.webpushMessageContent.content.iconImageUrl).toEqual(
|
|
1358
|
-
"https://example.com/icon.png"
|
|
1359
|
-
);
|
|
1360
|
-
});
|
|
1361
|
-
|
|
1362
|
-
it("should conditionally include cta only when present", () => {
|
|
1363
|
-
const mockDataWithoutCta = {
|
|
1364
|
-
channel: WEBPUSH,
|
|
1365
|
-
messageSubject: "test",
|
|
1366
|
-
messageContent: {
|
|
1367
|
-
content: {
|
|
1368
|
-
content: {
|
|
1369
|
-
title: "Title",
|
|
1370
|
-
message: "Message"
|
|
1371
|
-
}
|
|
1372
|
-
}
|
|
1373
|
-
}
|
|
1374
|
-
};
|
|
1375
|
-
|
|
1376
|
-
const resultWithoutCta = transformChannelPayload(mockDataWithoutCta);
|
|
1377
|
-
expect(resultWithoutCta.centralCommsPayload.webpushMessageContent.content.cta).toBeUndefined();
|
|
1378
|
-
|
|
1379
|
-
const mockDataWithCta = {
|
|
1380
|
-
channel: WEBPUSH,
|
|
1381
|
-
messageSubject: "test",
|
|
1382
|
-
messageContent: {
|
|
1383
|
-
content: {
|
|
1384
|
-
content: {
|
|
1385
|
-
title: "Title",
|
|
1386
|
-
message: "Message",
|
|
1387
|
-
cta: {
|
|
1388
|
-
actionLink: "https://example.com",
|
|
1389
|
-
actionText: "Click"
|
|
1390
|
-
}
|
|
1391
|
-
}
|
|
1392
|
-
}
|
|
1393
|
-
}
|
|
1394
|
-
};
|
|
1395
|
-
|
|
1396
|
-
const resultWithCta = transformChannelPayload(mockDataWithCta);
|
|
1397
|
-
expect(resultWithCta.centralCommsPayload.webpushMessageContent.content.cta).toEqual({
|
|
1398
|
-
actionLink: "https://example.com",
|
|
1399
|
-
actionText: "Click"
|
|
1400
|
-
});
|
|
1401
|
-
});
|
|
1402
|
-
|
|
1403
|
-
it("should conditionally include expandableDetails only when present", () => {
|
|
1404
|
-
const mockDataWithoutExpandable = {
|
|
1405
|
-
channel: WEBPUSH,
|
|
1406
|
-
messageSubject: "test",
|
|
1407
|
-
messageContent: {
|
|
1408
|
-
content: {
|
|
1409
|
-
content: {
|
|
1410
|
-
title: "Title",
|
|
1411
|
-
message: "Message"
|
|
1412
|
-
}
|
|
1413
|
-
}
|
|
1414
|
-
}
|
|
1415
|
-
};
|
|
1416
|
-
|
|
1417
|
-
const resultWithoutExpandable = transformChannelPayload(mockDataWithoutExpandable);
|
|
1418
|
-
expect(resultWithoutExpandable.centralCommsPayload.webpushMessageContent.content.expandableDetails).toBeUndefined();
|
|
1419
|
-
|
|
1420
|
-
const mockDataWithExpandable = {
|
|
1421
|
-
channel: WEBPUSH,
|
|
1422
|
-
messageSubject: "test",
|
|
1423
|
-
messageContent: {
|
|
1424
|
-
content: {
|
|
1425
|
-
content: {
|
|
1426
|
-
title: "Title",
|
|
1427
|
-
message: "Message",
|
|
1428
|
-
expandableDetails: {
|
|
1429
|
-
style: "BIG_TEXT",
|
|
1430
|
-
message: "Expanded"
|
|
1431
|
-
}
|
|
1432
|
-
}
|
|
1433
|
-
}
|
|
1434
|
-
}
|
|
1435
|
-
};
|
|
1436
|
-
|
|
1437
|
-
const resultWithExpandable = transformChannelPayload(mockDataWithExpandable);
|
|
1438
|
-
expect(resultWithExpandable.centralCommsPayload.webpushMessageContent.content.expandableDetails).toEqual({
|
|
1439
|
-
style: "BIG_TEXT",
|
|
1440
|
-
message: "Expanded"
|
|
1441
|
-
});
|
|
1442
|
-
});
|
|
1443
|
-
|
|
1444
|
-
it("should handle undefined webpushDeliverySettings", () => {
|
|
1445
|
-
const mockData = {
|
|
1446
|
-
channel: WEBPUSH,
|
|
1447
|
-
messageSubject: "test webpush notification"
|
|
1448
|
-
};
|
|
1449
|
-
|
|
1450
|
-
const options = {
|
|
1451
|
-
loyaltyMetaData: {
|
|
1452
|
-
transformedMessageDetails: {}
|
|
1453
|
-
}
|
|
1454
|
-
};
|
|
1455
|
-
|
|
1456
|
-
const result = transformChannelPayload(mockData, options);
|
|
1457
|
-
|
|
1458
|
-
expect(result.centralCommsPayload.webpushDeliverySettings).toEqual({});
|
|
1459
|
-
});
|
|
1460
|
-
|
|
1461
|
-
it("should handle empty offers array", () => {
|
|
1462
|
-
const mockData = {
|
|
1463
|
-
channel: WEBPUSH,
|
|
1464
|
-
messageSubject: "test",
|
|
1465
|
-
messageContent: {
|
|
1466
|
-
content: {
|
|
1467
|
-
content: {
|
|
1468
|
-
title: "Title",
|
|
1469
|
-
message: "Message"
|
|
1470
|
-
},
|
|
1471
|
-
offers: []
|
|
1472
|
-
}
|
|
1473
|
-
}
|
|
1474
|
-
};
|
|
1475
|
-
|
|
1476
|
-
const result = transformChannelPayload(mockData);
|
|
1477
|
-
|
|
1478
|
-
expect(result.centralCommsPayload.webpushMessageContent.offers).toEqual([]);
|
|
1479
|
-
});
|
|
1480
|
-
});
|
|
1481
|
-
|
|
1482
1185
|
describe("getTemplateDiffState", () => {
|
|
1483
1186
|
it("should return false for unsupported channel", () => {
|
|
1484
1187
|
const result = getTemplateDiffState("UNSUPPORTED_CHANNEL", {}, {});
|
|
@@ -10,7 +10,6 @@ import {
|
|
|
10
10
|
RCS,
|
|
11
11
|
LINE,
|
|
12
12
|
VIBER,
|
|
13
|
-
WEBPUSH,
|
|
14
13
|
EMF,
|
|
15
14
|
VENENO,
|
|
16
15
|
TEXT,
|
|
@@ -64,8 +63,6 @@ export const transformChannelPayload = (data, options = {}) => {
|
|
|
64
63
|
return transformLinePayload(data, options);
|
|
65
64
|
case VIBER:
|
|
66
65
|
return transformViberPayload(data, options);
|
|
67
|
-
case WEBPUSH:
|
|
68
|
-
return transformWebpushPayload(data, options);
|
|
69
66
|
default:
|
|
70
67
|
return data; // Return unchanged for unsupported channels
|
|
71
68
|
}
|
|
@@ -320,43 +317,6 @@ const transformViberPayload = (viberData, options = {}) => {
|
|
|
320
317
|
return payload;
|
|
321
318
|
};
|
|
322
319
|
|
|
323
|
-
/**
|
|
324
|
-
* Transforms WebPush data to the required payload format
|
|
325
|
-
* @param {Object} webpushData - Current WebPush data
|
|
326
|
-
* @param {Object} options - Additional options (ouId, sourceEntityId, etc.)
|
|
327
|
-
* @returns {Object} - Transformed WebPush payload
|
|
328
|
-
*/
|
|
329
|
-
const transformWebpushPayload = (webpushData, options = {}) => {
|
|
330
|
-
const { loyaltyMetaData = {} } = options;
|
|
331
|
-
const { transformedMessageDetails = {} } = loyaltyMetaData;
|
|
332
|
-
const { webpushDeliverySettings = {} } = transformedMessageDetails || {};
|
|
333
|
-
|
|
334
|
-
// Get base payload structure
|
|
335
|
-
const payload = createBasePayload(WEBPUSH, loyaltyMetaData);
|
|
336
|
-
|
|
337
|
-
// Extract webpush content from messageContent.content.content structure
|
|
338
|
-
const webpushContent = webpushData?.messageContent?.content?.content || {};
|
|
339
|
-
const accountId = webpushData?.messageContent?.content?.accountId || 0;
|
|
340
|
-
|
|
341
|
-
// Add WebPush-specific properties
|
|
342
|
-
payload.centralCommsPayload.webpushMessageContent = {
|
|
343
|
-
channel: WEBPUSH,
|
|
344
|
-
accountId,
|
|
345
|
-
content: {
|
|
346
|
-
title: webpushContent?.title || '',
|
|
347
|
-
message: webpushContent?.message || '',
|
|
348
|
-
...(webpushContent?.iconImageUrl && { iconImageUrl: webpushContent.iconImageUrl }),
|
|
349
|
-
...(webpushContent?.cta && { cta: webpushContent.cta }),
|
|
350
|
-
...(webpushContent?.expandableDetails && { expandableDetails: webpushContent.expandableDetails }),
|
|
351
|
-
},
|
|
352
|
-
messageSubject: webpushData?.messageSubject || "",
|
|
353
|
-
offers: webpushData?.messageContent?.content?.offers || [],
|
|
354
|
-
};
|
|
355
|
-
payload.centralCommsPayload.webpushDeliverySettings = webpushDeliverySettings;
|
|
356
|
-
|
|
357
|
-
return payload;
|
|
358
|
-
};
|
|
359
|
-
|
|
360
320
|
// Checks if the template has changed
|
|
361
321
|
export const getTemplateDiffState = (channel, oldData, newData) => {
|
|
362
322
|
switch (channel.toUpperCase()) {
|