@segment/action-destinations 3.337.4-staging-1 → 3.337.4

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 (271) hide show
  1. package/dist/destinations/airship/utilities.js +8 -0
  2. package/dist/destinations/airship/utilities.js.map +1 -1
  3. package/dist/destinations/avo/generated-types.d.ts +5 -0
  4. package/dist/destinations/avo/generated-types.js.map +1 -0
  5. package/dist/destinations/avo/index.d.ts +4 -0
  6. package/dist/destinations/avo/index.js +54 -0
  7. package/dist/destinations/avo/index.js.map +1 -0
  8. package/dist/destinations/avo/sendSchemaToInspector/AvoSchemaParser.d.ts +9 -0
  9. package/dist/destinations/avo/sendSchemaToInspector/AvoSchemaParser.js +97 -0
  10. package/dist/destinations/avo/sendSchemaToInspector/AvoSchemaParser.js.map +1 -0
  11. package/dist/destinations/avo/sendSchemaToInspector/avo-types.d.ts +26 -0
  12. package/dist/destinations/avo/sendSchemaToInspector/avo-types.js +10 -0
  13. package/dist/destinations/avo/sendSchemaToInspector/avo-types.js.map +1 -0
  14. package/dist/destinations/avo/sendSchemaToInspector/avo.d.ts +3 -0
  15. package/dist/destinations/avo/sendSchemaToInspector/avo.js +44 -0
  16. package/dist/destinations/avo/sendSchemaToInspector/avo.js.map +1 -0
  17. package/dist/destinations/avo/sendSchemaToInspector/generated-types.d.ts +11 -0
  18. package/dist/destinations/avo/sendSchemaToInspector/generated-types.js +3 -0
  19. package/dist/destinations/avo/sendSchemaToInspector/generated-types.js.map +1 -0
  20. package/dist/destinations/avo/sendSchemaToInspector/index.d.ts +5 -0
  21. package/dist/destinations/avo/sendSchemaToInspector/index.js +95 -0
  22. package/dist/destinations/avo/sendSchemaToInspector/index.js.map +1 -0
  23. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.d.ts +1 -0
  24. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js +184 -0
  25. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js.map +1 -0
  26. package/dist/destinations/customerio/createUpdateDevice/index.js +6 -3
  27. package/dist/destinations/customerio/createUpdateDevice/index.js.map +1 -1
  28. package/dist/destinations/customerio/createUpdateObject/index.js +5 -1
  29. package/dist/destinations/customerio/createUpdateObject/index.js.map +1 -1
  30. package/dist/destinations/customerio/createUpdatePerson/index.js +3 -2
  31. package/dist/destinations/customerio/createUpdatePerson/index.js.map +1 -1
  32. package/dist/destinations/customerio/deleteDevice/index.js +1 -1
  33. package/dist/destinations/customerio/deleteDevice/index.js.map +1 -1
  34. package/dist/destinations/customerio/deleteObject/index.js +3 -3
  35. package/dist/destinations/customerio/deleteObject/index.js.map +1 -1
  36. package/dist/destinations/customerio/deletePerson/index.js +1 -1
  37. package/dist/destinations/customerio/deletePerson/index.js.map +1 -1
  38. package/dist/destinations/customerio/deleteRelationship/index.js +5 -5
  39. package/dist/destinations/customerio/deleteRelationship/index.js.map +1 -1
  40. package/dist/destinations/customerio/index.js +1 -3
  41. package/dist/destinations/customerio/index.js.map +1 -1
  42. package/dist/destinations/customerio/reportDeliveryEvent/index.js +1 -5
  43. package/dist/destinations/customerio/reportDeliveryEvent/index.js.map +1 -1
  44. package/dist/destinations/customerio/suppressPerson/index.js +2 -2
  45. package/dist/destinations/customerio/suppressPerson/index.js.map +1 -1
  46. package/dist/destinations/customerio/test-helper.d.ts +2 -0
  47. package/dist/destinations/customerio/test-helper.js +8 -1
  48. package/dist/destinations/customerio/test-helper.js.map +1 -1
  49. package/dist/destinations/customerio/trackPageView/index.js +5 -2
  50. package/dist/destinations/customerio/trackPageView/index.js.map +1 -1
  51. package/dist/destinations/customerio/trackScreenView/index.js +5 -2
  52. package/dist/destinations/customerio/trackScreenView/index.js.map +1 -1
  53. package/dist/destinations/customerio/unsuppressPerson/index.js +2 -2
  54. package/dist/destinations/customerio/unsuppressPerson/index.js.map +1 -1
  55. package/dist/destinations/customerio/utils.d.ts +2 -2
  56. package/dist/destinations/customerio/utils.js +3 -4
  57. package/dist/destinations/customerio/utils.js.map +1 -1
  58. package/dist/destinations/display-video-360/index.js +5 -0
  59. package/dist/destinations/display-video-360/index.js.map +1 -1
  60. package/dist/destinations/display-video-360/shared.d.ts +2 -0
  61. package/dist/destinations/display-video-360/shared.js +7 -1
  62. package/dist/destinations/display-video-360/shared.js.map +1 -1
  63. package/dist/destinations/engage/sendgrid/Profile.d.ts +6 -0
  64. package/dist/destinations/engage/sendgrid/Profile.js +3 -0
  65. package/dist/destinations/engage/sendgrid/Profile.js.map +1 -0
  66. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.d.ts +18 -0
  67. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js +94 -0
  68. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js.map +1 -0
  69. package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js +2 -0
  70. package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js.map +1 -1
  71. package/dist/destinations/facebook-conversions-api/constants.d.ts +1 -1
  72. package/dist/destinations/facebook-conversions-api/constants.js +1 -1
  73. package/dist/destinations/index.js +6 -0
  74. package/dist/destinations/index.js.map +1 -1
  75. package/dist/destinations/kameleoon/index.js +1 -1
  76. package/dist/destinations/kameleoon/index.js.map +1 -1
  77. package/dist/destinations/klaviyo/properties.js +1 -1
  78. package/dist/destinations/klaviyo/properties.js.map +1 -1
  79. package/dist/destinations/klaviyo/removeProfileToList/generated-types.d.ts +4 -0
  80. package/dist/destinations/klaviyo/removeProfileToList/generated-types.js +3 -0
  81. package/dist/destinations/klaviyo/removeProfileToList/generated-types.js.map +1 -0
  82. package/dist/destinations/klaviyo/removeProfileToList/index.d.ts +5 -0
  83. package/dist/destinations/klaviyo/removeProfileToList/index.js +43 -0
  84. package/dist/destinations/klaviyo/removeProfileToList/index.js.map +1 -0
  85. package/dist/destinations/linkedin-conversions/api/index.d.ts +1 -1
  86. package/dist/destinations/linkedin-conversions/api/index.js +23 -13
  87. package/dist/destinations/linkedin-conversions/api/index.js.map +1 -1
  88. package/dist/destinations/linkedin-conversions/constants.d.ts +1 -1
  89. package/dist/destinations/linkedin-conversions/constants.js +1 -1
  90. package/dist/destinations/linkedin-conversions/streamConversion/index.js +26 -6
  91. package/dist/destinations/linkedin-conversions/streamConversion/index.js.map +1 -1
  92. package/dist/destinations/linkedin-conversions/types.d.ts +9 -0
  93. package/dist/destinations/linkedin-conversions/types.js.map +1 -1
  94. package/dist/destinations/mixpanel/utils.d.ts +13 -0
  95. package/dist/destinations/mixpanel/utils.js +117 -0
  96. package/dist/destinations/mixpanel/utils.js.map +1 -0
  97. package/dist/destinations/movable-ink/categoryView/generated-types.d.ts +22 -0
  98. package/dist/destinations/movable-ink/categoryView/generated-types.js +3 -0
  99. package/dist/destinations/movable-ink/categoryView/generated-types.js.map +1 -0
  100. package/dist/destinations/movable-ink/categoryView/index.d.ts +5 -0
  101. package/dist/destinations/movable-ink/categoryView/index.js +43 -0
  102. package/dist/destinations/movable-ink/categoryView/index.js.map +1 -0
  103. package/dist/destinations/movable-ink/conversion/generated-types.d.ts +20 -0
  104. package/dist/destinations/movable-ink/conversion/generated-types.js +3 -0
  105. package/dist/destinations/movable-ink/conversion/generated-types.js.map +1 -0
  106. package/dist/destinations/movable-ink/conversion/index.d.ts +5 -0
  107. package/dist/destinations/movable-ink/conversion/index.js +45 -0
  108. package/dist/destinations/movable-ink/conversion/index.js.map +1 -0
  109. package/dist/destinations/movable-ink/fields.d.ts +21 -0
  110. package/dist/destinations/movable-ink/fields.js +236 -0
  111. package/dist/destinations/movable-ink/fields.js.map +1 -0
  112. package/dist/destinations/movable-ink/identify/generated-types.d.ts +7 -0
  113. package/dist/destinations/movable-ink/identify/generated-types.js +3 -0
  114. package/dist/destinations/movable-ink/identify/generated-types.js.map +1 -0
  115. package/dist/destinations/movable-ink/identify/index.d.ts +5 -0
  116. package/dist/destinations/movable-ink/identify/index.js +32 -0
  117. package/dist/destinations/movable-ink/identify/index.js.map +1 -0
  118. package/dist/destinations/movable-ink/productAdded/generated-types.d.ts +22 -0
  119. package/dist/destinations/movable-ink/productAdded/generated-types.js +3 -0
  120. package/dist/destinations/movable-ink/productAdded/generated-types.js.map +1 -0
  121. package/dist/destinations/movable-ink/productAdded/index.d.ts +5 -0
  122. package/dist/destinations/movable-ink/productAdded/index.js +43 -0
  123. package/dist/destinations/movable-ink/productAdded/index.js.map +1 -0
  124. package/dist/destinations/movable-ink/productViewed/generated-types.d.ts +21 -0
  125. package/dist/destinations/movable-ink/productViewed/generated-types.js +3 -0
  126. package/dist/destinations/movable-ink/productViewed/generated-types.js.map +1 -0
  127. package/dist/destinations/movable-ink/productViewed/index.d.ts +5 -0
  128. package/dist/destinations/movable-ink/productViewed/index.js +43 -0
  129. package/dist/destinations/movable-ink/productViewed/index.js.map +1 -0
  130. package/dist/destinations/movable-ink/search/generated-types.d.ts +12 -0
  131. package/dist/destinations/movable-ink/search/generated-types.js +3 -0
  132. package/dist/destinations/movable-ink/search/generated-types.js.map +1 -0
  133. package/dist/destinations/movable-ink/search/index.d.ts +5 -0
  134. package/dist/destinations/movable-ink/search/index.js +43 -0
  135. package/dist/destinations/movable-ink/search/index.js.map +1 -0
  136. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.d.ts +25 -0
  137. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.js +3 -0
  138. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.js.map +1 -0
  139. package/dist/destinations/movable-ink/sendCustomEvent/index.d.ts +5 -0
  140. package/dist/destinations/movable-ink/sendCustomEvent/index.js +48 -0
  141. package/dist/destinations/movable-ink/sendCustomEvent/index.js.map +1 -0
  142. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.d.ts +14 -0
  143. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js +3 -0
  144. package/dist/destinations/responsys/asyncMergePetRecords/generated-types.js.map +1 -0
  145. package/dist/destinations/responsys/asyncMergePetRecords/index.d.ts +5 -0
  146. package/dist/destinations/responsys/asyncMergePetRecords/index.js +113 -0
  147. package/dist/destinations/responsys/asyncMergePetRecords/index.js.map +1 -0
  148. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.d.ts +20 -0
  149. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js +3 -0
  150. package/dist/destinations/responsys/asyncMergeProfileListMembers/generated-types.js.map +1 -0
  151. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.d.ts +5 -0
  152. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js +174 -0
  153. package/dist/destinations/responsys/asyncMergeProfileListMembers/index.js.map +1 -0
  154. package/dist/destinations/responsys/generated-types.d.ts +20 -0
  155. package/dist/destinations/responsys/generated-types.js +3 -0
  156. package/dist/destinations/responsys/generated-types.js.map +1 -0
  157. package/dist/destinations/responsys/index.d.ts +4 -0
  158. package/dist/destinations/responsys/index.js +197 -0
  159. package/dist/destinations/responsys/index.js.map +1 -0
  160. package/dist/destinations/responsys/rsp-operations.d.ts +14 -0
  161. package/dist/destinations/responsys/rsp-operations.js +33 -0
  162. package/dist/destinations/responsys/rsp-operations.js.map +1 -0
  163. package/dist/destinations/responsys/rsp-properties.d.ts +4 -0
  164. package/dist/destinations/responsys/rsp-properties.js +27 -0
  165. package/dist/destinations/responsys/rsp-properties.js.map +1 -0
  166. package/dist/destinations/responsys/sendAudience/generated-types.d.ts +14 -0
  167. package/dist/destinations/responsys/sendAudience/generated-types.js +3 -0
  168. package/dist/destinations/responsys/sendAudience/generated-types.js.map +1 -0
  169. package/dist/destinations/responsys/sendAudience/index.d.ts +5 -0
  170. package/dist/destinations/responsys/sendAudience/index.js +88 -0
  171. package/dist/destinations/responsys/sendAudience/index.js.map +1 -0
  172. package/dist/destinations/responsys/sendCustomTraits/generated-types.d.ts +9 -0
  173. package/dist/destinations/responsys/sendCustomTraits/generated-types.js +3 -0
  174. package/dist/destinations/responsys/sendCustomTraits/generated-types.js.map +1 -0
  175. package/dist/destinations/responsys/sendCustomTraits/index.d.ts +5 -0
  176. package/dist/destinations/responsys/sendCustomTraits/index.js +52 -0
  177. package/dist/destinations/responsys/sendCustomTraits/index.js.map +1 -0
  178. package/dist/destinations/responsys/shared_properties.d.ts +3 -0
  179. package/dist/destinations/responsys/shared_properties.js +19 -0
  180. package/dist/destinations/responsys/shared_properties.js.map +1 -0
  181. package/dist/destinations/responsys/types.d.ts +38 -0
  182. package/dist/destinations/responsys/types.js +3 -0
  183. package/dist/destinations/responsys/types.js.map +1 -0
  184. package/dist/destinations/responsys/upsertListMember/generated-types.d.ts +13 -0
  185. package/dist/destinations/responsys/upsertListMember/generated-types.js +3 -0
  186. package/dist/destinations/responsys/upsertListMember/generated-types.js.map +1 -0
  187. package/dist/destinations/responsys/upsertListMember/index.d.ts +5 -0
  188. package/dist/destinations/responsys/upsertListMember/index.js +80 -0
  189. package/dist/destinations/responsys/upsertListMember/index.js.map +1 -0
  190. package/dist/destinations/responsys/utils.d.ts +18 -0
  191. package/dist/destinations/responsys/utils.js +161 -0
  192. package/dist/destinations/responsys/utils.js.map +1 -0
  193. package/dist/destinations/segment/segment-properties.d.ts +1 -0
  194. package/dist/destinations/segment/segment-properties.js +7 -1
  195. package/dist/destinations/segment/segment-properties.js.map +1 -1
  196. package/dist/destinations/segment/sendGroup/generated-types.d.ts +1 -0
  197. package/dist/destinations/segment/sendGroup/index.js +38 -1
  198. package/dist/destinations/segment/sendGroup/index.js.map +1 -1
  199. package/dist/destinations/segment/sendIdentify/generated-types.d.ts +1 -0
  200. package/dist/destinations/segment/sendIdentify/index.js +39 -2
  201. package/dist/destinations/segment/sendIdentify/index.js.map +1 -1
  202. package/dist/destinations/segment/sendPage/generated-types.d.ts +1 -0
  203. package/dist/destinations/segment/sendPage/index.js +46 -1
  204. package/dist/destinations/segment/sendPage/index.js.map +1 -1
  205. package/dist/destinations/segment/sendScreen/generated-types.d.ts +1 -0
  206. package/dist/destinations/segment/sendScreen/index.js +39 -1
  207. package/dist/destinations/segment/sendScreen/index.js.map +1 -1
  208. package/dist/destinations/segment/sendTrack/generated-types.d.ts +1 -0
  209. package/dist/destinations/segment/sendTrack/index.js +42 -1
  210. package/dist/destinations/segment/sendTrack/index.js.map +1 -1
  211. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.d.ts +1 -0
  212. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js +381 -0
  213. package/dist/destinations/snap-conversions-api/_tests_/capiV2tests.js.map +1 -0
  214. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.d.ts +1 -0
  215. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js +499 -0
  216. package/dist/destinations/snap-conversions-api/_tests_/capiV3tests.js.map +1 -0
  217. package/dist/destinations/snap-conversions-api/_tests_/index.test.js +4 -352
  218. package/dist/destinations/snap-conversions-api/_tests_/index.test.js.map +1 -1
  219. package/dist/destinations/snap-conversions-api/index.js.map +1 -1
  220. package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js +24 -20
  221. package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js.map +1 -1
  222. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.d.ts +4 -0
  223. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js +97 -0
  224. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v2.js.map +1 -0
  225. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.d.ts +8 -0
  226. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.js +126 -0
  227. package/dist/destinations/snap-conversions-api/reportConversionEvent/snap-capi-v3.js.map +1 -0
  228. package/dist/destinations/snap-conversions-api/reportConversionEvent/utils.d.ts +13 -0
  229. package/dist/destinations/snap-conversions-api/reportConversionEvent/utils.js +40 -0
  230. package/dist/destinations/snap-conversions-api/reportConversionEvent/utils.js.map +1 -0
  231. package/dist/destinations/snap-conversions-api/snap-capi-properties.d.ts +0 -5
  232. package/dist/destinations/snap-conversions-api/snap-capi-properties.js +1 -86
  233. package/dist/destinations/snap-conversions-api/snap-capi-properties.js.map +1 -1
  234. package/dist/destinations/stackadapt/forwardEvent/generated-types.d.ts +33 -0
  235. package/dist/destinations/stackadapt/forwardEvent/generated-types.js +3 -0
  236. package/dist/destinations/stackadapt/forwardEvent/generated-types.js.map +1 -0
  237. package/dist/destinations/stackadapt/forwardEvent/index.js +273 -0
  238. package/dist/destinations/stackadapt/forwardEvent/index.js.map +1 -0
  239. package/dist/destinations/stackadapt/generated-types.d.ts +3 -0
  240. package/dist/destinations/stackadapt/generated-types.js +3 -0
  241. package/dist/destinations/stackadapt/generated-types.js.map +1 -0
  242. package/dist/destinations/stackadapt/index.d.ts +4 -0
  243. package/dist/destinations/stackadapt/index.js +38 -0
  244. package/dist/destinations/stackadapt/index.js.map +1 -0
  245. package/dist/destinations/{tiktok-conversions → tiktok-offline-conversions/reportOfflineEvent}/formatter.js +11 -11
  246. package/dist/destinations/tiktok-offline-conversions/reportOfflineEvent/formatter.js.map +1 -0
  247. package/dist/destinations/trackey/group.types.d.ts +11 -0
  248. package/dist/destinations/trackey/group.types.js +3 -0
  249. package/dist/destinations/trackey/group.types.js.map +1 -0
  250. package/dist/destinations/trackey/identify.types.d.ts +11 -0
  251. package/dist/destinations/trackey/identify.types.js +3 -0
  252. package/dist/destinations/trackey/identify.types.js.map +1 -0
  253. package/dist/destinations/trackey/track.types.d.ts +12 -0
  254. package/dist/destinations/trackey/track.types.js +3 -0
  255. package/dist/destinations/trackey/track.types.js.map +1 -0
  256. package/package.json +2 -2
  257. package/dist/destinations/customerio/mergePeople/generated-types.d.ts +0 -4
  258. package/dist/destinations/customerio/mergePeople/generated-types.js.map +0 -1
  259. package/dist/destinations/customerio/mergePeople/index.js +0 -52
  260. package/dist/destinations/customerio/mergePeople/index.js.map +0 -1
  261. package/dist/destinations/mixpanel/incrementProperties/__test__/__snapshots__/snapshot.test.js.snap +0 -18
  262. package/dist/destinations/tiktok-conversions/common_fields.d.ts +0 -2
  263. package/dist/destinations/tiktok-conversions/common_fields.js +0 -245
  264. package/dist/destinations/tiktok-conversions/common_fields.js.map +0 -1
  265. package/dist/destinations/tiktok-conversions/formatter.js.map +0 -1
  266. package/dist/destinations/tiktok-conversions/utils.d.ts +0 -4
  267. package/dist/destinations/tiktok-conversions/utils.js +0 -65
  268. package/dist/destinations/tiktok-conversions/utils.js.map +0 -1
  269. package/dist/destinations/{customerio/mergePeople → avo}/generated-types.js +0 -0
  270. package/dist/destinations/{customerio/mergePeople → stackadapt/forwardEvent}/index.d.ts +0 -0
  271. package/dist/destinations/{tiktok-conversions → tiktok-offline-conversions/reportOfflineEvent}/formatter.d.ts +1 -1
@@ -0,0 +1,499 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.capiV3tests = void 0;
7
+ const nock_1 = __importDefault(require("nock"));
8
+ const actions_core_1 = require("@segment/actions-core");
9
+ const index_1 = __importDefault(require("../index"));
10
+ const testDestination = actions_core_1.createTestIntegration(index_1.default);
11
+ const timestamp = '2022-05-12T15:21:15.449Z';
12
+ const settings = {
13
+ snap_app_id: 'test123',
14
+ pixel_id: 'test123',
15
+ app_id: 'test123'
16
+ };
17
+ const accessToken = 'test123';
18
+ const refreshToken = 'test123';
19
+ const testEvent = actions_core_1.createTestEvent({
20
+ timestamp: timestamp,
21
+ messageId: 'test-message-rv4t40s898k',
22
+ event: 'PURCHASE',
23
+ type: 'track',
24
+ properties: {
25
+ email: ' Test123@gmail.com ',
26
+ phone: '+44 844 412 4653',
27
+ event_tag: 'back-to-school',
28
+ number_items: 10,
29
+ revenue: '15',
30
+ currency: 'USD',
31
+ level: 3
32
+ }
33
+ });
34
+ const features = {
35
+ ['actions-snap-api-migration-test-capiv3']: false,
36
+ ['actions-snap-api-migration-use-capiv3']: true
37
+ };
38
+ const capiV3tests = () => describe('CAPIv3 Implementation', () => {
39
+ it('should use products array over number_items, product_id and category fields', async () => {
40
+ nock_1.default(/.*/).post(/.*/).reply(200);
41
+ const event = actions_core_1.createTestEvent({
42
+ ...testEvent,
43
+ properties: {
44
+ email: 'test123@gmail.com',
45
+ phone: '+44 844 412 4653',
46
+ event_tag: 'back-to-school',
47
+ quantity: 10,
48
+ revenue: '15',
49
+ currency: 'USD',
50
+ level: 3,
51
+ products: [
52
+ { product_id: '123', category: 'games', brand: 'Hasbro' },
53
+ { product_id: '456', category: 'games', brand: 'Mattel' }
54
+ ]
55
+ },
56
+ context: {}
57
+ });
58
+ const responses = await testDestination.testAction('reportConversionEvent', {
59
+ event,
60
+ settings,
61
+ useDefaultMappings: true,
62
+ auth: {
63
+ accessToken,
64
+ refreshToken
65
+ },
66
+ features,
67
+ mapping: {
68
+ event_type: 'PURCHASE',
69
+ event_conversion_type: 'WEB'
70
+ }
71
+ });
72
+ expect(responses).not.toBeNull();
73
+ expect(responses[0].status).toBe(200);
74
+ const body = JSON.parse(responses[0].options.body);
75
+ const { data } = body;
76
+ expect(data.length).toBe(1);
77
+ const { integration, event_name, event_time, user_data, custom_data, action_source, app_data } = data[0];
78
+ const { em, ph } = user_data;
79
+ const { brands, content_category, content_ids, currency, num_items, value } = custom_data;
80
+ expect(integration).toBe('segment');
81
+ expect(event_name).toBe('PURCHASE');
82
+ expect(event_time).toBe(1652368875449);
83
+ expect(em[0]).toBe('cc779c04191c2e736d89e45c11339c8382832bcaf70383f7df94e3d08ba7a6d9');
84
+ expect(ph[0]).toBe('dc008fda46e2e64002cf2f82a4906236282d431c4f75e5b60bfe79fc48546383');
85
+ expect(currency).toBe('USD');
86
+ expect(value).toBe(15);
87
+ expect(action_source).toBe('website');
88
+ expect(app_data).toBeUndefined();
89
+ expect(brands).toEqual(['Hasbro', 'Mattel']);
90
+ expect(content_category).toEqual(['games', 'games']);
91
+ expect(content_ids).toEqual(['123', '456']);
92
+ expect(num_items).toBe(2);
93
+ });
94
+ it('should handle a basic event', async () => {
95
+ nock_1.default(/.*/).post(/.*/).reply(200);
96
+ const event = actions_core_1.createTestEvent(testEvent);
97
+ const responses = await testDestination.testAction('reportConversionEvent', {
98
+ event,
99
+ settings,
100
+ useDefaultMappings: true,
101
+ auth: {
102
+ accessToken,
103
+ refreshToken
104
+ },
105
+ features,
106
+ mapping: {
107
+ event_type: 'PURCHASE',
108
+ event_conversion_type: 'WEB'
109
+ }
110
+ });
111
+ expect(responses).not.toBeNull();
112
+ expect(responses[0].status).toBe(200);
113
+ const body = JSON.parse(responses[0].options.body);
114
+ const { data } = body;
115
+ expect(data.length).toBe(1);
116
+ const { integration, event_name, event_source_url, event_time, user_data, custom_data, action_source, app_data } = data[0];
117
+ const { client_ip_address, client_user_agent, em, ph } = user_data;
118
+ const { currency, value } = custom_data;
119
+ expect(integration).toBe('segment');
120
+ expect(event_name).toBe('PURCHASE');
121
+ expect(event_source_url).toBe('https://segment.com/academy/');
122
+ expect(event_time).toBe(1652368875449);
123
+ expect(client_ip_address).toBe('8.8.8.8');
124
+ expect(client_user_agent).toBe('Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1');
125
+ expect(em[0]).toBe('cc779c04191c2e736d89e45c11339c8382832bcaf70383f7df94e3d08ba7a6d9');
126
+ expect(ph[0]).toBe('dc008fda46e2e64002cf2f82a4906236282d431c4f75e5b60bfe79fc48546383');
127
+ expect(currency).toBe('USD');
128
+ expect(value).toBe(15);
129
+ expect(action_source).toBe('website');
130
+ expect(app_data).toBeUndefined();
131
+ });
132
+ it('should fail web event without pixel_id', async () => {
133
+ nock_1.default(/.*/).post(/.*/).reply(200);
134
+ const event = actions_core_1.createTestEvent(testEvent);
135
+ await expect(testDestination.testAction('reportConversionEvent', {
136
+ event,
137
+ settings: {
138
+ snap_app_id: 'test123'
139
+ },
140
+ useDefaultMappings: true,
141
+ auth: {
142
+ accessToken,
143
+ refreshToken
144
+ },
145
+ features,
146
+ mapping: {
147
+ event_type: 'PURCHASE',
148
+ event_conversion_type: 'WEB'
149
+ }
150
+ })).rejects.toThrowError('If event conversion type is "WEB" then Pixel ID must be defined');
151
+ });
152
+ it('should fail app event without snap_app_id', async () => {
153
+ nock_1.default(/.*/).post(/.*/).reply(200);
154
+ const event = actions_core_1.createTestEvent(testEvent);
155
+ await expect(testDestination.testAction('reportConversionEvent', {
156
+ event,
157
+ settings: {
158
+ pixel_id: 'test123',
159
+ app_id: 'test123'
160
+ },
161
+ useDefaultMappings: true,
162
+ auth: {
163
+ accessToken,
164
+ refreshToken
165
+ },
166
+ features,
167
+ mapping: {
168
+ event_type: 'PURCHASE',
169
+ event_conversion_type: 'MOBILE_APP'
170
+ }
171
+ })).rejects.toThrowError('If event conversion type is "MOBILE_APP" then Snap App ID and App ID must be defined');
172
+ });
173
+ it('should handle an offline event conversion type', async () => {
174
+ nock_1.default(/.*/).post(/.*/).reply(200);
175
+ const event = actions_core_1.createTestEvent(testEvent);
176
+ const responses = await testDestination.testAction('reportConversionEvent', {
177
+ event,
178
+ settings,
179
+ useDefaultMappings: true,
180
+ auth: {
181
+ accessToken,
182
+ refreshToken
183
+ },
184
+ features,
185
+ mapping: {
186
+ event_type: 'SAVE',
187
+ event_conversion_type: 'OFFLINE'
188
+ }
189
+ });
190
+ expect(responses).not.toBeNull();
191
+ expect(responses[0].status).toBe(200);
192
+ const body = JSON.parse(responses[0].options.body);
193
+ const { data } = body;
194
+ expect(data.length).toBe(1);
195
+ const { integration, event_name, event_source_url, event_time, user_data, custom_data, action_source, app_data } = data[0];
196
+ const { client_ip_address, client_user_agent, em, ph } = user_data;
197
+ const { currency, value } = custom_data;
198
+ expect(integration).toBe('segment');
199
+ expect(event_name).toBe('SAVE');
200
+ expect(event_source_url).toBe('https://segment.com/academy/');
201
+ expect(event_time).toBe(1652368875449);
202
+ expect(client_ip_address).toBe('8.8.8.8');
203
+ expect(client_user_agent).toBe('Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1');
204
+ expect(em[0]).toBe('cc779c04191c2e736d89e45c11339c8382832bcaf70383f7df94e3d08ba7a6d9');
205
+ expect(ph[0]).toBe('dc008fda46e2e64002cf2f82a4906236282d431c4f75e5b60bfe79fc48546383');
206
+ expect(currency).toBe('USD');
207
+ expect(value).toBe(15);
208
+ expect(action_source).toBe('other');
209
+ expect(app_data).toBeUndefined();
210
+ });
211
+ it('should handle a mobile app event conversion type', async () => {
212
+ nock_1.default(/.*/).post(/.*/).reply(200);
213
+ const event = actions_core_1.createTestEvent(testEvent);
214
+ const responses = await testDestination.testAction('reportConversionEvent', {
215
+ event,
216
+ settings: {
217
+ snap_app_id: '123',
218
+ app_id: '123'
219
+ },
220
+ useDefaultMappings: true,
221
+ auth: {
222
+ accessToken,
223
+ refreshToken
224
+ },
225
+ features,
226
+ mapping: {
227
+ device_model: 'iPhone12,1',
228
+ os_version: '17.2',
229
+ event_type: 'SAVE',
230
+ event_conversion_type: 'MOBILE_APP'
231
+ }
232
+ });
233
+ expect(responses[0].status).toBe(200);
234
+ const body = JSON.parse(responses[0].options.body);
235
+ const { data } = body;
236
+ expect(data.length).toBe(1);
237
+ const { integration, event_name, event_source_url, event_time, user_data, custom_data, action_source, app_data } = data[0];
238
+ const { client_ip_address, client_user_agent, em, ph } = user_data;
239
+ const { currency, value } = custom_data;
240
+ expect(integration).toBe('segment');
241
+ expect(event_name).toBe('SAVE');
242
+ expect(event_source_url).toBe('https://segment.com/academy/');
243
+ expect(event_time).toBe(1652368875449);
244
+ expect(client_ip_address).toBe('8.8.8.8');
245
+ expect(client_user_agent).toBe('Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1');
246
+ expect(em[0]).toBe('cc779c04191c2e736d89e45c11339c8382832bcaf70383f7df94e3d08ba7a6d9');
247
+ expect(ph[0]).toBe('dc008fda46e2e64002cf2f82a4906236282d431c4f75e5b60bfe79fc48546383');
248
+ expect(currency).toBe('USD');
249
+ expect(value).toBe(15);
250
+ expect(action_source).toBe('app');
251
+ expect(app_data.extinfo).toEqual(['i2', '', '', '', '17.2', 'iPhone12,1', '', '', '', '', '', '', '', '', '', '']);
252
+ });
253
+ it('should fail invalid currency', async () => {
254
+ nock_1.default(/.*/).post(/.*/).reply(200);
255
+ const event = actions_core_1.createTestEvent({
256
+ ...testEvent,
257
+ properties: {
258
+ currency: 'Galleon'
259
+ }
260
+ });
261
+ await expect(testDestination.testAction('reportConversionEvent', {
262
+ event,
263
+ settings,
264
+ useDefaultMappings: true,
265
+ auth: {
266
+ accessToken,
267
+ refreshToken
268
+ },
269
+ features,
270
+ mapping: {
271
+ event_type: 'PURCHASE',
272
+ event_conversion_type: 'WEB'
273
+ }
274
+ })).rejects.toThrowError('Galleon is not a valid currency code.');
275
+ });
276
+ it('should fail missing event conversion type', async () => {
277
+ nock_1.default(/.*/).post(/.*/).reply(200);
278
+ const event = actions_core_1.createTestEvent(testEvent);
279
+ await expect(testDestination.testAction('reportConversionEvent', {
280
+ event,
281
+ settings,
282
+ useDefaultMappings: true,
283
+ auth: {
284
+ accessToken,
285
+ refreshToken
286
+ },
287
+ features,
288
+ mapping: {
289
+ event_type: 'PURCHASE'
290
+ }
291
+ })).rejects.toThrowError("The root value is missing the required field 'event_conversion_type'.");
292
+ });
293
+ it('should handle a custom event', async () => {
294
+ nock_1.default(/.*/).post(/.*/).reply(200);
295
+ const event = actions_core_1.createTestEvent({
296
+ ...testEvent,
297
+ event: 'CUSTOM_EVENT_5'
298
+ });
299
+ const responses = await testDestination.testAction('reportConversionEvent', {
300
+ event,
301
+ settings: {
302
+ snap_app_id: '123',
303
+ app_id: '123'
304
+ },
305
+ useDefaultMappings: true,
306
+ auth: {
307
+ accessToken,
308
+ refreshToken
309
+ },
310
+ features,
311
+ mapping: {
312
+ event_type: { '@path': '$.event' },
313
+ event_conversion_type: 'MOBILE_APP'
314
+ }
315
+ });
316
+ expect(responses).not.toBeNull();
317
+ expect(responses[0].status).toBe(200);
318
+ const body = JSON.parse(responses[0].options.body);
319
+ const { data } = body;
320
+ expect(data.length).toBe(1);
321
+ const { integration, event_name, event_source_url, event_time, user_data, custom_data, action_source, app_data } = data[0];
322
+ const { client_ip_address, client_user_agent, em, ph } = user_data;
323
+ const { currency, value } = custom_data;
324
+ expect(integration).toBe('segment');
325
+ expect(event_name).toBe('CUSTOM_EVENT_5');
326
+ expect(event_source_url).toBe('https://segment.com/academy/');
327
+ expect(event_time).toBe(1652368875449);
328
+ expect(client_ip_address).toBe('8.8.8.8');
329
+ expect(client_user_agent).toBe('Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1');
330
+ expect(em[0]).toBe('cc779c04191c2e736d89e45c11339c8382832bcaf70383f7df94e3d08ba7a6d9');
331
+ expect(ph[0]).toBe('dc008fda46e2e64002cf2f82a4906236282d431c4f75e5b60bfe79fc48546383');
332
+ expect(currency).toBe('USD');
333
+ expect(value).toBe(15);
334
+ expect(action_source).toBe('app');
335
+ expect(app_data).toBeUndefined();
336
+ });
337
+ it('should fail event missing all Snap identifiers', async () => {
338
+ const event = actions_core_1.createTestEvent({
339
+ ...testEvent,
340
+ properties: {},
341
+ context: {}
342
+ });
343
+ await expect(testDestination.testAction('reportConversionEvent', {
344
+ event,
345
+ settings,
346
+ useDefaultMappings: true,
347
+ auth: {
348
+ accessToken,
349
+ refreshToken
350
+ },
351
+ features,
352
+ mapping: {
353
+ event_type: 'PURCHASE',
354
+ event_conversion_type: 'WEB'
355
+ }
356
+ })).rejects.toThrowError('Payload must contain values for Email or Phone Number or Mobile Ad Identifier or both IP Address and User Agent fields');
357
+ });
358
+ it('should handle event with email as only Snap identifier', async () => {
359
+ nock_1.default(/.*/).post(/.*/).reply(200);
360
+ const event = actions_core_1.createTestEvent({
361
+ ...testEvent,
362
+ properties: {
363
+ email: 'test123@gmail.com'
364
+ },
365
+ context: {}
366
+ });
367
+ const responses = await testDestination.testAction('reportConversionEvent', {
368
+ event,
369
+ settings,
370
+ useDefaultMappings: true,
371
+ auth: {
372
+ accessToken,
373
+ refreshToken
374
+ },
375
+ features,
376
+ mapping: {
377
+ event_type: 'PURCHASE',
378
+ event_conversion_type: 'WEB'
379
+ }
380
+ });
381
+ expect(responses).not.toBeNull();
382
+ expect(responses[0].status).toBe(200);
383
+ const body = JSON.parse(responses[0].options.body);
384
+ const { data } = body;
385
+ expect(data.length).toBe(1);
386
+ const { integration, event_name, event_time, user_data, action_source } = data[0];
387
+ const { em } = user_data;
388
+ expect(integration).toBe('segment');
389
+ expect(event_name).toBe('PURCHASE');
390
+ expect(event_time).toBe(1652368875449);
391
+ expect(em[0]).toBe('cc779c04191c2e736d89e45c11339c8382832bcaf70383f7df94e3d08ba7a6d9');
392
+ expect(action_source).toBe('website');
393
+ });
394
+ it('should handle event with phone as only Snap identifier', async () => {
395
+ nock_1.default(/.*/).post(/.*/).reply(200);
396
+ const event = actions_core_1.createTestEvent({
397
+ ...testEvent,
398
+ properties: {
399
+ phone: '+44 844 412 4653'
400
+ },
401
+ context: {}
402
+ });
403
+ const responses = await testDestination.testAction('reportConversionEvent', {
404
+ event,
405
+ settings,
406
+ useDefaultMappings: true,
407
+ auth: {
408
+ accessToken,
409
+ refreshToken
410
+ },
411
+ features,
412
+ mapping: {
413
+ event_type: 'PURCHASE',
414
+ event_conversion_type: 'WEB'
415
+ }
416
+ });
417
+ const body = JSON.parse(responses[0].options.body);
418
+ const { data } = body;
419
+ expect(data.length).toBe(1);
420
+ const { integration, event_name, event_time, user_data, action_source } = data[0];
421
+ const { ph } = user_data;
422
+ expect(integration).toBe('segment');
423
+ expect(event_name).toBe('PURCHASE');
424
+ expect(event_time).toBe(1652368875449);
425
+ expect(ph[0]).toBe('dc008fda46e2e64002cf2f82a4906236282d431c4f75e5b60bfe79fc48546383');
426
+ expect(action_source).toBe('website');
427
+ });
428
+ it('should handle event with advertising_id as only Snap identifier', async () => {
429
+ nock_1.default(/.*/).post(/.*/).reply(200);
430
+ const advertisingId = '87a7def4-b6e9-4bf7-91b6-66372842007a';
431
+ const event = actions_core_1.createTestEvent({
432
+ ...testEvent,
433
+ properties: {},
434
+ context: {
435
+ device: {
436
+ advertisingId
437
+ }
438
+ }
439
+ });
440
+ const responses = await testDestination.testAction('reportConversionEvent', {
441
+ event,
442
+ settings,
443
+ useDefaultMappings: true,
444
+ auth: {
445
+ accessToken,
446
+ refreshToken
447
+ },
448
+ features,
449
+ mapping: {
450
+ event_type: 'PURCHASE',
451
+ event_conversion_type: 'WEB'
452
+ }
453
+ });
454
+ const body = JSON.parse(responses[0].options.body);
455
+ const { data } = body;
456
+ expect(data.length).toBe(1);
457
+ const { integration, event_name, event_time, user_data, action_source } = data[0];
458
+ const { madid } = user_data;
459
+ expect(integration).toBe('segment');
460
+ expect(event_name).toBe('PURCHASE');
461
+ expect(event_time).toBe(1652368875449);
462
+ expect(madid).toBe(advertisingId);
463
+ expect(action_source).toBe('website');
464
+ });
465
+ it('should handle event with ip and user_agent as only Snap identifiers', async () => {
466
+ nock_1.default(/.*/).post(/.*/).reply(200);
467
+ const event = actions_core_1.createTestEvent({
468
+ ...testEvent,
469
+ properties: {}
470
+ });
471
+ const responses = await testDestination.testAction('reportConversionEvent', {
472
+ event,
473
+ settings,
474
+ useDefaultMappings: true,
475
+ auth: {
476
+ accessToken,
477
+ refreshToken
478
+ },
479
+ features,
480
+ mapping: {
481
+ event_type: 'PURCHASE',
482
+ event_conversion_type: 'WEB'
483
+ }
484
+ });
485
+ const body = JSON.parse(responses[0].options.body);
486
+ const { data } = body;
487
+ expect(data.length).toBe(1);
488
+ const { integration, event_name, event_time, user_data, action_source } = data[0];
489
+ const { client_ip_address, client_user_agent } = user_data;
490
+ expect(integration).toBe('segment');
491
+ expect(event_name).toBe('PURCHASE');
492
+ expect(event_time).toBe(1652368875449);
493
+ expect(client_ip_address).toBe('8.8.8.8');
494
+ expect(client_user_agent).toBe('Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1');
495
+ expect(action_source).toBe('website');
496
+ });
497
+ });
498
+ exports.capiV3tests = capiV3tests;
499
+ //# sourceMappingURL=capiV3tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capiV3tests.js","sourceRoot":"","sources":["../../../../src/destinations/snap-conversions-api/_tests_/capiV3tests.ts"],"names":[],"mappings":"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"}