@capillarytech/creatives-library 9.0.56-alpha.6 → 9.0.56-betaa.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/constants/unified.js +4 -2
  2. package/package.json +1 -1
  3. package/services/api.js +0 -20
  4. package/utils/common.js +12 -0
  5. package/utils/templateVarUtils.js +0 -32
  6. package/utils/tests/templateVarUtils.test.js +0 -44
  7. package/v2Components/CommonTestAndPreview/UnifiedPreview/index.js +0 -14
  8. package/v2Components/CommonTestAndPreview/actions.js +0 -13
  9. package/v2Components/CommonTestAndPreview/constants.js +0 -8
  10. package/v2Components/CommonTestAndPreview/index.js +2 -57
  11. package/v2Components/CommonTestAndPreview/reducer.js +0 -20
  12. package/v2Components/CommonTestAndPreview/sagas.js +0 -28
  13. package/v2Components/CommonTestAndPreview/selectors.js +0 -6
  14. package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/index.test.js +0 -106
  15. package/v2Components/CommonTestAndPreview/tests/actions.test.js +0 -15
  16. package/v2Components/CommonTestAndPreview/tests/constants.test.js +1 -9
  17. package/v2Components/CommonTestAndPreview/tests/index.test.js +0 -101
  18. package/v2Components/CommonTestAndPreview/tests/reducer.test.js +0 -41
  19. package/v2Components/CommonTestAndPreview/tests/sagas.test.js +0 -84
  20. package/v2Components/CommonTestAndPreview/tests/selectors.test.js +0 -12
  21. package/v2Components/FormBuilder/Functional/FormBuilderShell.js +320 -46
  22. package/v2Components/FormBuilder/Functional/channels/mobilepush/buildSubmitPayload.js +10 -0
  23. package/v2Components/FormBuilder/Functional/channels/mobilepush/config.js +82 -0
  24. package/v2Components/FormBuilder/Functional/channels/mobilepush/getEditorErrorDescriptor.js +74 -0
  25. package/v2Components/FormBuilder/Functional/channels/mobilepush/index.js +28 -0
  26. package/v2Components/FormBuilder/Functional/channels/mobilepush/modals.js +19 -0
  27. package/v2Components/FormBuilder/Functional/channels/mobilepush/runSubmitPipeline.js +45 -0
  28. package/v2Components/FormBuilder/Functional/channels/mobilepush/tests/getEditorErrorDescriptor.test.js +162 -0
  29. package/v2Components/FormBuilder/Functional/channels/mobilepush/tests/modals.test.js +37 -0
  30. package/v2Components/FormBuilder/Functional/channels/mobilepush/tests/runSubmitPipeline.test.js +70 -0
  31. package/v2Components/FormBuilder/Functional/channels/mobilepush/tests/validate.test.js +274 -0
  32. package/v2Components/FormBuilder/Functional/channels/mobilepush/validate.js +251 -0
  33. package/v2Components/FormBuilder/Functional/channels/registry.js +2 -0
  34. package/v2Components/FormBuilder/Functional/constants.js +43 -8
  35. package/v2Components/FormBuilder/Functional/core/schema/initializeFormState.js +175 -28
  36. package/v2Components/FormBuilder/Functional/core/store/formReducer.js +75 -6
  37. package/v2Components/FormBuilder/Functional/core/store/toLegacyFormData.js +10 -20
  38. package/v2Components/FormBuilder/Functional/layout/FieldSlot.js +9 -1
  39. package/v2Components/FormBuilder/Functional/layout/SchemaForm.js +20 -3
  40. package/v2Components/FormBuilder/Functional/layout/Section.js +6 -1
  41. package/v2Components/FormBuilder/Functional/layout/TabsContainer.js +89 -0
  42. package/v2Components/FormBuilder/Functional/renderers/mpushRenderers.js +440 -0
  43. package/v2Components/FormBuilder/Functional/tests/fieldSlot.test.js +9 -2
  44. package/v2Components/FormBuilder/Functional/tests/mpush.crossFlowParity.test.js +430 -0
  45. package/v2Components/FormBuilder/Functional/tests/mpush.ctaFlows.parity.test.js +282 -0
  46. package/v2Components/FormBuilder/Functional/tests/mpush.editContainer.parity.test.js +141 -0
  47. package/v2Components/FormBuilder/Functional/tests/mpush.engine.test.js +306 -0
  48. package/v2Components/FormBuilder/Functional/tests/mpush.shellEvents.test.js +151 -0
  49. package/v2Components/FormBuilder/Functional/tests/mpushRenderers.test.js +342 -0
  50. package/v2Components/FormBuilder/Functional/tests/schemaForm.test.js +17 -0
  51. package/v2Components/FormBuilder/Functional/tests/tabsContainer.test.js +110 -0
  52. package/v2Components/FormBuilder/index.js +34 -12
  53. package/v2Components/FormBuilder/tests/entryGate.test.js +94 -7
  54. package/v2Components/FormBuilder/tests/mpush.characterization.test.js +459 -0
  55. package/v2Components/TestAndPreviewSlidebox/index.js +0 -9
  56. package/v2Containers/CommunicationFlow/CommunicationFlow.js +75 -128
  57. package/v2Containers/CommunicationFlow/CommunicationFlow.scss +2 -30
  58. package/v2Containers/CommunicationFlow/CommunicationFlowCard.js +27 -58
  59. package/v2Containers/CommunicationFlow/Tests/CommunicationFlow.test.js +51 -471
  60. package/v2Containers/CommunicationFlow/Tests/CommunicationFlowCard.test.js +4 -40
  61. package/v2Containers/CommunicationFlow/constants.js +4 -67
  62. package/v2Containers/CommunicationFlow/index.js +23 -16
  63. package/v2Containers/CommunicationFlow/messages.js +3 -7
  64. package/v2Containers/CommunicationFlow/steps/ChannelSelectionStep/ChannelSelectionStep.js +10 -22
  65. package/v2Containers/CommunicationFlow/steps/ChannelSelectionStep/ChannelSelectionStep.scss +0 -4
  66. package/v2Containers/CommunicationFlow/steps/ChannelSelectionStep/Tests/ChannelSelectionStep.test.js +4 -112
  67. package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/DeliverySettingsSection.js +0 -3
  68. package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/SenderDetails.js +0 -6
  69. package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/Tests/SenderDetails.test.js +0 -25
  70. package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/Tests/deliverySettingsConfig.test.js +4 -11
  71. package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/deliverySettingsConfig.js +5 -19
  72. package/v2Containers/CreativesContainer/index.js +3 -2
  73. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +5 -5
  74. package/v2Containers/CreativesContainer/tests/index.test.js +0 -12
  75. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +19 -115
  76. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +3 -27
  77. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +12 -17
  78. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -5
  79. package/v2Containers/Whatsapp/index.js +3 -8
  80. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +34 -306
  81. package/v2Containers/mockdata.js +0 -25
  82. package/v2Containers/CommunicationFlow/Tests/constants.test.js +0 -85
@@ -1111,31 +1111,6 @@ export default {
1111
1111
  },
1112
1112
  accountName: "WhatsappAccount",
1113
1113
  },
1114
- // CCS sends an explicit `cards: null` (not omitted) for a non-carousel WhatsApp
1115
- // template — regression fixture for a crash reading `.map` off null.
1116
- whatsappGetTemplateDataNullCards: {
1117
- channel: "WHATSAPP",
1118
- storeType: "REGISTERED_STORE",
1119
- accountId: 12721,
1120
- messagePartsCount: 1,
1121
- messageBody: "Hey test, this is a plain WhatsApp template with no carousel.",
1122
- templateConfigs: {
1123
- name: "creatives_whatsapp6",
1124
- language: "en",
1125
- varMapped: {
1126
- "{{1}}_1": "test",
1127
- },
1128
- template: "Hey {{1}}, this is a plain WhatsApp template with no carousel.",
1129
- id: "creatives_whatsapp6",
1130
- category: "MARKETING",
1131
- buttonType: "NONE",
1132
- buttons: null,
1133
- mediaType: "TEXT",
1134
- whatsappMedia: null,
1135
- cards: null,
1136
- },
1137
- accountName: "WhatsappAccount",
1138
- },
1139
1114
  whatsappGetCreativeData1: {
1140
1115
  value: {
1141
1116
  name: "creatives_whatsapp6",
@@ -1,85 +0,0 @@
1
- import {
2
- CCS_CONTENT_TRANSFORMS,
3
- CCS_CHANNEL_NAME_MAP,
4
- CCS_CHANNEL_CONTENT_KEY_MAP,
5
- CCS_CHANNEL_DELIVERY_KEY_MAP,
6
- } from '../constants';
7
-
8
- describe('CCS_CONTENT_TRANSFORMS', () => {
9
- describe('EMAIL', () => {
10
- it('prefers emailBody over emailHtml when both are present', () => {
11
- expect(
12
- CCS_CONTENT_TRANSFORMS.EMAIL({
13
- emailSubject: 'Subject', emailBody: '<p>Body</p>', emailHtml: '<p>Html</p>',
14
- }),
15
- ).toEqual({ messageSubject: 'Subject', messageBody: '<p>Body</p>' });
16
- });
17
-
18
- it('falls back to emailHtml when emailBody is absent', () => {
19
- expect(
20
- CCS_CONTENT_TRANSFORMS.EMAIL({ emailSubject: 'Subject', emailHtml: '<p>Html</p>' }),
21
- ).toEqual({ messageSubject: 'Subject', messageBody: '<p>Html</p>' });
22
- });
23
-
24
- it('defaults templateData to {} when called with no argument', () => {
25
- expect(CCS_CONTENT_TRANSFORMS.EMAIL()).toEqual({
26
- messageSubject: undefined, messageBody: undefined,
27
- });
28
- });
29
- });
30
-
31
- describe('SMS', () => {
32
- it('uses messageBody when present', () => {
33
- expect(CCS_CONTENT_TRANSFORMS.SMS({ messageBody: 'Hello' })).toEqual({ message: 'Hello' });
34
- });
35
-
36
- it('falls back to an empty string when messageBody is absent', () => {
37
- expect(CCS_CONTENT_TRANSFORMS.SMS({})).toEqual({ message: '' });
38
- });
39
-
40
- it('defaults templateData to {} when called with no argument', () => {
41
- expect(CCS_CONTENT_TRANSFORMS.SMS()).toEqual({ message: '' });
42
- });
43
- });
44
-
45
- describe('WEBPUSH', () => {
46
- it('extracts fields from the nested messageContent.content wrapper', () => {
47
- expect(
48
- CCS_CONTENT_TRANSFORMS.WEBPUSH({
49
- messageContent: {
50
- content: {
51
- messageSubject: 'Subject', accountId: 'acc_1', content: 'Body', offers: [{ id: 1 }],
52
- },
53
- },
54
- }),
55
- ).toEqual({ messageSubject: 'Subject', accountId: 'acc_1', content: 'Body' });
56
- });
57
-
58
- it('falls back to the flat templateData when messageContent.content is absent', () => {
59
- expect(
60
- CCS_CONTENT_TRANSFORMS.WEBPUSH({
61
- messageSubject: 'Subject', accountId: 'acc_1', content: 'Body',
62
- }),
63
- ).toEqual({ messageSubject: 'Subject', accountId: 'acc_1', content: 'Body' });
64
- });
65
-
66
- it('defaults templateData to {} when called with no argument', () => {
67
- expect(CCS_CONTENT_TRANSFORMS.WEBPUSH()).toEqual({
68
- messageSubject: undefined, accountId: undefined, content: undefined,
69
- });
70
- });
71
- });
72
- });
73
-
74
- describe('CCS_CHANNEL_NAME_MAP', () => {
75
- it('normalizes the UI\'s MOBILEPUSH identifier to CCS\'s PUSH enum value', () => {
76
- expect(CCS_CHANNEL_NAME_MAP.MOBILEPUSH).toBe('PUSH');
77
- });
78
- });
79
-
80
- describe('CCS_CHANNEL_CONTENT_KEY_MAP / CCS_CHANNEL_DELIVERY_KEY_MAP', () => {
81
- it('maps the PUSH channel to its mpush-prefixed content and delivery keys', () => {
82
- expect(CCS_CHANNEL_CONTENT_KEY_MAP.PUSH).toBe('mpushMessageContent');
83
- expect(CCS_CHANNEL_DELIVERY_KEY_MAP.PUSH).toBe('mpushDeliverySettings');
84
- });
85
- });