@capillarytech/creatives-library 8.0.263 → 8.0.265

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 (280) hide show
  1. package/assets/Android.png +0 -0
  2. package/assets/iOS.png +0 -0
  3. package/constants/unified.js +1 -3
  4. package/initialReducer.js +0 -2
  5. package/package.json +1 -1
  6. package/services/api.js +0 -15
  7. package/services/tests/api.test.js +0 -34
  8. package/tests/integration/TemplateCreation/TemplateCreation.integration.test.js +35 -17
  9. package/tests/integration/TemplateCreation/api-response.js +1 -31
  10. package/tests/integration/TemplateCreation/msw-handler.js +0 -2
  11. package/utils/common.js +0 -11
  12. package/utils/commonUtils.js +5 -28
  13. package/utils/tests/commonUtil.test.js +0 -224
  14. package/utils/tests/transformerUtils.test.js +0 -297
  15. package/utils/transformTemplateConfig.js +10 -0
  16. package/utils/transformerUtils.js +0 -40
  17. package/v2Components/CapDeviceContent/index.js +56 -61
  18. package/v2Components/CapImageUpload/constants.js +0 -2
  19. package/v2Components/CapImageUpload/index.js +16 -65
  20. package/v2Components/CapImageUpload/index.scss +1 -4
  21. package/v2Components/CapImageUpload/messages.js +1 -5
  22. package/v2Components/CapTagList/index.js +1 -6
  23. package/v2Components/CapTagListWithInput/index.js +1 -5
  24. package/v2Components/CapTagListWithInput/messages.js +1 -1
  25. package/v2Components/CapWhatsappCTA/tests/index.test.js +0 -5
  26. package/v2Components/ErrorInfoNote/index.js +72 -402
  27. package/v2Components/ErrorInfoNote/messages.js +6 -32
  28. package/v2Components/ErrorInfoNote/style.scss +6 -278
  29. package/v2Components/FormBuilder/tests/index.test.js +4 -13
  30. package/v2Components/HtmlEditor/HTMLEditor.js +99 -418
  31. package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +133 -1882
  32. package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +16 -27
  33. package/v2Components/HtmlEditor/_htmlEditor.scss +45 -108
  34. package/v2Components/HtmlEditor/_index.lazy.scss +1 -0
  35. package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +102 -23
  36. package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +140 -148
  37. package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +1 -2
  38. package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
  39. package/v2Components/HtmlEditor/components/EditorToolbar/_editorToolbar.scss +1 -9
  40. package/v2Components/HtmlEditor/components/EditorToolbar/index.js +6 -31
  41. package/v2Components/HtmlEditor/components/FullscreenModal/_fullscreenModal.scss +0 -22
  42. package/v2Components/HtmlEditor/components/InAppPreviewPane/DeviceFrame.js +7 -4
  43. package/v2Components/HtmlEditor/components/InAppPreviewPane/__tests__/DeviceFrame.test.js +45 -35
  44. package/v2Components/HtmlEditor/components/InAppPreviewPane/_inAppPreviewPane.scss +3 -1
  45. package/v2Components/HtmlEditor/components/InAppPreviewPane/constants.js +33 -33
  46. package/v2Components/HtmlEditor/components/InAppPreviewPane/index.js +6 -7
  47. package/v2Components/HtmlEditor/components/PreviewPane/_previewPane.scss +10 -7
  48. package/v2Components/HtmlEditor/components/PreviewPane/index.js +43 -22
  49. package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
  50. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +152 -0
  51. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/_validationErrorDisplay.scss +0 -18
  52. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +31 -36
  53. package/v2Components/HtmlEditor/components/ValidationPanel/_validationPanel.scss +34 -46
  54. package/v2Components/HtmlEditor/components/ValidationPanel/index.js +46 -52
  55. package/v2Components/HtmlEditor/constants.js +20 -45
  56. package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +16 -373
  57. package/v2Components/HtmlEditor/hooks/__tests__/useValidation.test.js +16 -351
  58. package/v2Components/HtmlEditor/hooks/useEditorContent.js +2 -5
  59. package/v2Components/HtmlEditor/hooks/useInAppContent.js +146 -88
  60. package/v2Components/HtmlEditor/hooks/useValidation.js +56 -213
  61. package/v2Components/HtmlEditor/index.js +1 -1
  62. package/v2Components/HtmlEditor/messages.js +94 -102
  63. package/v2Components/HtmlEditor/utils/__tests__/htmlValidator.enhanced.test.js +45 -214
  64. package/v2Components/HtmlEditor/utils/__tests__/validationAdapter.test.js +0 -134
  65. package/v2Components/HtmlEditor/utils/contentSanitizer.js +41 -40
  66. package/v2Components/HtmlEditor/utils/htmlValidator.js +72 -71
  67. package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +124 -158
  68. package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +25 -23
  69. package/v2Components/HtmlEditor/utils/validationAdapter.js +41 -66
  70. package/v2Components/MobilePushPreviewV2/index.js +7 -33
  71. package/v2Components/TemplatePreview/_templatePreview.scss +24 -55
  72. package/v2Components/TemplatePreview/index.js +32 -47
  73. package/v2Components/TemplatePreview/messages.js +0 -4
  74. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +0 -1
  75. package/v2Containers/App/constants.js +0 -5
  76. package/v2Containers/BeeEditor/index.js +90 -172
  77. package/v2Containers/CreativesContainer/SlideBoxContent.js +53 -184
  78. package/v2Containers/CreativesContainer/SlideBoxFooter.js +13 -163
  79. package/v2Containers/CreativesContainer/SlideBoxHeader.js +1 -3
  80. package/v2Containers/CreativesContainer/constants.js +0 -4
  81. package/v2Containers/CreativesContainer/index.js +46 -408
  82. package/v2Containers/CreativesContainer/messages.js +0 -12
  83. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
  84. package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +2 -11
  85. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +50 -342
  86. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +0 -103
  87. package/v2Containers/Email/actions.js +0 -7
  88. package/v2Containers/Email/constants.js +1 -5
  89. package/v2Containers/Email/index.js +36 -237
  90. package/v2Containers/Email/messages.js +0 -32
  91. package/v2Containers/Email/reducer.js +1 -12
  92. package/v2Containers/Email/sagas.js +7 -61
  93. package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +0 -2
  94. package/v2Containers/Email/tests/reducer.test.js +0 -46
  95. package/v2Containers/Email/tests/sagas.test.js +29 -320
  96. package/v2Containers/EmailWrapper/components/EmailWrapperView.js +21 -211
  97. package/v2Containers/EmailWrapper/components/HTMLEditorTesting.js +74 -40
  98. package/v2Containers/EmailWrapper/components/__tests__/HTMLEditorTesting.test.js +67 -2
  99. package/v2Containers/EmailWrapper/constants.js +0 -2
  100. package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +77 -629
  101. package/v2Containers/EmailWrapper/index.js +23 -103
  102. package/v2Containers/EmailWrapper/messages.js +1 -65
  103. package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +214 -0
  104. package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +77 -594
  105. package/v2Containers/InApp/actions.js +0 -7
  106. package/v2Containers/InApp/constants.js +4 -20
  107. package/v2Containers/InApp/index.js +359 -802
  108. package/v2Containers/InApp/index.scss +3 -4
  109. package/v2Containers/InApp/messages.js +3 -7
  110. package/v2Containers/InApp/reducer.js +3 -21
  111. package/v2Containers/InApp/sagas.js +9 -29
  112. package/v2Containers/InApp/selectors.js +5 -25
  113. package/v2Containers/InApp/tests/index.test.js +50 -154
  114. package/v2Containers/InApp/tests/reducer.test.js +0 -34
  115. package/v2Containers/InApp/tests/sagas.test.js +9 -61
  116. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +0 -3
  117. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +0 -2
  118. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +0 -2
  119. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +0 -9
  120. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +0 -12
  121. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +0 -4
  122. package/v2Containers/TagList/index.js +19 -62
  123. package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
  124. package/v2Containers/Templates/_templates.scss +1 -265
  125. package/v2Containers/Templates/actions.js +1 -2
  126. package/v2Containers/Templates/constants.js +0 -1
  127. package/v2Containers/Templates/index.js +38 -363
  128. package/v2Containers/Templates/messages.js +0 -28
  129. package/v2Containers/Templates/reducer.js +0 -2
  130. package/v2Containers/Templates/tests/index.test.js +0 -10
  131. package/v2Containers/TemplatesV2/TemplatesV2.style.js +2 -4
  132. package/v2Containers/TemplatesV2/index.js +7 -15
  133. package/v2Containers/TemplatesV2/messages.js +0 -4
  134. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +0 -34
  135. package/utils/imageUrlUpload.js +0 -141
  136. package/v2Components/CapImageUrlUpload/constants.js +0 -26
  137. package/v2Components/CapImageUrlUpload/index.js +0 -365
  138. package/v2Components/CapImageUrlUpload/index.scss +0 -35
  139. package/v2Components/CapImageUrlUpload/messages.js +0 -47
  140. package/v2Components/ErrorInfoNote/constants.js +0 -1
  141. package/v2Components/HtmlEditor/__tests__/HTMLEditor.apiErrors.test.js +0 -870
  142. package/v2Components/HtmlEditor/components/ValidationPanel/constants.js +0 -6
  143. package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +0 -281
  144. package/v2Components/HtmlEditor/components/ValidationTabs/index.js +0 -295
  145. package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +0 -51
  146. package/v2Components/HtmlEditor/utils/validationConstants.js +0 -38
  147. package/v2Components/MobilePushPreviewV2/constants.js +0 -6
  148. package/v2Containers/BeePopupEditor/_beePopupEditor.scss +0 -14
  149. package/v2Containers/BeePopupEditor/constants.js +0 -10
  150. package/v2Containers/BeePopupEditor/index.js +0 -194
  151. package/v2Containers/BeePopupEditor/tests/index.test.js +0 -627
  152. package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +0 -1246
  153. package/v2Containers/EmailWrapper/components/__tests__/EmailHTMLEditor.test.js +0 -2472
  154. package/v2Containers/EmailWrapper/components/__tests__/EmailWrapperView.test.js +0 -520
  155. package/v2Containers/EmailWrapper/tests/useEmailWrapper.edgeCases.test.js +0 -956
  156. package/v2Containers/InApp/__tests__/InAppHTMLEditor.test.js +0 -376
  157. package/v2Containers/InApp/__tests__/sagas.test.js +0 -363
  158. package/v2Containers/InApp/tests/selectors.test.js +0 -612
  159. package/v2Containers/InAppWrapper/components/InAppWrapperView.js +0 -151
  160. package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +0 -267
  161. package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +0 -23
  162. package/v2Containers/InAppWrapper/constants.js +0 -16
  163. package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +0 -473
  164. package/v2Containers/InAppWrapper/hooks/useInAppWrapper.js +0 -198
  165. package/v2Containers/InAppWrapper/index.js +0 -148
  166. package/v2Containers/InAppWrapper/messages.js +0 -49
  167. package/v2Containers/InappAdvance/index.js +0 -1099
  168. package/v2Containers/InappAdvance/index.scss +0 -10
  169. package/v2Containers/InappAdvance/tests/index.test.js +0 -448
  170. package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
  171. package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
  172. package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
  173. package/v2Containers/WebPush/Create/components/ButtonList.js +0 -145
  174. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
  175. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
  176. package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
  177. package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
  178. package/v2Containers/WebPush/Create/components/MediaSection.js +0 -142
  179. package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
  180. package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
  181. package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
  182. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
  183. package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
  184. package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
  185. package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
  186. package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -86
  187. package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
  188. package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
  189. package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
  190. package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
  191. package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
  192. package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
  193. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
  194. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
  195. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
  196. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
  197. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
  198. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -78
  199. package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
  200. package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
  201. package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
  202. package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
  203. package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
  204. package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
  205. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
  206. package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
  207. package/v2Containers/WebPush/Create/index.js +0 -1148
  208. package/v2Containers/WebPush/Create/index.scss +0 -134
  209. package/v2Containers/WebPush/Create/messages.js +0 -211
  210. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
  211. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
  212. package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
  213. package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
  214. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -25
  215. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
  216. package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
  217. package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
  218. package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
  219. package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
  220. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  221. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  222. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
  223. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
  224. package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
  225. package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
  226. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
  227. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
  228. package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
  229. package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
  230. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -51
  231. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -145
  232. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
  233. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
  234. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
  235. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
  236. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
  237. package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
  238. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -85
  239. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
  240. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
  241. package/v2Containers/WebPush/Create/preview/constants.js +0 -637
  242. package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
  243. package/v2Containers/WebPush/Create/preview/preview.scss +0 -358
  244. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
  245. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
  246. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
  247. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
  248. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
  249. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
  250. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
  251. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
  252. package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
  253. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
  254. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
  255. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
  256. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
  257. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
  258. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
  259. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
  260. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
  261. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
  262. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
  263. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
  264. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
  265. package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
  266. package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
  267. package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
  268. package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
  269. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
  270. package/v2Containers/WebPush/Create/utils/validation.js +0 -75
  271. package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
  272. package/v2Containers/WebPush/actions.js +0 -60
  273. package/v2Containers/WebPush/constants.js +0 -132
  274. package/v2Containers/WebPush/index.js +0 -2
  275. package/v2Containers/WebPush/reducer.js +0 -104
  276. package/v2Containers/WebPush/sagas.js +0 -119
  277. package/v2Containers/WebPush/selectors.js +0 -65
  278. package/v2Containers/WebPush/tests/reducer.test.js +0 -863
  279. package/v2Containers/WebPush/tests/sagas.test.js +0 -566
  280. package/v2Containers/WebPush/tests/selectors.test.js +0 -960
@@ -18,10 +18,9 @@
18
18
  margin-top: $CAP_SPACE_16;
19
19
  font-weight: 500;
20
20
  }
21
- .same-content-checkbox-bee-editor {
22
- position: absolute;
23
- right: 66%;
24
- margin-top: $CAP_SPACE_08;
21
+
22
+ .inapp-template-device-tab {
23
+ margin-top: $CAP_SPACE_24;
25
24
  }
26
25
  }
27
26
  #inapp-template-name-input {
@@ -45,11 +45,11 @@ export default defineMessages({
45
45
  },
46
46
  inAppCreateNotification: {
47
47
  id: `${prefix}.inAppCreateNotification`,
48
- defaultMessage: "In-app messaging template created successfully!",
48
+ defaultMessage: "{name} template created successfully",
49
49
  },
50
50
  inAppEditNotification: {
51
- id: `${prefix}.inAppEditNotification`,
52
- defaultMessage: "In-app messaging template edited successfully!",
51
+ id: `${prefix}.inAppCreateNotification`,
52
+ defaultMessage: "{name} template edited successfully",
53
53
  },
54
54
  templateNameMinCharacters: {
55
55
  id: `${prefix}.templateNameMinCharacters`,
@@ -111,8 +111,4 @@ export default defineMessages({
111
111
  defaultMessage:
112
112
  "Footer",
113
113
  },
114
- keepContentSameForBoth: {
115
- id: `${prefix}.keepContentSameForBoth`,
116
- defaultMessage: 'Keep content same for both',
117
- },
118
114
  });
@@ -15,19 +15,12 @@ import {
15
15
  INAPP_EDIT_TEMPLATE_REQUEST,
16
16
  INAPP_EDIT_TEMPLATE_SUCCESS,
17
17
  INAPP_EDIT_TEMPLATE_FAILURE,
18
- GET_BEE_POPUP_BUILDER_TOKEN_REQUEST,
19
- GET_BEE_POPUP_BUILDER_TOKEN_SUCCESS,
20
- GET_BEE_POPUP_BUILDER_TOKEN_FAILURE,
21
18
  } from './constants';
22
19
 
23
20
  const initialState = fromJS({
24
21
  uploadedAssetData: {},
25
22
  createTemplateInProgress: false,
26
23
  editTemplateInProgress: false,
27
- beePopupBuilderTokenFetching: false,
28
- beePopupBuilderToken: {},
29
- beePopupBuilderTokenError: false,
30
- beePopupBuilderTokenErrorMessage: '',
31
24
  });
32
25
 
33
26
  function inAppReducer(state = initialState, action) {
@@ -87,9 +80,9 @@ function inAppReducer(state = initialState, action) {
87
80
  return state
88
81
  .set(
89
82
  'uploadAssetSuccess',
90
- action.statusCode !== undefined
91
- && action.statusCode !== ''
92
- && action.statusCode < 300,
83
+ action.statusCode !== undefined &&
84
+ action.statusCode !== '' &&
85
+ action.statusCode < 300,
93
86
  )
94
87
  .set('assetUploading', false)
95
88
  .set(
@@ -108,17 +101,6 @@ function inAppReducer(state = initialState, action) {
108
101
  ? `uploadedAssetData${action.templateType}`
109
102
  : 'uploadedAssetData',
110
103
  );
111
- case GET_BEE_POPUP_BUILDER_TOKEN_REQUEST:
112
- return state.set('beePopupBuilderTokenFetching', true);
113
- case GET_BEE_POPUP_BUILDER_TOKEN_SUCCESS:
114
- return state
115
- .set('beePopupBuilderTokenFetching', false)
116
- .set('beePopupBuilderToken', action.data);
117
- case GET_BEE_POPUP_BUILDER_TOKEN_FAILURE:
118
- return state
119
- .set('beePopupBuilderTokenFetching', false)
120
- .set('beePopupBuilderTokenError', true)
121
- .set('beePopupBuilderTokenErrorMessage', fromJS(action.error));
122
104
  default:
123
105
  return state;
124
106
  }
@@ -15,9 +15,6 @@ import {
15
15
  GET_INAPP_TEMPLATE_DETAILS_SUCCESS,
16
16
  GET_INAPP_TEMPLATE_DETAILS_FAILURE,
17
17
  GET_INAPP_TEMPLATE_DETAILS_REQUEST,
18
- GET_BEE_POPUP_BUILDER_TOKEN_REQUEST,
19
- GET_BEE_POPUP_BUILDER_TOKEN_SUCCESS,
20
- GET_BEE_POPUP_BUILDER_TOKEN_FAILURE,
21
18
  } from './constants';
22
19
  import { INAPP } from '../CreativesContainer/constants';
23
20
 
@@ -39,6 +36,8 @@ export function* watchUploadInAppAsset() {
39
36
  UPLOAD_INAPP_ASSET_REQUEST,
40
37
  uploadInAppAsset,
41
38
  );
39
+
40
+
42
41
  }
43
42
 
44
43
  export function* inAppTemplateCreate({ payload, callback }) {
@@ -75,6 +74,8 @@ export function* watchCreateTemplate() {
75
74
  INAPP_TEMPLATE_CREATE_REQUEST,
76
75
  inAppTemplateCreate,
77
76
  );
77
+
78
+
78
79
  }
79
80
 
80
81
  // FOR EDIT
@@ -104,6 +105,8 @@ export function* editTemplate({ payload, callback }) {
104
105
  }
105
106
  export function* watchEditTemplate() {
106
107
  yield takeLatest(INAPP_EDIT_TEMPLATE_REQUEST, editTemplate);
108
+
109
+
107
110
  }
108
111
 
109
112
  export function* getTemplateDetails({ id, callback }) {
@@ -129,29 +132,8 @@ export function* watchGetTemplateDetails() {
129
132
  GET_INAPP_TEMPLATE_DETAILS_REQUEST,
130
133
  getTemplateDetails,
131
134
  );
132
- }
133
-
134
- export function* getBeePopupBuilderToken() {
135
- try {
136
- const result = yield call(Api.getBeePopupBuilderToken);
137
- if (result.success) {
138
- yield put({
139
- type: GET_BEE_POPUP_BUILDER_TOKEN_SUCCESS,
140
- data: result.response,
141
- });
142
- } else {
143
- yield put({ type: GET_BEE_POPUP_BUILDER_TOKEN_FAILURE, error: result.message });
144
- }
145
- } catch (error) {
146
- yield put({ type: GET_BEE_POPUP_BUILDER_TOKEN_FAILURE, error });
147
- }
148
- }
149
-
150
- export function* watchGetBeePopupBuilderToken() {
151
- yield takeLatest(
152
- GET_BEE_POPUP_BUILDER_TOKEN_REQUEST,
153
- getBeePopupBuilderToken,
154
- );
135
+
136
+
155
137
  }
156
138
 
157
139
  export default [
@@ -159,7 +141,6 @@ export default [
159
141
  watchGetTemplateDetails,
160
142
  watchUploadInAppAsset,
161
143
  watchEditTemplate,
162
- watchGetBeePopupBuilderToken,
163
144
  ];
164
145
 
165
146
  export function* v2InAppSagas() {
@@ -168,6 +149,5 @@ export function* v2InAppSagas() {
168
149
  watchGetTemplateDetails(),
169
150
  watchUploadInAppAsset(),
170
151
  watchEditTemplate(),
171
- watchGetBeePopupBuilderToken(),
172
152
  ]);
173
- }
153
+ }
@@ -3,30 +3,10 @@ import { createSelector } from 'reselect';
3
3
  const selectInAppDomain = () => (state) => state.get('inapp');
4
4
  const selectAccountDomain = () => (state) => state.get('templates');
5
5
 
6
- const makeSelectInApp = () => createSelector(selectInAppDomain(), (substate) => substate?.toJS());
6
+ const makeSelectInApp = () =>
7
+ createSelector(selectInAppDomain(), (substate) => substate?.toJS());
7
8
 
8
- const makeSelectAccount = () => createSelector(selectAccountDomain(), (substate) => substate.toJS());
9
+ const makeSelectAccount = () =>
10
+ createSelector(selectAccountDomain(), (substate) => substate.toJS());
9
11
 
10
- const makeSelectBeePopupBuilderTokenFetching = () => createSelector(
11
- selectInAppDomain(),
12
- (substate) => substate.get('beePopupBuilderTokenFetching'),
13
- );
14
-
15
- const makeSelectBeePopupBuilderToken = () => createSelector(
16
- selectInAppDomain(),
17
- (substate) => substate.get('beePopupBuilderToken'),
18
- );
19
-
20
- const makeSelectGetTemplateDetailsInProgress = () => createSelector(
21
- selectInAppDomain(),
22
- (substate) => substate.get('getTemplateDetailsInProgress'),
23
- );
24
-
25
-
26
- export {
27
- makeSelectInApp,
28
- makeSelectAccount,
29
- makeSelectBeePopupBuilderTokenFetching,
30
- makeSelectBeePopupBuilderToken,
31
- makeSelectGetTemplateDetailsInProgress,
32
- };
12
+ export { makeSelectInApp, makeSelectAccount };
@@ -6,7 +6,7 @@ import { configureStore } from '@capillarytech/vulcan-react-sdk/utils';
6
6
  import history from '../../../utils/history';
7
7
  import { initialReducer } from '../../../initialReducer';
8
8
  import { InApp } from '../index';
9
- import { render, screen, fireEvent, within, waitFor } from '../../../utils/test-utils';
9
+ import { render, screen, fireEvent, within } from '../../../utils/test-utils';
10
10
  import {
11
11
  editData,
12
12
  accountData,
@@ -17,27 +17,11 @@ import {
17
17
  import { metaEntities, getDefaultTags, injectedTags } from '../../Zalo/tests/mockData';
18
18
  import { getCtaObject } from '../utils';
19
19
 
20
- // Mock redux-auth-wrapper to prevent location.pathname.replace errors
21
- jest.mock('redux-auth-wrapper/history4/redirect', () => ({
22
- connectedRouterRedirect: jest.fn((config) => (Component) => Component),
23
- }));
24
-
25
20
  const mockActions = {
26
21
  getTemplateInfoById: jest.fn(),
27
22
  resetEditTemplate: jest.fn(),
28
- getTemplateDetails: jest.fn((id, callback) => {
29
- // Simulate successful template details fetch to prevent loading state
30
- // The callback is setSpin function, call it with false to stop spinner
31
- if (callback && typeof callback === 'function') {
32
- // Use setTimeout to ensure it's called after render
33
- setTimeout(() => {
34
- callback(false);
35
- }, 0);
36
- }
37
- }),
23
+ getTemplateDetails: jest.fn(),
38
24
  editTemplate: jest.fn(),
39
- createInAppTemplate: jest.fn(),
40
- clearCreateResponse: jest.fn(),
41
25
  };
42
26
  const mockGlobalActions = {
43
27
  fetchSchemaForEntity: jest.fn(),
@@ -75,65 +59,33 @@ describe('Test activity inApp container', () => {
75
59
  accountData,
76
60
  isFullMode: true,
77
61
  params: { id: 'test'},
78
- defaultData: {}, // Ensure no HTML editor type
79
- isEditInApp: false, // Ensure not in edit mode to avoid loading check
80
62
  });
81
-
82
- // Wait for spinner to stop (getTemplateDetails callback should set spin to false)
83
- await waitFor(() => {
84
- // Wait for any element to appear (component should render after spinner stops)
85
- const hasBeeEditor = screen.queryByTestId('bee-popup-editor-ANDROID');
86
- const hasTabs = screen.queryByRole('tab', { name: /ios/i });
87
- const hasCreateButton = screen.queryByText(/create/i);
88
- const hasUpdateButton = screen.queryByText(/update/i);
89
- const hasCapDeviceContent = screen.queryByTestId('cap-device-content');
90
- const hasLayoutOption = screen.queryByText(/creative layout/i);
91
- expect(hasBeeEditor || hasTabs || hasCreateButton || hasUpdateButton || hasCapDeviceContent || hasLayoutOption).toBeTruthy();
92
- }, { timeout: 5000 });
93
-
94
- // Try to find tabs (old UI) or BEE editor buttons (new UI)
95
- const iosTab = screen.queryByRole('tab', { name: /ios/i });
96
- const androidTab = screen.queryByRole('tab', { name: /android/i });
97
- const beeEditor = screen.queryByTestId('bee-popup-editor-ANDROID');
98
-
99
- if (iosTab && androidTab) {
100
- // Old UI with tabs
101
- fireEvent.click(within(iosTab).getByText(/ios/i));
102
- fireEvent.click(within(androidTab).getByText(/android/i));
103
- const msgBox = screen.queryAllByPlaceholderText(/Please input in-app notification message content/i);
104
- if (msgBox.length > 0) {
105
- msgBox[0].focus();
106
- fireEvent.change(msgBox[0], { target: { value: 'val' }});
107
- }
108
- } else if (beeEditor) {
109
- // BEE editor UI - component is rendered, which is sufficient for this test
110
- // The actual edit functionality is tested in InappAdvanced tests
111
- expect(beeEditor).toBeInTheDocument();
112
- return; // Exit early since BEE editor doesn't have the old UI elements
113
- }
114
-
115
- // Find update button - might be in BEE editor or old UI
116
- const updateBtn = screen.queryByRole('button', {
63
+ const inputBox = await screen.findAllByPlaceholderText(
64
+ 'Enter template name',
65
+ );
66
+ fireEvent.change(inputBox[0], { target: { value: 'Hello, welcome' } });
67
+ inputBox[0].focus();
68
+ const iosTab = screen.getByRole('tab', {
69
+ name: /ios/i,
70
+ });
71
+ fireEvent.click(within(iosTab).getByText(/ios/i));
72
+ const androidTab = screen.getByRole('tab', {
73
+ name: /android/i,
74
+ });
75
+ fireEvent.click(within(androidTab).getByText(/android/i));
76
+ const inputNameBox = await screen.findAllByPlaceholderText(
77
+ 'Enter template name',
78
+ );
79
+ fireEvent.change(inputNameBox[0], { target: { value: 'Hello, welcome' } });
80
+ const msgBox = screen.getAllByPlaceholderText(/Please input in-app notification message content/i);
81
+ msgBox[0].focus();
82
+ fireEvent.change(msgBox[0], { target: { value: 'val' }});
83
+ const updateBtn = screen.getByRole('button', {
117
84
  name: /update/i,
118
85
  });
119
-
120
- if (updateBtn) {
121
- expect(updateBtn).toBeEnabled();
122
- fireEvent.click(updateBtn);
123
- // BEE editor might call editTemplate, old UI definitely should
124
- await waitFor(() => {
125
- expect(mockActions.editTemplate).toHaveBeenCalled();
126
- }, { timeout: 3000 });
127
- } else {
128
- // If no update button found, verify component rendered by checking for any rendered content
129
- // This test verifies the component renders correctly with editData
130
- // Check for any visible text or elements that indicate the component rendered
131
- const hasAnyContent = beeEditor || iosTab || androidTab ||
132
- screen.queryByText(/done/i) ||
133
- screen.queryByText(/creative layout/i) ||
134
- screen.queryByRole('button');
135
- expect(hasAnyContent).toBeTruthy();
136
- }
86
+ expect(updateBtn).toBeEnabled();
87
+ fireEvent.click(updateBtn);
88
+ expect(mockActions.editTemplate).toHaveBeenCalled();
137
89
  });
138
90
  it('test case for inApp template configuration', async () => {
139
91
  renderComponent({
@@ -145,40 +97,19 @@ describe('Test activity inApp container', () => {
145
97
  isFullMode: false,
146
98
  params: { id: 'test'},
147
99
  getFormData: jest.fn(),
148
- defaultData: {}, // Ensure no HTML editor type
149
- isEditInApp: false, // Ensure not in edit mode to avoid loading check
150
100
  });
151
-
152
- // Wait for component to render
153
- await waitFor(() => {
154
- const hasTabs = screen.queryByRole('tab', { name: /ios/i });
155
- const hasBeeEditor = screen.queryByTestId('bee-popup-editor-ANDROID');
156
- const hasDoneButton = screen.queryByText(/done/i);
157
- const hasCreateButton = screen.queryByText(/create/i);
158
- const hasLayoutOption = screen.queryByText(/creative layout/i);
159
- expect(hasTabs || hasBeeEditor || hasDoneButton || hasCreateButton || hasLayoutOption).toBeTruthy();
160
- }, { timeout: 5000 });
161
-
162
- const iosTab = screen.queryByRole('tab', { name: /ios/i });
163
- const androidTab = screen.queryByRole('tab', { name: /android/i });
164
-
165
- if (iosTab && androidTab) {
166
- fireEvent.click(within(iosTab).getByText(/ios/i));
167
- fireEvent.click(within(androidTab).getByText(/android/i));
168
- const msgBox = screen.getAllByPlaceholderText(/Please input in-app notification message content/i);
169
- if (msgBox.length > 0) {
170
- msgBox[0].focus();
171
- fireEvent.change(msgBox[0], { target: { value: 'val' }});
172
- }
173
- }
174
-
175
- // In create mode (isFullMode: false, no editData), button should be "Done"
176
- // But if templateData is provided, it might be in edit mode, so check for either
177
- const doneBtn = screen.queryByRole('button', {
178
- name: /done/i,
179
- }) || screen.queryByRole('button', {
180
- name: /update/i,
101
+ const iosTab = screen.getByRole('tab', {
102
+ name: /ios/i,
103
+ });
104
+ fireEvent.click(within(iosTab).getByText(/ios/i));
105
+ const androidTab = screen.getByRole('tab', {
106
+ name: /android/i,
181
107
  });
108
+ fireEvent.click(within(androidTab).getByText(/android/i));
109
+ const msgBox = screen.getAllByPlaceholderText(/Please input in-app notification message content/i);
110
+ msgBox[0].focus();
111
+ fireEvent.change(msgBox[0], { target: { value: 'val' }});
112
+ const doneBtn = screen.getByText(/done/i);
182
113
  expect(doneBtn).toBeEnabled();
183
114
  });
184
115
  it('test case for inApp template copy content flow', async () => {
@@ -200,57 +131,22 @@ describe('Test activity inApp container', () => {
200
131
  accountData,
201
132
  isFullMode: true,
202
133
  params: { id: 'test'},
203
- defaultData: {}, // Ensure no HTML editor type
204
- isEditInApp: false, // Ensure not in edit mode to avoid loading check
205
134
  });
206
-
207
- // Wait for component to render
208
- await waitFor(() => {
209
- const hasTabs = screen.queryByRole('tab', { name: /ios/i });
210
- const hasBeeEditor = screen.queryByTestId('bee-popup-editor-ANDROID');
211
- const hasLayoutOption = screen.queryByText(/top banner/i);
212
- const hasUpdateButton = screen.queryByText(/update/i);
213
- const hasCreateButton = screen.queryByText(/create/i);
214
- const hasLayoutHeading = screen.queryByText(/creative layout/i);
215
- expect(hasTabs || hasBeeEditor || hasLayoutOption || hasUpdateButton || hasCreateButton || hasLayoutHeading).toBeTruthy();
216
- }, { timeout: 5000 });
217
-
218
- // Try to find layout option (might be in HTML editor mode)
219
- const layoutOption = screen.queryByText(/top banner/i);
220
- if (layoutOption) {
221
- fireEvent.click(layoutOption);
222
- }
223
-
224
- // Try to find copy link (old UI with CapDeviceContent)
225
- const copyLink = screen.queryByRole('link', {
135
+ const layoutOption = screen.getByText(/top banner/i);
136
+ fireEvent.click(layoutOption);
137
+ const copyLink = screen.getByRole('link', {
226
138
  name: /copy title and content from ios/i,
227
139
  });
228
-
229
- if (copyLink) {
230
- fireEvent.click(copyLink);
231
- const iosTab = screen.queryByRole('tab', {
232
- name: /ios/i,
233
- });
234
- if (iosTab) {
235
- fireEvent.click(within(iosTab).getByText(/ios/i));
236
- const copyLinkIos = screen.queryByRole('link', {
237
- name: /copy title and content from android/i,
238
- });
239
- if (copyLinkIos) {
240
- fireEvent.click(copyLinkIos);
241
- }
242
- }
243
- expect(copyLink).toBeInTheDocument();
244
- } else {
245
- // If copy link doesn't exist (BEE editor or HTML editor), just verify component rendered
246
- // This test verifies the component renders correctly with editData and location
247
- const beeEditor = screen.queryByTestId('bee-popup-editor-ANDROID');
248
- const htmlEditor = screen.queryByTestId('inapp-html-editor');
249
- const tabs = screen.queryByRole('tab');
250
- const hasAnyButton = screen.queryByRole('button');
251
- const hasAnyText = screen.queryByText(/done/i) || screen.queryByText(/update/i) || screen.queryByText(/creative layout/i);
252
- expect(beeEditor || htmlEditor || tabs || hasAnyButton || hasAnyText).toBeTruthy();
253
- }
140
+ fireEvent.click(copyLink);
141
+ const iosTab = screen.getByRole('tab', {
142
+ name: /ios/i,
143
+ });
144
+ fireEvent.click(within(iosTab).getByText(/ios/i));
145
+ const copyLinkIos = screen.getByRole('link', {
146
+ name: /copy title and content from android/i,
147
+ });
148
+ fireEvent.click(copyLinkIos);
149
+ expect(copyLink).toBeInTheDocument();
254
150
  });
255
151
  });
256
152
  describe('test for getCtaObject function', () => {
@@ -260,38 +260,4 @@ describe("zalo reducer", () => {
260
260
  expect(inAppReducer(state, action)).toEqual(expectedResult);
261
261
  });
262
262
  });
263
- describe("Reducer : GET_BEE_POPUP_BUILDER_TOKEN_REQUEST", () => {
264
- it.concurrent("should handle GET_BEE_POPUP_BUILDER_TOKEN_REQUEST action", () => {
265
- const state = fromJS({
266
- beePopupBuilderTokenFetching: false,
267
- });
268
- const expectedResult = state.set("beePopupBuilderTokenFetching", true);
269
- expect(inAppReducer(state, actions.getBeePopupBuilderToken({}))).toEqual(expectedResult);
270
- });
271
- it.concurrent("should handle GET_BEE_POPUP_BUILDER_TOKEN_SUCCESS action", () => {
272
- const state = fromJS({
273
- beePopupBuilderTokenFetching: false,
274
- beePopupBuilderToken: 'data',
275
- });
276
- const action = {
277
- type: types.GET_BEE_POPUP_BUILDER_TOKEN_SUCCESS,
278
- data: 'data',
279
- };
280
- const expectedResult = state.set("beePopupBuilderTokenFetching", false).set("beePopupBuilderToken", 'data');
281
- expect(inAppReducer(state, action)).toEqual(expectedResult);
282
- });
283
- it.concurrent("should handle GET_BEE_POPUP_BUILDER_TOKEN_FAILURE action", () => {
284
- const state = fromJS({
285
- beePopupBuilderTokenFetching: false,
286
- beePopupBuilderTokenError: true,
287
- beePopupBuilderTokenErrorMessage: 'error',
288
- });
289
- const action = {
290
- type: types.GET_BEE_POPUP_BUILDER_TOKEN_FAILURE,
291
- error: 'error',
292
- };
293
- const expectedResult = state.set("beePopupBuilderTokenFetching", false).set("beePopupBuilderTokenError", true).set("beePopupBuilderTokenErrorMessage", fromJS('error'));
294
- expect(inAppReducer(state, action)).toEqual(expectedResult);
295
- });
296
- });
297
263
  });
@@ -4,10 +4,12 @@ import {
4
4
  import { createMockTask } from 'redux-saga/utils';
5
5
  import { expectSaga } from 'redux-saga-test-plan';
6
6
  import * as sagas from '../sagas';
7
- import { v2InAppSagas } from '../sagas';
8
7
  import * as Api from '../../../services/api';
9
8
  import * as types from '../constants';
10
9
  import { INAPP } from '../../CreativesContainer/constants';
10
+ import {
11
+ v2InAppSagas,
12
+ } from "../sagas";
11
13
 
12
14
  describe('test for uploadInAppAsset function', () => {
13
15
  it('should dispatch UPLOAD_INAPP_ASSET_SUCCESS action with asset data, status code, and template type', () => {
@@ -395,65 +397,11 @@ describe('test for getTemplateDetails', () => {
395
397
  });
396
398
  });
397
399
 
398
- describe('test for getBeePopupBuilderToken', () => {
399
- it('should call getBeePopupBuilderToken when GET_BEE_POPUP_BUILDER_TOKEN_REQUEST action is dispatched', () => {
400
- const watcher = sagas.watchGetBeePopupBuilderToken();
401
- const gen = watcher.next().value;
402
- expect(gen).toEqual(takeLatest(types.GET_BEE_POPUP_BUILDER_TOKEN_REQUEST, sagas.getBeePopupBuilderToken));
403
- });
404
- it('should cancel the watcher watchGetBeePopupBuilderToken', () => {
405
- const gen = sagas.watchGetBeePopupBuilderToken();
406
- const mockTask = createMockTask();
407
- expect(gen.next().value).toEqual(takeLatest(types.GET_BEE_POPUP_BUILDER_TOKEN_REQUEST, sagas.getBeePopupBuilderToken));
408
- expect(gen.next(mockTask).done).toBe(true);
409
- expect(mockTask.isRunning()).toBe(true);
410
- expect(gen.next().value).toEqual(undefined);
411
- });
412
- it('should handle GET_BEE_POPUP_BUILDER_TOKEN_SUCCESS', () => {
413
- const payload = {}; // Add your payload for testing
414
- const mockResult = {
415
- success: true,
416
- status: {
417
- code: 200,
418
- },
419
- response: { /* mock response */ },
420
- };
421
- const iterator = sagas.getBeePopupBuilderToken({ payload, callback: jest.fn() });
422
- expect(iterator.next().value).toEqual(call(Api.getBeePopupBuilderToken));
423
- expect(iterator.next(mockResult).value).toEqual(
424
- put({ type: types.GET_BEE_POPUP_BUILDER_TOKEN_SUCCESS, data: mockResult.response })
425
- );
426
- expect(iterator.next().done).toBe(true);
427
- });
428
- it('should handle GET_BEE_POPUP_BUILDER_TOKEN_FAILURE', () => {
429
- const payload = {};
430
- const error = new Error('Test error');
431
- const iterator = sagas.getBeePopupBuilderToken({ payload });
432
- expect(iterator.next().value).toEqual(call(Api.getBeePopupBuilderToken));
433
- expect(iterator.throw(error).value).toEqual(
434
- put({ type: types.GET_BEE_POPUP_BUILDER_TOKEN_FAILURE, error })
435
- );
436
- expect(iterator.next().done).toBe(true);
437
- });
438
- it('should handle error case', () => {
439
- const payload = {};
440
- const mockResult = {
441
- success: false,
442
- status: {
443
- code: 400,
444
- },
445
- message: 'Test error',
446
- };
447
- const iterator = sagas.getBeePopupBuilderToken({ payload });
448
- expect(iterator.next().value).toEqual(call(Api.getBeePopupBuilderToken));
449
- expect(iterator.next(mockResult).value).toEqual(
450
- put({ type: types.GET_BEE_POPUP_BUILDER_TOKEN_FAILURE, error: mockResult.message })
451
- );
452
- expect(iterator.next().done).toBe(true);
453
- });
454
- });
455
400
 
456
401
 
457
- describe("v2InAppSagas Combined", () => {
458
- it("should initialize all v2InAppSagas-related watcher sagas without error", () => expectSaga(v2InAppSagas).run());
459
- });
402
+
403
+ describe("v2InAppSagas Combined", () => {
404
+ it("should initialize all v2InAppSagas-related watcher sagas without error", () => {
405
+ return expectSaga(v2InAppSagas).run();
406
+ });
407
+ });
@@ -2281,7 +2281,6 @@ new message content.",
2281
2281
  "email": [Function],
2282
2282
  "facebookPreview": [Function],
2283
2283
  "gallery": [Function],
2284
- "inApp": [Function],
2285
2284
  "language": [Function],
2286
2285
  "navigationConfig": [Function],
2287
2286
  "previewAndTest": [Function],
@@ -5965,7 +5964,6 @@ new message content.",
5965
5964
  "email": [Function],
5966
5965
  "facebookPreview": [Function],
5967
5966
  "gallery": [Function],
5968
- "inApp": [Function],
5969
5967
  "language": [Function],
5970
5968
  "navigationConfig": [Function],
5971
5969
  "previewAndTest": [Function],
@@ -9788,7 +9786,6 @@ new message content.",
9788
9786
  "email": [Function],
9789
9787
  "facebookPreview": [Function],
9790
9788
  "gallery": [Function],
9791
- "inApp": [Function],
9792
9789
  "language": [Function],
9793
9790
  "navigationConfig": [Function],
9794
9791
  "previewAndTest": [Function],
@@ -2281,7 +2281,6 @@ new message content.",
2281
2281
  "email": [Function],
2282
2282
  "facebookPreview": [Function],
2283
2283
  "gallery": [Function],
2284
- "inApp": [Function],
2285
2284
  "language": [Function],
2286
2285
  "navigationConfig": [Function],
2287
2286
  "previewAndTest": [Function],
@@ -21555,7 +21554,6 @@ new message content.",
21555
21554
  "email": [Function],
21556
21555
  "facebookPreview": [Function],
21557
21556
  "gallery": [Function],
21558
- "inApp": [Function],
21559
21557
  "language": [Function],
21560
21558
  "navigationConfig": [Function],
21561
21559
  "previewAndTest": [Function],
@@ -2281,7 +2281,6 @@ new message content.",
2281
2281
  "email": [Function],
2282
2282
  "facebookPreview": [Function],
2283
2283
  "gallery": [Function],
2284
- "inApp": [Function],
2285
2284
  "language": [Function],
2286
2285
  "navigationConfig": [Function],
2287
2286
  "previewAndTest": [Function],
@@ -34886,7 +34885,6 @@ new message content.",
34886
34885
  "email": [Function],
34887
34886
  "facebookPreview": [Function],
34888
34887
  "gallery": [Function],
34889
- "inApp": [Function],
34890
34888
  "language": [Function],
34891
34889
  "navigationConfig": [Function],
34892
34890
  "previewAndTest": [Function],